import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CronJobLogOrderByWithRelationInputObjectSchema as CronJobLogOrderByWithRelationInputObjectSchema } from './objects/CronJobLogOrderByWithRelationInput.schema';
import { CronJobLogWhereInputObjectSchema as CronJobLogWhereInputObjectSchema } from './objects/CronJobLogWhereInput.schema';
import { CronJobLogWhereUniqueInputObjectSchema as CronJobLogWhereUniqueInputObjectSchema } from './objects/CronJobLogWhereUniqueInput.schema';
import { CronJobLogScalarFieldEnumSchema } from './enums/CronJobLogScalarFieldEnum.schema';

// Select schema needs to be in file to prevent circular imports
//------------------------------------------------------

export const CronJobLogFindFirstOrThrowSelectSchema: z.ZodType<Prisma.CronJobLogSelect> = z.object({
    id: z.boolean().optional(),
    jobName: z.boolean().optional(),
    status: z.boolean().optional(),
    startedAt: z.boolean().optional(),
    completedAt: z.boolean().optional(),
    durationMs: z.boolean().optional(),
    errorMessage: z.boolean().optional()
  }).strict() as unknown as z.ZodType<Prisma.CronJobLogSelect>;

export const CronJobLogFindFirstOrThrowSelectZodSchema = z.object({
    id: z.boolean().optional(),
    jobName: z.boolean().optional(),
    status: z.boolean().optional(),
    startedAt: z.boolean().optional(),
    completedAt: z.boolean().optional(),
    durationMs: z.boolean().optional(),
    errorMessage: z.boolean().optional()
  }).strict();

export const CronJobLogFindFirstOrThrowSchema: z.ZodType<Prisma.CronJobLogFindFirstOrThrowArgs> = z.object({ select: CronJobLogFindFirstOrThrowSelectSchema.optional(),  orderBy: z.union([CronJobLogOrderByWithRelationInputObjectSchema, CronJobLogOrderByWithRelationInputObjectSchema.array()]).optional(), where: CronJobLogWhereInputObjectSchema.optional(), cursor: CronJobLogWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CronJobLogScalarFieldEnumSchema, CronJobLogScalarFieldEnumSchema.array()]).optional() }).strict() as unknown as z.ZodType<Prisma.CronJobLogFindFirstOrThrowArgs>;

export const CronJobLogFindFirstOrThrowZodSchema = z.object({ select: CronJobLogFindFirstOrThrowSelectSchema.optional(),  orderBy: z.union([CronJobLogOrderByWithRelationInputObjectSchema, CronJobLogOrderByWithRelationInputObjectSchema.array()]).optional(), where: CronJobLogWhereInputObjectSchema.optional(), cursor: CronJobLogWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CronJobLogScalarFieldEnumSchema, CronJobLogScalarFieldEnumSchema.array()]).optional() }).strict();