import { z } from "zod/v4"; import { PrinterConfigurationInputSchema } from "../api/domain/printer-configuration-values"; export type { PrinterConfigurationInput } from "../api/domain/printer-configuration-values"; export { PRINTER_STATE_TRANSITIONS, PrinterConfigurationInputSchema, } from "../api/domain/printer-configuration-values"; export const PrinterParamsSchema = z.strictObject({ companyId: z.uuid() }); export const PrinterItemParamsSchema = PrinterParamsSchema.extend({ id: z.uuid() }); export const SavePrinterConfigurationRequestSchema = z.strictObject({ values: PrinterConfigurationInputSchema, }); export const PrinterConfigurationSchema = z.strictObject({ id: z.uuid(), companyId: z.uuid(), values: PrinterConfigurationInputSchema, needsReview: z.boolean(), history: z .array( z.strictObject({ id: z.uuid(), actorId: z.uuid(), actorName: z.string().min(1), recordedAt: z.iso.datetime(), values: PrinterConfigurationInputSchema, }) ) .min(1), }); export const PrinterConfigurationsResponseSchema = z.strictObject({ configurations: z.array(PrinterConfigurationSchema), }); export const PrinterConfigurationResponseSchema = z.strictObject({ configuration: PrinterConfigurationSchema, }); export type PrinterConfigurationDTO = z.infer;