import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CloudFileCreateWithoutUserInputObjectSchema as CloudFileCreateWithoutUserInputObjectSchema } from './CloudFileCreateWithoutUserInput.schema';
import { CloudFileUncheckedCreateWithoutUserInputObjectSchema as CloudFileUncheckedCreateWithoutUserInputObjectSchema } from './CloudFileUncheckedCreateWithoutUserInput.schema';
import { CloudFileCreateOrConnectWithoutUserInputObjectSchema as CloudFileCreateOrConnectWithoutUserInputObjectSchema } from './CloudFileCreateOrConnectWithoutUserInput.schema';
import { CloudFileUpsertWithWhereUniqueWithoutUserInputObjectSchema as CloudFileUpsertWithWhereUniqueWithoutUserInputObjectSchema } from './CloudFileUpsertWithWhereUniqueWithoutUserInput.schema';
import { CloudFileCreateManyUserInputEnvelopeObjectSchema as CloudFileCreateManyUserInputEnvelopeObjectSchema } from './CloudFileCreateManyUserInputEnvelope.schema';
import { CloudFileWhereUniqueInputObjectSchema as CloudFileWhereUniqueInputObjectSchema } from './CloudFileWhereUniqueInput.schema';
import { CloudFileUpdateWithWhereUniqueWithoutUserInputObjectSchema as CloudFileUpdateWithWhereUniqueWithoutUserInputObjectSchema } from './CloudFileUpdateWithWhereUniqueWithoutUserInput.schema';
import { CloudFileUpdateManyWithWhereWithoutUserInputObjectSchema as CloudFileUpdateManyWithWhereWithoutUserInputObjectSchema } from './CloudFileUpdateManyWithWhereWithoutUserInput.schema';
import { CloudFileScalarWhereInputObjectSchema as CloudFileScalarWhereInputObjectSchema } from './CloudFileScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => CloudFileCreateWithoutUserInputObjectSchema), z.lazy(() => CloudFileCreateWithoutUserInputObjectSchema).array(), z.lazy(() => CloudFileUncheckedCreateWithoutUserInputObjectSchema), z.lazy(() => CloudFileUncheckedCreateWithoutUserInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => CloudFileCreateOrConnectWithoutUserInputObjectSchema), z.lazy(() => CloudFileCreateOrConnectWithoutUserInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => CloudFileUpsertWithWhereUniqueWithoutUserInputObjectSchema), z.lazy(() => CloudFileUpsertWithWhereUniqueWithoutUserInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => CloudFileCreateManyUserInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => CloudFileWhereUniqueInputObjectSchema), z.lazy(() => CloudFileWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => CloudFileWhereUniqueInputObjectSchema), z.lazy(() => CloudFileWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => CloudFileWhereUniqueInputObjectSchema), z.lazy(() => CloudFileWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => CloudFileWhereUniqueInputObjectSchema), z.lazy(() => CloudFileWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => CloudFileUpdateWithWhereUniqueWithoutUserInputObjectSchema), z.lazy(() => CloudFileUpdateWithWhereUniqueWithoutUserInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => CloudFileUpdateManyWithWhereWithoutUserInputObjectSchema), z.lazy(() => CloudFileUpdateManyWithWhereWithoutUserInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => CloudFileScalarWhereInputObjectSchema), z.lazy(() => CloudFileScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const CloudFileUpdateManyWithoutUserNestedInputObjectSchema: z.ZodType<Prisma.CloudFileUpdateManyWithoutUserNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.CloudFileUpdateManyWithoutUserNestedInput>;
export const CloudFileUpdateManyWithoutUserNestedInputObjectZodSchema = makeSchema();
