metis-desk/modules/companies/src/common/folder-mappings.ts

34 lines
1.1 KiB
TypeScript
Raw Normal View History

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 });
export const FolderMappingSchema = z.strictObject({
id: z.uuid(),
companyId: z.uuid(),
values: FolderMappingInputSchema,
needsReview: z.boolean(),
permissionsCovered: z.boolean(),
history: z
.array(
z.strictObject({
id: z.uuid(),
actorId: z.uuid(),
actorName: z.string().min(1),
recordedAt: z.iso.datetime(),
values: FolderMappingInputSchema,
})
)
.min(1),
2026-10-05 10:02:04 +00:00
});
export const FolderMappingsResponseSchema = z.strictObject({
mappings: z.array(FolderMappingSchema),
});
export const FolderMappingResponseSchema = z.strictObject({ mapping: FolderMappingSchema });
export type FolderMappingDTO = z.infer<typeof FolderMappingSchema>;