metis-desk/modules/companies/src/common/printer-configurations.ts

39 lines
1.3 KiB
TypeScript

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<typeof PrinterConfigurationSchema>;