import * as z from 'zod'; import type { Prisma } from '../../../generated/prisma'; import { PaymentStatusSchema } from '../enums/PaymentStatus.schema'; import { ClaimCreateNestedOneWithoutPaymentInputObjectSchema as ClaimCreateNestedOneWithoutPaymentInputObjectSchema } from './ClaimCreateNestedOneWithoutPaymentInput.schema'; import { PatientCreateNestedOneWithoutPaymentInputObjectSchema as PatientCreateNestedOneWithoutPaymentInputObjectSchema } from './PatientCreateNestedOneWithoutPaymentInput.schema'; import { UserCreateNestedOneWithoutUpdatedPaymentsInputObjectSchema as UserCreateNestedOneWithoutUpdatedPaymentsInputObjectSchema } from './UserCreateNestedOneWithoutUpdatedPaymentsInput.schema'; import { ServiceLineCreateNestedManyWithoutPaymentInputObjectSchema as ServiceLineCreateNestedManyWithoutPaymentInputObjectSchema } from './ServiceLineCreateNestedManyWithoutPaymentInput.schema' import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers'; import Decimal from "decimal.js"; const makeSchema = () => z.object({ userId: z.number().int(), 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", }), status: PaymentStatusSchema.optional(), notes: z.string().optional().nullable(), icn: z.string().optional().nullable(), createdAt: z.coerce.date().optional(), updatedAt: z.coerce.date().optional(), claim: z.lazy(() => ClaimCreateNestedOneWithoutPaymentInputObjectSchema).optional(), patient: z.lazy(() => PatientCreateNestedOneWithoutPaymentInputObjectSchema), updatedBy: z.lazy(() => UserCreateNestedOneWithoutUpdatedPaymentsInputObjectSchema).optional(), serviceLines: z.lazy(() => ServiceLineCreateNestedManyWithoutPaymentInputObjectSchema).optional() }).strict(); export const PaymentCreateWithoutServiceLineTransactionsInputObjectSchema: z.ZodType = makeSchema() as unknown as z.ZodType; export const PaymentCreateWithoutServiceLineTransactionsInputObjectZodSchema = makeSchema();