import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentCreateWithoutUserInputObjectSchema as AppointmentCreateWithoutUserInputObjectSchema } from './AppointmentCreateWithoutUserInput.schema';
import { AppointmentUncheckedCreateWithoutUserInputObjectSchema as AppointmentUncheckedCreateWithoutUserInputObjectSchema } from './AppointmentUncheckedCreateWithoutUserInput.schema';
import { AppointmentCreateOrConnectWithoutUserInputObjectSchema as AppointmentCreateOrConnectWithoutUserInputObjectSchema } from './AppointmentCreateOrConnectWithoutUserInput.schema';
import { AppointmentUpsertWithWhereUniqueWithoutUserInputObjectSchema as AppointmentUpsertWithWhereUniqueWithoutUserInputObjectSchema } from './AppointmentUpsertWithWhereUniqueWithoutUserInput.schema';
import { AppointmentCreateManyUserInputEnvelopeObjectSchema as AppointmentCreateManyUserInputEnvelopeObjectSchema } from './AppointmentCreateManyUserInputEnvelope.schema';
import { AppointmentWhereUniqueInputObjectSchema as AppointmentWhereUniqueInputObjectSchema } from './AppointmentWhereUniqueInput.schema';
import { AppointmentUpdateWithWhereUniqueWithoutUserInputObjectSchema as AppointmentUpdateWithWhereUniqueWithoutUserInputObjectSchema } from './AppointmentUpdateWithWhereUniqueWithoutUserInput.schema';
import { AppointmentUpdateManyWithWhereWithoutUserInputObjectSchema as AppointmentUpdateManyWithWhereWithoutUserInputObjectSchema } from './AppointmentUpdateManyWithWhereWithoutUserInput.schema';
import { AppointmentScalarWhereInputObjectSchema as AppointmentScalarWhereInputObjectSchema } from './AppointmentScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => AppointmentCreateWithoutUserInputObjectSchema), z.lazy(() => AppointmentCreateWithoutUserInputObjectSchema).array(), z.lazy(() => AppointmentUncheckedCreateWithoutUserInputObjectSchema), z.lazy(() => AppointmentUncheckedCreateWithoutUserInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => AppointmentCreateOrConnectWithoutUserInputObjectSchema), z.lazy(() => AppointmentCreateOrConnectWithoutUserInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => AppointmentUpsertWithWhereUniqueWithoutUserInputObjectSchema), z.lazy(() => AppointmentUpsertWithWhereUniqueWithoutUserInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => AppointmentCreateManyUserInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => AppointmentWhereUniqueInputObjectSchema), z.lazy(() => AppointmentWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => AppointmentWhereUniqueInputObjectSchema), z.lazy(() => AppointmentWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => AppointmentWhereUniqueInputObjectSchema), z.lazy(() => AppointmentWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => AppointmentWhereUniqueInputObjectSchema), z.lazy(() => AppointmentWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => AppointmentUpdateWithWhereUniqueWithoutUserInputObjectSchema), z.lazy(() => AppointmentUpdateWithWhereUniqueWithoutUserInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => AppointmentUpdateManyWithWhereWithoutUserInputObjectSchema), z.lazy(() => AppointmentUpdateManyWithWhereWithoutUserInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => AppointmentScalarWhereInputObjectSchema), z.lazy(() => AppointmentScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const AppointmentUncheckedUpdateManyWithoutUserNestedInputObjectSchema: z.ZodType<Prisma.AppointmentUncheckedUpdateManyWithoutUserNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentUncheckedUpdateManyWithoutUserNestedInput>;
export const AppointmentUncheckedUpdateManyWithoutUserNestedInputObjectZodSchema = makeSchema();
