import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CloudFolderCreateNestedOneWithoutChildrenInputObjectSchema as CloudFolderCreateNestedOneWithoutChildrenInputObjectSchema } from './CloudFolderCreateNestedOneWithoutChildrenInput.schema';
import { UserCreateNestedOneWithoutCloudFoldersInputObjectSchema as UserCreateNestedOneWithoutCloudFoldersInputObjectSchema } from './UserCreateNestedOneWithoutCloudFoldersInput.schema';
import { PatientCreateNestedOneWithoutCloudFoldersInputObjectSchema as PatientCreateNestedOneWithoutCloudFoldersInputObjectSchema } from './PatientCreateNestedOneWithoutCloudFoldersInput.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(),
  user: z.lazy(() => UserCreateNestedOneWithoutCloudFoldersInputObjectSchema),
  patient: z.lazy(() => PatientCreateNestedOneWithoutCloudFoldersInputObjectSchema).optional(),
  files: z.lazy(() => CloudFileCreateNestedManyWithoutFolderInputObjectSchema).optional()
}).strict();
export const CloudFolderCreateWithoutChildrenInputObjectSchema: z.ZodType<Prisma.CloudFolderCreateWithoutChildrenInput> = makeSchema() as unknown as z.ZodType<Prisma.CloudFolderCreateWithoutChildrenInput>;
export const CloudFolderCreateWithoutChildrenInputObjectZodSchema = makeSchema();
