24 lines
846 B
TypeScript
24 lines
846 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>;
|