import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CloudFolderCreateNestedOneWithoutChildrenInputObjectSchema as CloudFolderCreateNestedOneWithoutChildrenInputObjectSchema } from './CloudFolderCreateNestedOneWithoutChildrenInput.schema';
import { CloudFolderCreateNestedManyWithoutParentInputObjectSchema as CloudFolderCreateNestedManyWithoutParentInputObjectSchema } from './CloudFolderCreateNestedManyWithoutParentInput.schema';
import { UserCreateNestedOneWithoutCloudFoldersInputObjectSchema as UserCreateNestedOneWithoutCloudFoldersInputObjectSchema } from './UserCreateNestedOneWithoutCloudFoldersInput.schema';
import { CloudFileCreateNestedManyWithoutFolderInputObjectSchema as CloudFileCreateNestedManyWithoutFolderInputObjectSchema } from './CloudFileCreateNestedManyWithoutFolderInput.schema'

const makeSchema = () => z.object({
  name: z.string(),
  createdAt: z.coerce.date().optional(),
  updatedAt: z.coerce.date().optional(),
  parent: z.lazy(() => CloudFolderCreateNestedOneWithoutChildrenInputObjectSchema).optional(),
  children: z.lazy(() => CloudFolderCreateNestedManyWithoutParentInputObjectSchema).optional(),
  user: z.lazy(() => UserCreateNestedOneWithoutCloudFoldersInputObjectSchema),
  files: z.lazy(() => CloudFileCreateNestedManyWithoutFolderInputObjectSchema).optional()
}).strict();
export const CloudFolderCreateWithoutPatientInputObjectSchema: z.ZodType<Prisma.CloudFolderCreateWithoutPatientInput> = makeSchema() as unknown as z.ZodType<Prisma.CloudFolderCreateWithoutPatientInput>;
export const CloudFolderCreateWithoutPatientInputObjectZodSchema = makeSchema();
