import { subjectIdFromQuery } from "./subject-birth.ts"; export function normalizeReportSubjectRequest(rawBody: unknown): { subjectId: string; body: unknown; mismatch: boolean; } { if (!rawBody || typeof rawBody !== "object" || Array.isArray(rawBody)) { return { subjectId: "self", body: rawBody, mismatch: false }; } const body = { ...rawBody } as Record; const mismatch = "subjectId" in body && "chartProfileId" in body && subjectIdFromQuery(body.subjectId) !== subjectIdFromQuery(body.chartProfileId); const subjectId = subjectIdFromQuery("chartProfileId" in body ? body.chartProfileId : body.subjectId); delete body.subjectId; body.chartProfileId = subjectId === "self" ? null : subjectId; return { subjectId, body, mismatch }; }