import { z } from "zod/v4"; import { MailConfigurationInputSchema } from "../api/domain/mail-configuration-values"; export type { MailConfigurationInput } from "../api/domain/mail-configuration-values"; export { MailConfigurationInputSchema, MailMethodSchema, MailStateSchema, } from "../api/domain/mail-configuration-values"; export const MailParamsSchema = z.strictObject({ companyId: z.uuid() }); export const MailItemParamsSchema = MailParamsSchema.extend({ id: z.uuid() }); export const SaveMailRequestSchema = z.strictObject({ values: MailConfigurationInputSchema }); export const MailRevisionSchema = z.strictObject({ id: z.uuid(), values: MailConfigurationInputSchema, actorId: z.uuid(), actorName: z.string().min(1), recordedAt: z.iso.datetime(), }); export const MailConfigurationSchema = z.strictObject({ id: z.uuid(), companyId: z.uuid(), values: MailConfigurationInputSchema, history: z.array(MailRevisionSchema).min(1), needsReview: z.boolean(), }); export const MailConfigurationsResponseSchema = z.strictObject({ configurations: z.array(MailConfigurationSchema), }); export const MailConfigurationResponseSchema = z.strictObject({ configuration: MailConfigurationSchema, }); export type MailConfigurationDTO = z.infer; export { MAIL_STATE_TRANSITIONS } from "../api/domain/mail-configuration-values";