import type { ExportMaskPolicy } from "../../constants/export"; type ExportManifestStats = { dataRows: number; files: number; bytes: number; }; export type ExportManifest = { schemaVersion: number; exportedAt: string; exportCutoffAt: string; userId: number; maskPolicy: ExportMaskPolicy; stats: ExportManifestStats; checksums: { data: Array<{ file: string; sha256: string }>; files: Array<{ file: string; sha256: string }>; }; }; export function buildExportManifest(params: { schemaVersion: number; userId: number; maskPolicy: ExportMaskPolicy; exportedAt: Date; exportCutoffAt: Date; stats: ExportManifestStats; dataChecksums: Array<{ file: string; sha256: string }>; fileChecksums: Array<{ file: string; sha256: string }>; }): ExportManifest { return { schemaVersion: params.schemaVersion, exportedAt: params.exportedAt.toISOString(), exportCutoffAt: params.exportCutoffAt.toISOString(), userId: params.userId, maskPolicy: params.maskPolicy, stats: params.stats, checksums: { data: params.dataChecksums, files: params.fileChecksums, }, }; }