metis-desk/modules/assets/src/common/workstations.ts
2026-10-10 12:01:58 +02:00

29 lines
851 B
TypeScript

import { z } from "zod/v4";
import { WorkstationInputSchema } from "../api/domain/workstation-values";
export type { WorkstationInput } from "../api/domain/workstation-values";
export { WorkstationInputSchema };
export const SaveWorkstationRequestSchema = z.strictObject({ values: WorkstationInputSchema });
export const WorkstationRevisionSchema = z.strictObject({
id: z.uuid(),
values: WorkstationInputSchema,
actorId: z.uuid(),
actorName: z.string().min(1),
recordedAt: z.iso.datetime(),
});
export const WorkstationSchema = z.strictObject({
id: z.uuid(),
companyId: z.uuid(),
values: WorkstationInputSchema,
history: z.array(WorkstationRevisionSchema).min(1),
});
export const WorkstationResponseSchema = z.strictObject({ workstation: WorkstationSchema });
export type WorkstationDTO = z.infer<typeof WorkstationSchema>;