import { z } from "zod/v4"; import { FolderMappingInputSchema } from "../api/domain/folder-mapping-values"; export type { FolderMappingInput } from "../api/domain/folder-mapping-values"; export { FOLDER_STATE_TRANSITIONS, FolderMappingInputSchema, } from "../api/domain/folder-mapping-values"; export const SaveFolderMappingRequestSchema = z.strictObject({ values: FolderMappingInputSchema, expectedRevisionId: z.uuid().optional(), }); export const FolderMappingSchema = z.strictObject({ id: z.uuid(), companyId: z.uuid(), values: FolderMappingInputSchema, needsReview: z.boolean(), permissionsCovered: z.boolean(), accessAccountCoverage: z.enum(["unknown", "covered", "not-covered"]), history: z .array( z.strictObject({ id: z.uuid(), actorId: z.uuid(), actorName: z.string().min(1), recordedAt: z.iso.datetime(), values: FolderMappingInputSchema, }) ) .min(1), }); export const FolderMappingsResponseSchema = z.strictObject({ mappings: z.array(FolderMappingSchema), }); export const FolderMappingResponseSchema = z.strictObject({ mapping: FolderMappingSchema }); export type FolderMappingDTO = z.infer;