import { EXPORT_MASK_POLICIES, type ExportMaskPolicy } from "../constants/export"; import { createError } from "h3"; type MeExportRequestBody = { maskPolicy?: unknown; }; export function parseMeExportRequestBody(body: unknown): { maskPolicy: ExportMaskPolicy } { const payload = (body && typeof body === "object" ? body : {}) as MeExportRequestBody; const raw = payload.maskPolicy; if (raw === undefined || raw === null || raw === "") { return { maskPolicy: "masked" }; } if (typeof raw !== "string" || !EXPORT_MASK_POLICIES.includes(raw as ExportMaskPolicy)) { throw createError({ statusCode: 400, statusMessage: "maskPolicy 非法,仅支持 masked|raw" }); } return { maskPolicy: raw as ExportMaskPolicy }; }