import type { SimulationFunction } from '@x12i/api-simulator'; import type { Member } from '../data/members.js'; /** * GET /members/:memberId * * This handler never touches the ledger -- it reads straight from * `SimulationContext.data`, which is the same `data.members` array the * `members-api` was created with. Simple lookups don't need a separate store. */ export const getMember: SimulationFunction = ({ request, data }) => { const members = (data as { members?: Member[] }).members ?? []; const member = members.find((candidate) => candidate.id === request.params.memberId); if (!member) { return { status: 404, body: { error: 'MEMBER_NOT_FOUND', message: `No member with id ${request.params.memberId}.` } }; } return { status: 200, body: member }; };