import * as z from "zod" import * as imports from "../zod-utils" import { BookingStatus } from "@prisma/client" import { CompleteUser, UserModel, CompleteBookingReference, BookingReferenceModel, CompleteEventType, EventTypeModel, CompleteAttendee, AttendeeModel, CompleteDailyEventReference, DailyEventReferenceModel, CompletePayment, PaymentModel, CompleteDestinationCalendar, DestinationCalendarModel } from "./index" export const _BookingModel = z.object({ id: z.number().int(), uid: z.string(), userId: z.number().int().nullish(), eventTypeId: z.number().int().nullish(), title: z.string(), description: z.string().nullish(), startTime: z.date(), endTime: z.date(), location: z.string().nullish(), createdAt: z.date(), updatedAt: z.date().nullish(), confirmed: z.boolean(), rejected: z.boolean(), status: z.nativeEnum(BookingStatus), paid: z.boolean(), cancellationReason: z.string().nullish(), rejectionReason: z.string().nullish(), }) export interface CompleteBooking extends z.infer { user?: CompleteUser | null references: CompleteBookingReference[] eventType?: CompleteEventType | null attendees: CompleteAttendee[] dailyRef?: CompleteDailyEventReference | null payment: CompletePayment[] destinationCalendar?: CompleteDestinationCalendar | null } /** * BookingModel contains all relations on your model in addition to the scalars * * NOTE: Lazy required in case of potential circular dependencies within schema */ export const BookingModel: z.ZodSchema = z.lazy(() => _BookingModel.extend({ user: UserModel.nullish(), references: BookingReferenceModel.array(), eventType: EventTypeModel.nullish(), attendees: AttendeeModel.array(), dailyRef: DailyEventReferenceModel.nullish(), payment: PaymentModel.array(), destinationCalendar: DestinationCalendarModel.nullish(), }))