import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { SortOrderSchema } from '../enums/SortOrder.schema';
import { PatientDocumentCountOrderByAggregateInputObjectSchema as PatientDocumentCountOrderByAggregateInputObjectSchema } from './PatientDocumentCountOrderByAggregateInput.schema';
import { PatientDocumentAvgOrderByAggregateInputObjectSchema as PatientDocumentAvgOrderByAggregateInputObjectSchema } from './PatientDocumentAvgOrderByAggregateInput.schema';
import { PatientDocumentMaxOrderByAggregateInputObjectSchema as PatientDocumentMaxOrderByAggregateInputObjectSchema } from './PatientDocumentMaxOrderByAggregateInput.schema';
import { PatientDocumentMinOrderByAggregateInputObjectSchema as PatientDocumentMinOrderByAggregateInputObjectSchema } from './PatientDocumentMinOrderByAggregateInput.schema';
import { PatientDocumentSumOrderByAggregateInputObjectSchema as PatientDocumentSumOrderByAggregateInputObjectSchema } from './PatientDocumentSumOrderByAggregateInput.schema'

const makeSchema = () => z.object({
  id: SortOrderSchema.optional(),
  patientId: SortOrderSchema.optional(),
  filename: SortOrderSchema.optional(),
  originalName: SortOrderSchema.optional(),
  mimeType: SortOrderSchema.optional(),
  fileSize: SortOrderSchema.optional(),
  filePath: SortOrderSchema.optional(),
  uploadedAt: SortOrderSchema.optional(),
  updatedAt: SortOrderSchema.optional(),
  _count: z.lazy(() => PatientDocumentCountOrderByAggregateInputObjectSchema).optional(),
  _avg: z.lazy(() => PatientDocumentAvgOrderByAggregateInputObjectSchema).optional(),
  _max: z.lazy(() => PatientDocumentMaxOrderByAggregateInputObjectSchema).optional(),
  _min: z.lazy(() => PatientDocumentMinOrderByAggregateInputObjectSchema).optional(),
  _sum: z.lazy(() => PatientDocumentSumOrderByAggregateInputObjectSchema).optional()
}).strict();
export const PatientDocumentOrderByWithAggregationInputObjectSchema: z.ZodType<Prisma.PatientDocumentOrderByWithAggregationInput> = makeSchema() as unknown as z.ZodType<Prisma.PatientDocumentOrderByWithAggregationInput>;
export const PatientDocumentOrderByWithAggregationInputObjectZodSchema = makeSchema();
