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

40 lines
1.2 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";
2026-10-10 10:01:58 +00:00
export const SaveFolderMappingRequestSchema = z.strictObject({ values: FolderMappingInputSchema });
2026-10-10 10:01:58 +00:00
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),
2026-10-05 10:02:04 +00:00
});
2026-10-10 10:01:58 +00:00
export const FolderMappingsResponseSchema = z.strictObject({
mappings: z.array(FolderMappingSchema),
});
2026-10-10 10:01:58 +00:00
export const FolderMappingResponseSchema = z.strictObject({ mapping: FolderMappingSchema });
2026-10-10 10:01:58 +00:00
export type FolderMappingDTO = z.infer<typeof FolderMappingSchema>;