import { z } from "zod"; import { numberFromForm, nonNegativeNumberFromForm, intIdFromForm, } from "./common"; const ScopeSectionSchema = z.object({ title: z.string().max(255).nullish(), title_cz: z.string().max(255).nullish(), content: z.string().max(8000).nullish(), position: nonNegativeNumberFromForm.optional(), }); export const CreateScopeTemplateSchema = z.object({ name: z.string().max(255).nullish(), title: z.string().max(255).nullish(), description: z.string().max(8000).nullish(), sections: z.array(ScopeSectionSchema).optional(), }); export const CreateItemTemplateSchema = z.object({ id: intIdFromForm.optional(), name: z.string().max(255).nullish(), description: z.string().max(8000).nullish(), default_price: numberFromForm.optional().default(0), category: z.string().max(255).nullish(), }); export const UpdateScopeTemplateSchema = z.object({ name: z.string().max(255).optional(), title: z.string().max(255).optional(), description: z.string().max(8000).optional(), sections: z.array(ScopeSectionSchema).optional(), }); export type CreateScopeTemplateInput = z.infer< typeof CreateScopeTemplateSchema >; export type CreateItemTemplateInput = z.infer; export type UpdateScopeTemplateInput = z.infer< typeof UpdateScopeTemplateSchema >;