import * as z from 'zod'; import type { Prisma } from '../../../generated/prisma'; import { ProcedureSourceSchema } from '../enums/ProcedureSource.schema'; import { AppointmentCreateNestedOneWithoutProceduresInputObjectSchema as AppointmentCreateNestedOneWithoutProceduresInputObjectSchema } from './AppointmentCreateNestedOneWithoutProceduresInput.schema' import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers'; import Decimal from "decimal.js"; const makeSchema = () => z.object({ procedureCode: z.string(), procedureLabel: z.string().optional().nullable(), fee: z.union([ z.number(), z.string(), z.instanceof(Decimal), z.instanceof(Decimal), DecimalJSLikeSchema, ]).refine((v) => isValidDecimalInput(v), { message: "Field 'fee' must be a Decimal", }).optional().nullable(), category: z.string().optional().nullable(), toothNumber: z.string().optional().nullable(), toothSurface: z.string().optional().nullable(), oralCavityArea: z.string().optional().nullable(), source: ProcedureSourceSchema.optional(), comboKey: z.string().optional().nullable(), createdAt: z.coerce.date().optional(), appointment: z.lazy(() => AppointmentCreateNestedOneWithoutProceduresInputObjectSchema) }).strict(); export const AppointmentProcedureCreateWithoutPatientInputObjectSchema: z.ZodType = makeSchema() as unknown as z.ZodType; export const AppointmentProcedureCreateWithoutPatientInputObjectZodSchema = makeSchema();