import * as z from 'zod'; import type { Prisma } from '../../../generated/prisma'; import { ServiceLineStatusSchema } from '../enums/ServiceLineStatus.schema'; import { ClaimCreateNestedOneWithoutServiceLinesInputObjectSchema as ClaimCreateNestedOneWithoutServiceLinesInputObjectSchema } from './ClaimCreateNestedOneWithoutServiceLinesInput.schema'; import { ServiceLineTransactionCreateNestedManyWithoutServiceLineInputObjectSchema as ServiceLineTransactionCreateNestedManyWithoutServiceLineInputObjectSchema } from './ServiceLineTransactionCreateNestedManyWithoutServiceLineInput.schema' import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers'; import Decimal from "decimal.js"; const makeSchema = () => z.object({ procedureCode: z.string(), procedureDate: z.coerce.date(), quad: z.string().optional().nullable(), arch: z.string().optional().nullable(), toothNumber: z.string().optional().nullable(), toothSurface: z.string().optional().nullable(), totalBilled: z.union([ z.number(), z.string(), z.instanceof(Decimal), z.instanceof(Decimal), DecimalJSLikeSchema, ]).refine((v) => isValidDecimalInput(v), { message: "Field 'totalBilled' must be a Decimal", }), totalPaid: z.union([ z.number(), z.string(), z.instanceof(Decimal), z.instanceof(Decimal), DecimalJSLikeSchema, ]).refine((v) => isValidDecimalInput(v), { message: "Field 'totalPaid' must be a Decimal", }).optional(), totalAdjusted: z.union([ z.number(), z.string(), z.instanceof(Decimal), z.instanceof(Decimal), DecimalJSLikeSchema, ]).refine((v) => isValidDecimalInput(v), { message: "Field 'totalAdjusted' must be a Decimal", }).optional(), totalDue: z.union([ z.number(), z.string(), z.instanceof(Decimal), z.instanceof(Decimal), DecimalJSLikeSchema, ]).refine((v) => isValidDecimalInput(v), { message: "Field 'totalDue' must be a Decimal", }).optional(), status: ServiceLineStatusSchema.optional(), claim: z.lazy(() => ClaimCreateNestedOneWithoutServiceLinesInputObjectSchema).optional(), serviceLineTransactions: z.lazy(() => ServiceLineTransactionCreateNestedManyWithoutServiceLineInputObjectSchema).optional() }).strict(); export const ServiceLineCreateWithoutPaymentInputObjectSchema: z.ZodType = makeSchema() as unknown as z.ZodType; export const ServiceLineCreateWithoutPaymentInputObjectZodSchema = makeSchema();