import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { SortOrderSchema } from '../enums/SortOrder.schema';
import { SortOrderInputObjectSchema as SortOrderInputObjectSchema } from './SortOrderInput.schema';
import { CloudFolderOrderByRelationAggregateInputObjectSchema as CloudFolderOrderByRelationAggregateInputObjectSchema } from './CloudFolderOrderByRelationAggregateInput.schema';
import { UserOrderByWithRelationInputObjectSchema as UserOrderByWithRelationInputObjectSchema } from './UserOrderByWithRelationInput.schema';
import { PatientOrderByWithRelationInputObjectSchema as PatientOrderByWithRelationInputObjectSchema } from './PatientOrderByWithRelationInput.schema';
import { CloudFileOrderByRelationAggregateInputObjectSchema as CloudFileOrderByRelationAggregateInputObjectSchema } from './CloudFileOrderByRelationAggregateInput.schema'

const cloudfolderorderbywithrelationinputSchema = z.object({
  id: SortOrderSchema.optional(),
  userId: SortOrderSchema.optional(),
  name: SortOrderSchema.optional(),
  parentId: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
  patientId: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
  createdAt: SortOrderSchema.optional(),
  updatedAt: SortOrderSchema.optional(),
  parent: z.lazy(() => CloudFolderOrderByWithRelationInputObjectSchema).optional(),
  children: z.lazy(() => CloudFolderOrderByRelationAggregateInputObjectSchema).optional(),
  user: z.lazy(() => UserOrderByWithRelationInputObjectSchema).optional(),
  patient: z.lazy(() => PatientOrderByWithRelationInputObjectSchema).optional(),
  files: z.lazy(() => CloudFileOrderByRelationAggregateInputObjectSchema).optional()
}).strict();
export const CloudFolderOrderByWithRelationInputObjectSchema: z.ZodType<Prisma.CloudFolderOrderByWithRelationInput> = cloudfolderorderbywithrelationinputSchema as unknown as z.ZodType<Prisma.CloudFolderOrderByWithRelationInput>;
export const CloudFolderOrderByWithRelationInputObjectZodSchema = cloudfolderorderbywithrelationinputSchema;
