import { z } from "zod/v4"; import { MailboxInputSchema, MailboxUseInputSchema } from "../api/domain/mailbox-values"; export type { MailboxInput, MailboxUseInput } from "../api/domain/mailbox-values"; export { MailboxInputSchema, MailboxUseInputSchema }; export const MailboxRequestSchema = z.strictObject({ values: MailboxInputSchema }); export const MailboxUseRequestSchema = z.strictObject({ values: MailboxUseInputSchema }); const audit = { id: z.uuid(), actorId: z.uuid(), actorName: z.string().min(1), recordedAt: z.iso.datetime(), }; export const MailboxSchema = z.strictObject({ id: z.uuid(), companyId: z.uuid(), values: MailboxInputSchema, history: z.array(z.strictObject({ ...audit, values: MailboxInputSchema })).min(1), }); export const MailboxUseSchema = z.strictObject({ id: z.uuid(), companyId: z.uuid(), values: MailboxUseInputSchema, history: z.array(z.strictObject({ ...audit, values: MailboxUseInputSchema })).min(1), }); export const MailboxesResponseSchema = z.strictObject({ mailboxes: z.array(MailboxSchema), uses: z.array(MailboxUseSchema), savedId: z.uuid().optional(), }); export type MailboxDTO = z.infer; export type MailboxUseDTO = z.infer;