import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { UserCreateWithoutAppointmentsInputObjectSchema as UserCreateWithoutAppointmentsInputObjectSchema } from './UserCreateWithoutAppointmentsInput.schema';
import { UserUncheckedCreateWithoutAppointmentsInputObjectSchema as UserUncheckedCreateWithoutAppointmentsInputObjectSchema } from './UserUncheckedCreateWithoutAppointmentsInput.schema';
import { UserCreateOrConnectWithoutAppointmentsInputObjectSchema as UserCreateOrConnectWithoutAppointmentsInputObjectSchema } from './UserCreateOrConnectWithoutAppointmentsInput.schema';
import { UserUpsertWithoutAppointmentsInputObjectSchema as UserUpsertWithoutAppointmentsInputObjectSchema } from './UserUpsertWithoutAppointmentsInput.schema';
import { UserWhereUniqueInputObjectSchema as UserWhereUniqueInputObjectSchema } from './UserWhereUniqueInput.schema';
import { UserUpdateToOneWithWhereWithoutAppointmentsInputObjectSchema as UserUpdateToOneWithWhereWithoutAppointmentsInputObjectSchema } from './UserUpdateToOneWithWhereWithoutAppointmentsInput.schema';
import { UserUpdateWithoutAppointmentsInputObjectSchema as UserUpdateWithoutAppointmentsInputObjectSchema } from './UserUpdateWithoutAppointmentsInput.schema';
import { UserUncheckedUpdateWithoutAppointmentsInputObjectSchema as UserUncheckedUpdateWithoutAppointmentsInputObjectSchema } from './UserUncheckedUpdateWithoutAppointmentsInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => UserCreateWithoutAppointmentsInputObjectSchema), z.lazy(() => UserUncheckedCreateWithoutAppointmentsInputObjectSchema)]).optional(),
  connectOrCreate: z.lazy(() => UserCreateOrConnectWithoutAppointmentsInputObjectSchema).optional(),
  upsert: z.lazy(() => UserUpsertWithoutAppointmentsInputObjectSchema).optional(),
  connect: z.lazy(() => UserWhereUniqueInputObjectSchema).optional(),
  update: z.union([z.lazy(() => UserUpdateToOneWithWhereWithoutAppointmentsInputObjectSchema), z.lazy(() => UserUpdateWithoutAppointmentsInputObjectSchema), z.lazy(() => UserUncheckedUpdateWithoutAppointmentsInputObjectSchema)]).optional()
}).strict();
export const UserUpdateOneRequiredWithoutAppointmentsNestedInputObjectSchema: z.ZodType<Prisma.UserUpdateOneRequiredWithoutAppointmentsNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.UserUpdateOneRequiredWithoutAppointmentsNestedInput>;
export const UserUpdateOneRequiredWithoutAppointmentsNestedInputObjectZodSchema = makeSchema();
