Files
playzer/apps/backend/src/generated/prisma/models/CourtBooking.ts
Jose Selesan 260d79fc99 feat: implement public booking cancellation feature
- Added cancelPublicBooking handler to manage booking cancellations.
- Updated public booking service to include cancellation logic.
- Created cancelPublicBooking schema for input validation.
- Modified public booking confirmation page to allow users to cancel their bookings.
- Enhanced email service to send cancellation confirmation emails.
- Made customerEmail field required in booking schemas and updated related components.
- Updated API client to support cancellation requests.
- Added migration to enforce non-nullable customer_email fields in the database.
2026-06-05 11:24:02 -03:00

1602 lines
61 KiB
TypeScript

/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck
/*
* This file exports the `CourtBooking` model and its related types.
*
* 🟢 You can import this file directly.
*/
import type * as runtime from "@prisma/client/runtime/client"
import type * as $Enums from "../enums"
import type * as Prisma from "../internal/prismaNamespace"
/**
* Model CourtBooking
*
*/
export type CourtBookingModel = runtime.Types.Result.DefaultSelection<Prisma.$CourtBookingPayload>
export type AggregateCourtBooking = {
_count: CourtBookingCountAggregateOutputType | null
_min: CourtBookingMinAggregateOutputType | null
_max: CourtBookingMaxAggregateOutputType | null
}
export type CourtBookingMinAggregateOutputType = {
id: string | null
bookingCode: string | null
courtId: string | null
bookingDate: Date | null
startTime: string | null
endTime: string | null
customerName: string | null
customerPhone: string | null
customerEmail: string | null
status: $Enums.CourtBookingStatus | null
createdAt: Date | null
updatedAt: Date | null
}
export type CourtBookingMaxAggregateOutputType = {
id: string | null
bookingCode: string | null
courtId: string | null
bookingDate: Date | null
startTime: string | null
endTime: string | null
customerName: string | null
customerPhone: string | null
customerEmail: string | null
status: $Enums.CourtBookingStatus | null
createdAt: Date | null
updatedAt: Date | null
}
export type CourtBookingCountAggregateOutputType = {
id: number
bookingCode: number
courtId: number
bookingDate: number
startTime: number
endTime: number
customerName: number
customerPhone: number
customerEmail: number
status: number
createdAt: number
updatedAt: number
_all: number
}
export type CourtBookingMinAggregateInputType = {
id?: true
bookingCode?: true
courtId?: true
bookingDate?: true
startTime?: true
endTime?: true
customerName?: true
customerPhone?: true
customerEmail?: true
status?: true
createdAt?: true
updatedAt?: true
}
export type CourtBookingMaxAggregateInputType = {
id?: true
bookingCode?: true
courtId?: true
bookingDate?: true
startTime?: true
endTime?: true
customerName?: true
customerPhone?: true
customerEmail?: true
status?: true
createdAt?: true
updatedAt?: true
}
export type CourtBookingCountAggregateInputType = {
id?: true
bookingCode?: true
courtId?: true
bookingDate?: true
startTime?: true
endTime?: true
customerName?: true
customerPhone?: true
customerEmail?: true
status?: true
createdAt?: true
updatedAt?: true
_all?: true
}
export type CourtBookingAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Filter which CourtBooking to aggregate.
*/
where?: Prisma.CourtBookingWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of CourtBookings to fetch.
*/
orderBy?: Prisma.CourtBookingOrderByWithRelationInput | Prisma.CourtBookingOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the start position
*/
cursor?: Prisma.CourtBookingWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` CourtBookings from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` CourtBookings.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Count returned CourtBookings
**/
_count?: true | CourtBookingCountAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the minimum value
**/
_min?: CourtBookingMinAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the maximum value
**/
_max?: CourtBookingMaxAggregateInputType
}
export type GetCourtBookingAggregateType<T extends CourtBookingAggregateArgs> = {
[P in keyof T & keyof AggregateCourtBooking]: P extends '_count' | 'count'
? T[P] extends true
? number
: Prisma.GetScalarType<T[P], AggregateCourtBooking[P]>
: Prisma.GetScalarType<T[P], AggregateCourtBooking[P]>
}
export type CourtBookingGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
where?: Prisma.CourtBookingWhereInput
orderBy?: Prisma.CourtBookingOrderByWithAggregationInput | Prisma.CourtBookingOrderByWithAggregationInput[]
by: Prisma.CourtBookingScalarFieldEnum[] | Prisma.CourtBookingScalarFieldEnum
having?: Prisma.CourtBookingScalarWhereWithAggregatesInput
take?: number
skip?: number
_count?: CourtBookingCountAggregateInputType | true
_min?: CourtBookingMinAggregateInputType
_max?: CourtBookingMaxAggregateInputType
}
export type CourtBookingGroupByOutputType = {
id: string
bookingCode: string
courtId: string
bookingDate: Date
startTime: string
endTime: string
customerName: string
customerPhone: string
customerEmail: string
status: $Enums.CourtBookingStatus
createdAt: Date
updatedAt: Date
_count: CourtBookingCountAggregateOutputType | null
_min: CourtBookingMinAggregateOutputType | null
_max: CourtBookingMaxAggregateOutputType | null
}
export type GetCourtBookingGroupByPayload<T extends CourtBookingGroupByArgs> = Prisma.PrismaPromise<
Array<
Prisma.PickEnumerable<CourtBookingGroupByOutputType, T['by']> &
{
[P in ((keyof T) & (keyof CourtBookingGroupByOutputType))]: P extends '_count'
? T[P] extends boolean
? number
: Prisma.GetScalarType<T[P], CourtBookingGroupByOutputType[P]>
: Prisma.GetScalarType<T[P], CourtBookingGroupByOutputType[P]>
}
>
>
export type CourtBookingWhereInput = {
AND?: Prisma.CourtBookingWhereInput | Prisma.CourtBookingWhereInput[]
OR?: Prisma.CourtBookingWhereInput[]
NOT?: Prisma.CourtBookingWhereInput | Prisma.CourtBookingWhereInput[]
id?: Prisma.UuidFilter<"CourtBooking"> | string
bookingCode?: Prisma.StringFilter<"CourtBooking"> | string
courtId?: Prisma.UuidFilter<"CourtBooking"> | string
bookingDate?: Prisma.DateTimeFilter<"CourtBooking"> | Date | string
startTime?: Prisma.StringFilter<"CourtBooking"> | string
endTime?: Prisma.StringFilter<"CourtBooking"> | string
customerName?: Prisma.StringFilter<"CourtBooking"> | string
customerPhone?: Prisma.StringFilter<"CourtBooking"> | string
customerEmail?: Prisma.StringFilter<"CourtBooking"> | string
status?: Prisma.EnumCourtBookingStatusFilter<"CourtBooking"> | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFilter<"CourtBooking"> | Date | string
updatedAt?: Prisma.DateTimeFilter<"CourtBooking"> | Date | string
court?: Prisma.XOR<Prisma.CourtScalarRelationFilter, Prisma.CourtWhereInput>
}
export type CourtBookingOrderByWithRelationInput = {
id?: Prisma.SortOrder
bookingCode?: Prisma.SortOrder
courtId?: Prisma.SortOrder
bookingDate?: Prisma.SortOrder
startTime?: Prisma.SortOrder
endTime?: Prisma.SortOrder
customerName?: Prisma.SortOrder
customerPhone?: Prisma.SortOrder
customerEmail?: Prisma.SortOrder
status?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
court?: Prisma.CourtOrderByWithRelationInput
}
export type CourtBookingWhereUniqueInput = Prisma.AtLeast<{
id?: string
bookingCode?: string
courtId_bookingDate_startTime?: Prisma.CourtBookingCourtIdBookingDateStartTimeCompoundUniqueInput
AND?: Prisma.CourtBookingWhereInput | Prisma.CourtBookingWhereInput[]
OR?: Prisma.CourtBookingWhereInput[]
NOT?: Prisma.CourtBookingWhereInput | Prisma.CourtBookingWhereInput[]
courtId?: Prisma.UuidFilter<"CourtBooking"> | string
bookingDate?: Prisma.DateTimeFilter<"CourtBooking"> | Date | string
startTime?: Prisma.StringFilter<"CourtBooking"> | string
endTime?: Prisma.StringFilter<"CourtBooking"> | string
customerName?: Prisma.StringFilter<"CourtBooking"> | string
customerPhone?: Prisma.StringFilter<"CourtBooking"> | string
customerEmail?: Prisma.StringFilter<"CourtBooking"> | string
status?: Prisma.EnumCourtBookingStatusFilter<"CourtBooking"> | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFilter<"CourtBooking"> | Date | string
updatedAt?: Prisma.DateTimeFilter<"CourtBooking"> | Date | string
court?: Prisma.XOR<Prisma.CourtScalarRelationFilter, Prisma.CourtWhereInput>
}, "id" | "bookingCode" | "courtId_bookingDate_startTime">
export type CourtBookingOrderByWithAggregationInput = {
id?: Prisma.SortOrder
bookingCode?: Prisma.SortOrder
courtId?: Prisma.SortOrder
bookingDate?: Prisma.SortOrder
startTime?: Prisma.SortOrder
endTime?: Prisma.SortOrder
customerName?: Prisma.SortOrder
customerPhone?: Prisma.SortOrder
customerEmail?: Prisma.SortOrder
status?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
_count?: Prisma.CourtBookingCountOrderByAggregateInput
_max?: Prisma.CourtBookingMaxOrderByAggregateInput
_min?: Prisma.CourtBookingMinOrderByAggregateInput
}
export type CourtBookingScalarWhereWithAggregatesInput = {
AND?: Prisma.CourtBookingScalarWhereWithAggregatesInput | Prisma.CourtBookingScalarWhereWithAggregatesInput[]
OR?: Prisma.CourtBookingScalarWhereWithAggregatesInput[]
NOT?: Prisma.CourtBookingScalarWhereWithAggregatesInput | Prisma.CourtBookingScalarWhereWithAggregatesInput[]
id?: Prisma.UuidWithAggregatesFilter<"CourtBooking"> | string
bookingCode?: Prisma.StringWithAggregatesFilter<"CourtBooking"> | string
courtId?: Prisma.UuidWithAggregatesFilter<"CourtBooking"> | string
bookingDate?: Prisma.DateTimeWithAggregatesFilter<"CourtBooking"> | Date | string
startTime?: Prisma.StringWithAggregatesFilter<"CourtBooking"> | string
endTime?: Prisma.StringWithAggregatesFilter<"CourtBooking"> | string
customerName?: Prisma.StringWithAggregatesFilter<"CourtBooking"> | string
customerPhone?: Prisma.StringWithAggregatesFilter<"CourtBooking"> | string
customerEmail?: Prisma.StringWithAggregatesFilter<"CourtBooking"> | string
status?: Prisma.EnumCourtBookingStatusWithAggregatesFilter<"CourtBooking"> | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeWithAggregatesFilter<"CourtBooking"> | Date | string
updatedAt?: Prisma.DateTimeWithAggregatesFilter<"CourtBooking"> | Date | string
}
export type CourtBookingCreateInput = {
id: string
bookingCode: string
bookingDate: Date | string
startTime: string
endTime: string
customerName: string
customerPhone: string
customerEmail: string
status?: $Enums.CourtBookingStatus
createdAt?: Date | string
updatedAt?: Date | string
court: Prisma.CourtCreateNestedOneWithoutBookingsInput
}
export type CourtBookingUncheckedCreateInput = {
id: string
bookingCode: string
courtId: string
bookingDate: Date | string
startTime: string
endTime: string
customerName: string
customerPhone: string
customerEmail: string
status?: $Enums.CourtBookingStatus
createdAt?: Date | string
updatedAt?: Date | string
}
export type CourtBookingUpdateInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
bookingCode?: Prisma.StringFieldUpdateOperationsInput | string
bookingDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
startTime?: Prisma.StringFieldUpdateOperationsInput | string
endTime?: Prisma.StringFieldUpdateOperationsInput | string
customerName?: Prisma.StringFieldUpdateOperationsInput | string
customerPhone?: Prisma.StringFieldUpdateOperationsInput | string
customerEmail?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumCourtBookingStatusFieldUpdateOperationsInput | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
court?: Prisma.CourtUpdateOneRequiredWithoutBookingsNestedInput
}
export type CourtBookingUncheckedUpdateInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
bookingCode?: Prisma.StringFieldUpdateOperationsInput | string
courtId?: Prisma.StringFieldUpdateOperationsInput | string
bookingDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
startTime?: Prisma.StringFieldUpdateOperationsInput | string
endTime?: Prisma.StringFieldUpdateOperationsInput | string
customerName?: Prisma.StringFieldUpdateOperationsInput | string
customerPhone?: Prisma.StringFieldUpdateOperationsInput | string
customerEmail?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumCourtBookingStatusFieldUpdateOperationsInput | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
export type CourtBookingCreateManyInput = {
id: string
bookingCode: string
courtId: string
bookingDate: Date | string
startTime: string
endTime: string
customerName: string
customerPhone: string
customerEmail: string
status?: $Enums.CourtBookingStatus
createdAt?: Date | string
updatedAt?: Date | string
}
export type CourtBookingUpdateManyMutationInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
bookingCode?: Prisma.StringFieldUpdateOperationsInput | string
bookingDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
startTime?: Prisma.StringFieldUpdateOperationsInput | string
endTime?: Prisma.StringFieldUpdateOperationsInput | string
customerName?: Prisma.StringFieldUpdateOperationsInput | string
customerPhone?: Prisma.StringFieldUpdateOperationsInput | string
customerEmail?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumCourtBookingStatusFieldUpdateOperationsInput | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
export type CourtBookingUncheckedUpdateManyInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
bookingCode?: Prisma.StringFieldUpdateOperationsInput | string
courtId?: Prisma.StringFieldUpdateOperationsInput | string
bookingDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
startTime?: Prisma.StringFieldUpdateOperationsInput | string
endTime?: Prisma.StringFieldUpdateOperationsInput | string
customerName?: Prisma.StringFieldUpdateOperationsInput | string
customerPhone?: Prisma.StringFieldUpdateOperationsInput | string
customerEmail?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumCourtBookingStatusFieldUpdateOperationsInput | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
export type CourtBookingListRelationFilter = {
every?: Prisma.CourtBookingWhereInput
some?: Prisma.CourtBookingWhereInput
none?: Prisma.CourtBookingWhereInput
}
export type CourtBookingOrderByRelationAggregateInput = {
_count?: Prisma.SortOrder
}
export type CourtBookingCourtIdBookingDateStartTimeCompoundUniqueInput = {
courtId: string
bookingDate: Date | string
startTime: string
}
export type CourtBookingCountOrderByAggregateInput = {
id?: Prisma.SortOrder
bookingCode?: Prisma.SortOrder
courtId?: Prisma.SortOrder
bookingDate?: Prisma.SortOrder
startTime?: Prisma.SortOrder
endTime?: Prisma.SortOrder
customerName?: Prisma.SortOrder
customerPhone?: Prisma.SortOrder
customerEmail?: Prisma.SortOrder
status?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
export type CourtBookingMaxOrderByAggregateInput = {
id?: Prisma.SortOrder
bookingCode?: Prisma.SortOrder
courtId?: Prisma.SortOrder
bookingDate?: Prisma.SortOrder
startTime?: Prisma.SortOrder
endTime?: Prisma.SortOrder
customerName?: Prisma.SortOrder
customerPhone?: Prisma.SortOrder
customerEmail?: Prisma.SortOrder
status?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
export type CourtBookingMinOrderByAggregateInput = {
id?: Prisma.SortOrder
bookingCode?: Prisma.SortOrder
courtId?: Prisma.SortOrder
bookingDate?: Prisma.SortOrder
startTime?: Prisma.SortOrder
endTime?: Prisma.SortOrder
customerName?: Prisma.SortOrder
customerPhone?: Prisma.SortOrder
customerEmail?: Prisma.SortOrder
status?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
export type CourtBookingCreateNestedManyWithoutCourtInput = {
create?: Prisma.XOR<Prisma.CourtBookingCreateWithoutCourtInput, Prisma.CourtBookingUncheckedCreateWithoutCourtInput> | Prisma.CourtBookingCreateWithoutCourtInput[] | Prisma.CourtBookingUncheckedCreateWithoutCourtInput[]
connectOrCreate?: Prisma.CourtBookingCreateOrConnectWithoutCourtInput | Prisma.CourtBookingCreateOrConnectWithoutCourtInput[]
createMany?: Prisma.CourtBookingCreateManyCourtInputEnvelope
connect?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
}
export type CourtBookingUncheckedCreateNestedManyWithoutCourtInput = {
create?: Prisma.XOR<Prisma.CourtBookingCreateWithoutCourtInput, Prisma.CourtBookingUncheckedCreateWithoutCourtInput> | Prisma.CourtBookingCreateWithoutCourtInput[] | Prisma.CourtBookingUncheckedCreateWithoutCourtInput[]
connectOrCreate?: Prisma.CourtBookingCreateOrConnectWithoutCourtInput | Prisma.CourtBookingCreateOrConnectWithoutCourtInput[]
createMany?: Prisma.CourtBookingCreateManyCourtInputEnvelope
connect?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
}
export type CourtBookingUpdateManyWithoutCourtNestedInput = {
create?: Prisma.XOR<Prisma.CourtBookingCreateWithoutCourtInput, Prisma.CourtBookingUncheckedCreateWithoutCourtInput> | Prisma.CourtBookingCreateWithoutCourtInput[] | Prisma.CourtBookingUncheckedCreateWithoutCourtInput[]
connectOrCreate?: Prisma.CourtBookingCreateOrConnectWithoutCourtInput | Prisma.CourtBookingCreateOrConnectWithoutCourtInput[]
upsert?: Prisma.CourtBookingUpsertWithWhereUniqueWithoutCourtInput | Prisma.CourtBookingUpsertWithWhereUniqueWithoutCourtInput[]
createMany?: Prisma.CourtBookingCreateManyCourtInputEnvelope
set?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
disconnect?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
delete?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
connect?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
update?: Prisma.CourtBookingUpdateWithWhereUniqueWithoutCourtInput | Prisma.CourtBookingUpdateWithWhereUniqueWithoutCourtInput[]
updateMany?: Prisma.CourtBookingUpdateManyWithWhereWithoutCourtInput | Prisma.CourtBookingUpdateManyWithWhereWithoutCourtInput[]
deleteMany?: Prisma.CourtBookingScalarWhereInput | Prisma.CourtBookingScalarWhereInput[]
}
export type CourtBookingUncheckedUpdateManyWithoutCourtNestedInput = {
create?: Prisma.XOR<Prisma.CourtBookingCreateWithoutCourtInput, Prisma.CourtBookingUncheckedCreateWithoutCourtInput> | Prisma.CourtBookingCreateWithoutCourtInput[] | Prisma.CourtBookingUncheckedCreateWithoutCourtInput[]
connectOrCreate?: Prisma.CourtBookingCreateOrConnectWithoutCourtInput | Prisma.CourtBookingCreateOrConnectWithoutCourtInput[]
upsert?: Prisma.CourtBookingUpsertWithWhereUniqueWithoutCourtInput | Prisma.CourtBookingUpsertWithWhereUniqueWithoutCourtInput[]
createMany?: Prisma.CourtBookingCreateManyCourtInputEnvelope
set?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
disconnect?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
delete?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
connect?: Prisma.CourtBookingWhereUniqueInput | Prisma.CourtBookingWhereUniqueInput[]
update?: Prisma.CourtBookingUpdateWithWhereUniqueWithoutCourtInput | Prisma.CourtBookingUpdateWithWhereUniqueWithoutCourtInput[]
updateMany?: Prisma.CourtBookingUpdateManyWithWhereWithoutCourtInput | Prisma.CourtBookingUpdateManyWithWhereWithoutCourtInput[]
deleteMany?: Prisma.CourtBookingScalarWhereInput | Prisma.CourtBookingScalarWhereInput[]
}
export type EnumCourtBookingStatusFieldUpdateOperationsInput = {
set?: $Enums.CourtBookingStatus
}
export type CourtBookingCreateWithoutCourtInput = {
id: string
bookingCode: string
bookingDate: Date | string
startTime: string
endTime: string
customerName: string
customerPhone: string
customerEmail: string
status?: $Enums.CourtBookingStatus
createdAt?: Date | string
updatedAt?: Date | string
}
export type CourtBookingUncheckedCreateWithoutCourtInput = {
id: string
bookingCode: string
bookingDate: Date | string
startTime: string
endTime: string
customerName: string
customerPhone: string
customerEmail: string
status?: $Enums.CourtBookingStatus
createdAt?: Date | string
updatedAt?: Date | string
}
export type CourtBookingCreateOrConnectWithoutCourtInput = {
where: Prisma.CourtBookingWhereUniqueInput
create: Prisma.XOR<Prisma.CourtBookingCreateWithoutCourtInput, Prisma.CourtBookingUncheckedCreateWithoutCourtInput>
}
export type CourtBookingCreateManyCourtInputEnvelope = {
data: Prisma.CourtBookingCreateManyCourtInput | Prisma.CourtBookingCreateManyCourtInput[]
skipDuplicates?: boolean
}
export type CourtBookingUpsertWithWhereUniqueWithoutCourtInput = {
where: Prisma.CourtBookingWhereUniqueInput
update: Prisma.XOR<Prisma.CourtBookingUpdateWithoutCourtInput, Prisma.CourtBookingUncheckedUpdateWithoutCourtInput>
create: Prisma.XOR<Prisma.CourtBookingCreateWithoutCourtInput, Prisma.CourtBookingUncheckedCreateWithoutCourtInput>
}
export type CourtBookingUpdateWithWhereUniqueWithoutCourtInput = {
where: Prisma.CourtBookingWhereUniqueInput
data: Prisma.XOR<Prisma.CourtBookingUpdateWithoutCourtInput, Prisma.CourtBookingUncheckedUpdateWithoutCourtInput>
}
export type CourtBookingUpdateManyWithWhereWithoutCourtInput = {
where: Prisma.CourtBookingScalarWhereInput
data: Prisma.XOR<Prisma.CourtBookingUpdateManyMutationInput, Prisma.CourtBookingUncheckedUpdateManyWithoutCourtInput>
}
export type CourtBookingScalarWhereInput = {
AND?: Prisma.CourtBookingScalarWhereInput | Prisma.CourtBookingScalarWhereInput[]
OR?: Prisma.CourtBookingScalarWhereInput[]
NOT?: Prisma.CourtBookingScalarWhereInput | Prisma.CourtBookingScalarWhereInput[]
id?: Prisma.UuidFilter<"CourtBooking"> | string
bookingCode?: Prisma.StringFilter<"CourtBooking"> | string
courtId?: Prisma.UuidFilter<"CourtBooking"> | string
bookingDate?: Prisma.DateTimeFilter<"CourtBooking"> | Date | string
startTime?: Prisma.StringFilter<"CourtBooking"> | string
endTime?: Prisma.StringFilter<"CourtBooking"> | string
customerName?: Prisma.StringFilter<"CourtBooking"> | string
customerPhone?: Prisma.StringFilter<"CourtBooking"> | string
customerEmail?: Prisma.StringFilter<"CourtBooking"> | string
status?: Prisma.EnumCourtBookingStatusFilter<"CourtBooking"> | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFilter<"CourtBooking"> | Date | string
updatedAt?: Prisma.DateTimeFilter<"CourtBooking"> | Date | string
}
export type CourtBookingCreateManyCourtInput = {
id: string
bookingCode: string
bookingDate: Date | string
startTime: string
endTime: string
customerName: string
customerPhone: string
customerEmail: string
status?: $Enums.CourtBookingStatus
createdAt?: Date | string
updatedAt?: Date | string
}
export type CourtBookingUpdateWithoutCourtInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
bookingCode?: Prisma.StringFieldUpdateOperationsInput | string
bookingDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
startTime?: Prisma.StringFieldUpdateOperationsInput | string
endTime?: Prisma.StringFieldUpdateOperationsInput | string
customerName?: Prisma.StringFieldUpdateOperationsInput | string
customerPhone?: Prisma.StringFieldUpdateOperationsInput | string
customerEmail?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumCourtBookingStatusFieldUpdateOperationsInput | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
export type CourtBookingUncheckedUpdateWithoutCourtInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
bookingCode?: Prisma.StringFieldUpdateOperationsInput | string
bookingDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
startTime?: Prisma.StringFieldUpdateOperationsInput | string
endTime?: Prisma.StringFieldUpdateOperationsInput | string
customerName?: Prisma.StringFieldUpdateOperationsInput | string
customerPhone?: Prisma.StringFieldUpdateOperationsInput | string
customerEmail?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumCourtBookingStatusFieldUpdateOperationsInput | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
export type CourtBookingUncheckedUpdateManyWithoutCourtInput = {
id?: Prisma.StringFieldUpdateOperationsInput | string
bookingCode?: Prisma.StringFieldUpdateOperationsInput | string
bookingDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
startTime?: Prisma.StringFieldUpdateOperationsInput | string
endTime?: Prisma.StringFieldUpdateOperationsInput | string
customerName?: Prisma.StringFieldUpdateOperationsInput | string
customerPhone?: Prisma.StringFieldUpdateOperationsInput | string
customerEmail?: Prisma.StringFieldUpdateOperationsInput | string
status?: Prisma.EnumCourtBookingStatusFieldUpdateOperationsInput | $Enums.CourtBookingStatus
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
export type CourtBookingSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
id?: boolean
bookingCode?: boolean
courtId?: boolean
bookingDate?: boolean
startTime?: boolean
endTime?: boolean
customerName?: boolean
customerPhone?: boolean
customerEmail?: boolean
status?: boolean
createdAt?: boolean
updatedAt?: boolean
court?: boolean | Prisma.CourtDefaultArgs<ExtArgs>
}, ExtArgs["result"]["courtBooking"]>
export type CourtBookingSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
id?: boolean
bookingCode?: boolean
courtId?: boolean
bookingDate?: boolean
startTime?: boolean
endTime?: boolean
customerName?: boolean
customerPhone?: boolean
customerEmail?: boolean
status?: boolean
createdAt?: boolean
updatedAt?: boolean
court?: boolean | Prisma.CourtDefaultArgs<ExtArgs>
}, ExtArgs["result"]["courtBooking"]>
export type CourtBookingSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
id?: boolean
bookingCode?: boolean
courtId?: boolean
bookingDate?: boolean
startTime?: boolean
endTime?: boolean
customerName?: boolean
customerPhone?: boolean
customerEmail?: boolean
status?: boolean
createdAt?: boolean
updatedAt?: boolean
court?: boolean | Prisma.CourtDefaultArgs<ExtArgs>
}, ExtArgs["result"]["courtBooking"]>
export type CourtBookingSelectScalar = {
id?: boolean
bookingCode?: boolean
courtId?: boolean
bookingDate?: boolean
startTime?: boolean
endTime?: boolean
customerName?: boolean
customerPhone?: boolean
customerEmail?: boolean
status?: boolean
createdAt?: boolean
updatedAt?: boolean
}
export type CourtBookingOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "bookingCode" | "courtId" | "bookingDate" | "startTime" | "endTime" | "customerName" | "customerPhone" | "customerEmail" | "status" | "createdAt" | "updatedAt", ExtArgs["result"]["courtBooking"]>
export type CourtBookingInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
court?: boolean | Prisma.CourtDefaultArgs<ExtArgs>
}
export type CourtBookingIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
court?: boolean | Prisma.CourtDefaultArgs<ExtArgs>
}
export type CourtBookingIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
court?: boolean | Prisma.CourtDefaultArgs<ExtArgs>
}
export type $CourtBookingPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
name: "CourtBooking"
objects: {
court: Prisma.$CourtPayload<ExtArgs>
}
scalars: runtime.Types.Extensions.GetPayloadResult<{
id: string
bookingCode: string
courtId: string
bookingDate: Date
startTime: string
endTime: string
customerName: string
customerPhone: string
customerEmail: string
status: $Enums.CourtBookingStatus
createdAt: Date
updatedAt: Date
}, ExtArgs["result"]["courtBooking"]>
composites: {}
}
export type CourtBookingGetPayload<S extends boolean | null | undefined | CourtBookingDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload, S>
export type CourtBookingCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> =
Omit<CourtBookingFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
select?: CourtBookingCountAggregateInputType | true
}
export interface CourtBookingDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
[K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['CourtBooking'], meta: { name: 'CourtBooking' } }
/**
* Find zero or one CourtBooking that matches the filter.
* @param {CourtBookingFindUniqueArgs} args - Arguments to find a CourtBooking
* @example
* // Get one CourtBooking
* const courtBooking = await prisma.courtBooking.findUnique({
* where: {
* // ... provide filter here
* }
* })
*/
findUnique<T extends CourtBookingFindUniqueArgs>(args: Prisma.SelectSubset<T, CourtBookingFindUniqueArgs<ExtArgs>>): Prisma.Prisma__CourtBookingClient<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find one CourtBooking that matches the filter or throw an error with `error.code='P2025'`
* if no matches were found.
* @param {CourtBookingFindUniqueOrThrowArgs} args - Arguments to find a CourtBooking
* @example
* // Get one CourtBooking
* const courtBooking = await prisma.courtBooking.findUniqueOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findUniqueOrThrow<T extends CourtBookingFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, CourtBookingFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__CourtBookingClient<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find the first CourtBooking that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {CourtBookingFindFirstArgs} args - Arguments to find a CourtBooking
* @example
* // Get one CourtBooking
* const courtBooking = await prisma.courtBooking.findFirst({
* where: {
* // ... provide filter here
* }
* })
*/
findFirst<T extends CourtBookingFindFirstArgs>(args?: Prisma.SelectSubset<T, CourtBookingFindFirstArgs<ExtArgs>>): Prisma.Prisma__CourtBookingClient<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find the first CourtBooking that matches the filter or
* throw `PrismaKnownClientError` with `P2025` code if no matches were found.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {CourtBookingFindFirstOrThrowArgs} args - Arguments to find a CourtBooking
* @example
* // Get one CourtBooking
* const courtBooking = await prisma.courtBooking.findFirstOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findFirstOrThrow<T extends CourtBookingFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, CourtBookingFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__CourtBookingClient<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find zero or more CourtBookings that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {CourtBookingFindManyArgs} args - Arguments to filter and select certain fields only.
* @example
* // Get all CourtBookings
* const courtBookings = await prisma.courtBooking.findMany()
*
* // Get first 10 CourtBookings
* const courtBookings = await prisma.courtBooking.findMany({ take: 10 })
*
* // Only select the `id`
* const courtBookingWithIdOnly = await prisma.courtBooking.findMany({ select: { id: true } })
*
*/
findMany<T extends CourtBookingFindManyArgs>(args?: Prisma.SelectSubset<T, CourtBookingFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
/**
* Create a CourtBooking.
* @param {CourtBookingCreateArgs} args - Arguments to create a CourtBooking.
* @example
* // Create one CourtBooking
* const CourtBooking = await prisma.courtBooking.create({
* data: {
* // ... data to create a CourtBooking
* }
* })
*
*/
create<T extends CourtBookingCreateArgs>(args: Prisma.SelectSubset<T, CourtBookingCreateArgs<ExtArgs>>): Prisma.Prisma__CourtBookingClient<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Create many CourtBookings.
* @param {CourtBookingCreateManyArgs} args - Arguments to create many CourtBookings.
* @example
* // Create many CourtBookings
* const courtBooking = await prisma.courtBooking.createMany({
* data: [
* // ... provide data here
* ]
* })
*
*/
createMany<T extends CourtBookingCreateManyArgs>(args?: Prisma.SelectSubset<T, CourtBookingCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
/**
* Create many CourtBookings and returns the data saved in the database.
* @param {CourtBookingCreateManyAndReturnArgs} args - Arguments to create many CourtBookings.
* @example
* // Create many CourtBookings
* const courtBooking = await prisma.courtBooking.createManyAndReturn({
* data: [
* // ... provide data here
* ]
* })
*
* // Create many CourtBookings and only return the `id`
* const courtBookingWithIdOnly = await prisma.courtBooking.createManyAndReturn({
* select: { id: true },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
createManyAndReturn<T extends CourtBookingCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, CourtBookingCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
/**
* Delete a CourtBooking.
* @param {CourtBookingDeleteArgs} args - Arguments to delete one CourtBooking.
* @example
* // Delete one CourtBooking
* const CourtBooking = await prisma.courtBooking.delete({
* where: {
* // ... filter to delete one CourtBooking
* }
* })
*
*/
delete<T extends CourtBookingDeleteArgs>(args: Prisma.SelectSubset<T, CourtBookingDeleteArgs<ExtArgs>>): Prisma.Prisma__CourtBookingClient<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Update one CourtBooking.
* @param {CourtBookingUpdateArgs} args - Arguments to update one CourtBooking.
* @example
* // Update one CourtBooking
* const courtBooking = await prisma.courtBooking.update({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
update<T extends CourtBookingUpdateArgs>(args: Prisma.SelectSubset<T, CourtBookingUpdateArgs<ExtArgs>>): Prisma.Prisma__CourtBookingClient<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Delete zero or more CourtBookings.
* @param {CourtBookingDeleteManyArgs} args - Arguments to filter CourtBookings to delete.
* @example
* // Delete a few CourtBookings
* const { count } = await prisma.courtBooking.deleteMany({
* where: {
* // ... provide filter here
* }
* })
*
*/
deleteMany<T extends CourtBookingDeleteManyArgs>(args?: Prisma.SelectSubset<T, CourtBookingDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
/**
* Update zero or more CourtBookings.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {CourtBookingUpdateManyArgs} args - Arguments to update one or more rows.
* @example
* // Update many CourtBookings
* const courtBooking = await prisma.courtBooking.updateMany({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
updateMany<T extends CourtBookingUpdateManyArgs>(args: Prisma.SelectSubset<T, CourtBookingUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
/**
* Update zero or more CourtBookings and returns the data updated in the database.
* @param {CourtBookingUpdateManyAndReturnArgs} args - Arguments to update many CourtBookings.
* @example
* // Update many CourtBookings
* const courtBooking = await prisma.courtBooking.updateManyAndReturn({
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
*
* // Update zero or more CourtBookings and only return the `id`
* const courtBookingWithIdOnly = await prisma.courtBooking.updateManyAndReturn({
* select: { id: true },
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
updateManyAndReturn<T extends CourtBookingUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, CourtBookingUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
/**
* Create or update one CourtBooking.
* @param {CourtBookingUpsertArgs} args - Arguments to update or create a CourtBooking.
* @example
* // Update or create a CourtBooking
* const courtBooking = await prisma.courtBooking.upsert({
* create: {
* // ... data to create a CourtBooking
* },
* update: {
* // ... in case it already exists, update
* },
* where: {
* // ... the filter for the CourtBooking we want to update
* }
* })
*/
upsert<T extends CourtBookingUpsertArgs>(args: Prisma.SelectSubset<T, CourtBookingUpsertArgs<ExtArgs>>): Prisma.Prisma__CourtBookingClient<runtime.Types.Result.GetResult<Prisma.$CourtBookingPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Count the number of CourtBookings.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {CourtBookingCountArgs} args - Arguments to filter CourtBookings to count.
* @example
* // Count the number of CourtBookings
* const count = await prisma.courtBooking.count({
* where: {
* // ... the filter for the CourtBookings we want to count
* }
* })
**/
count<T extends CourtBookingCountArgs>(
args?: Prisma.Subset<T, CourtBookingCountArgs>,
): Prisma.PrismaPromise<
T extends runtime.Types.Utils.Record<'select', any>
? T['select'] extends true
? number
: Prisma.GetScalarType<T['select'], CourtBookingCountAggregateOutputType>
: number
>
/**
* Allows you to perform aggregations operations on a CourtBooking.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {CourtBookingAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
* @example
* // Ordered by age ascending
* // Where email contains prisma.io
* // Limited to the 10 users
* const aggregations = await prisma.user.aggregate({
* _avg: {
* age: true,
* },
* where: {
* email: {
* contains: "prisma.io",
* },
* },
* orderBy: {
* age: "asc",
* },
* take: 10,
* })
**/
aggregate<T extends CourtBookingAggregateArgs>(args: Prisma.Subset<T, CourtBookingAggregateArgs>): Prisma.PrismaPromise<GetCourtBookingAggregateType<T>>
/**
* Group by CourtBooking.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {CourtBookingGroupByArgs} args - Group by arguments.
* @example
* // Group by city, order by createdAt, get count
* const result = await prisma.user.groupBy({
* by: ['city', 'createdAt'],
* orderBy: {
* createdAt: true
* },
* _count: {
* _all: true
* },
* })
*
**/
groupBy<
T extends CourtBookingGroupByArgs,
HasSelectOrTake extends Prisma.Or<
Prisma.Extends<'skip', Prisma.Keys<T>>,
Prisma.Extends<'take', Prisma.Keys<T>>
>,
OrderByArg extends Prisma.True extends HasSelectOrTake
? { orderBy: CourtBookingGroupByArgs['orderBy'] }
: { orderBy?: CourtBookingGroupByArgs['orderBy'] },
OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
ByValid extends Prisma.Has<ByFields, OrderFields>,
HavingFields extends Prisma.GetHavingFields<T['having']>,
HavingValid extends Prisma.Has<ByFields, HavingFields>,
ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False,
InputErrors extends ByEmpty extends Prisma.True
? `Error: "by" must not be empty.`
: HavingValid extends Prisma.False
? {
[P in HavingFields]: P extends ByFields
? never
: P extends string
? `Error: Field "${P}" used in "having" needs to be provided in "by".`
: [
Error,
'Field ',
P,
` in "having" needs to be provided in "by"`,
]
}[HavingFields]
: 'take' extends Prisma.Keys<T>
? 'orderBy' extends Prisma.Keys<T>
? ByValid extends Prisma.True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "take", you also need to provide "orderBy"'
: 'skip' extends Prisma.Keys<T>
? 'orderBy' extends Prisma.Keys<T>
? ByValid extends Prisma.True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "skip", you also need to provide "orderBy"'
: ByValid extends Prisma.True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
>(args: Prisma.SubsetIntersection<T, CourtBookingGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetCourtBookingGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
/**
* Fields of the CourtBooking model
*/
readonly fields: CourtBookingFieldRefs;
}
/**
* The delegate class that acts as a "Promise-like" for CourtBooking.
* Why is this prefixed with `Prisma__`?
* Because we want to prevent naming conflicts as mentioned in
* https://github.com/prisma/prisma-client-js/issues/707
*/
export interface Prisma__CourtBookingClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
readonly [Symbol.toStringTag]: "PrismaPromise"
court<T extends Prisma.CourtDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.CourtDefaultArgs<ExtArgs>>): Prisma.Prisma__CourtClient<runtime.Types.Result.GetResult<Prisma.$CourtPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): runtime.Types.Utils.JsPromise<TResult1 | TResult2>
/**
* Attaches a callback for only the rejection of the Promise.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of the callback.
*/
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>
/**
* Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
* resolved value cannot be modified from the callback.
* @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
* @returns A Promise for the completion of the callback.
*/
finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>
}
/**
* Fields of the CourtBooking model
*/
export interface CourtBookingFieldRefs {
readonly id: Prisma.FieldRef<"CourtBooking", 'String'>
readonly bookingCode: Prisma.FieldRef<"CourtBooking", 'String'>
readonly courtId: Prisma.FieldRef<"CourtBooking", 'String'>
readonly bookingDate: Prisma.FieldRef<"CourtBooking", 'DateTime'>
readonly startTime: Prisma.FieldRef<"CourtBooking", 'String'>
readonly endTime: Prisma.FieldRef<"CourtBooking", 'String'>
readonly customerName: Prisma.FieldRef<"CourtBooking", 'String'>
readonly customerPhone: Prisma.FieldRef<"CourtBooking", 'String'>
readonly customerEmail: Prisma.FieldRef<"CourtBooking", 'String'>
readonly status: Prisma.FieldRef<"CourtBooking", 'CourtBookingStatus'>
readonly createdAt: Prisma.FieldRef<"CourtBooking", 'DateTime'>
readonly updatedAt: Prisma.FieldRef<"CourtBooking", 'DateTime'>
}
// Custom InputTypes
/**
* CourtBooking findUnique
*/
export type CourtBookingFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
/**
* Filter, which CourtBooking to fetch.
*/
where: Prisma.CourtBookingWhereUniqueInput
}
/**
* CourtBooking findUniqueOrThrow
*/
export type CourtBookingFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
/**
* Filter, which CourtBooking to fetch.
*/
where: Prisma.CourtBookingWhereUniqueInput
}
/**
* CourtBooking findFirst
*/
export type CourtBookingFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
/**
* Filter, which CourtBooking to fetch.
*/
where?: Prisma.CourtBookingWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of CourtBookings to fetch.
*/
orderBy?: Prisma.CourtBookingOrderByWithRelationInput | Prisma.CourtBookingOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for CourtBookings.
*/
cursor?: Prisma.CourtBookingWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` CourtBookings from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` CourtBookings.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of CourtBookings.
*/
distinct?: Prisma.CourtBookingScalarFieldEnum | Prisma.CourtBookingScalarFieldEnum[]
}
/**
* CourtBooking findFirstOrThrow
*/
export type CourtBookingFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
/**
* Filter, which CourtBooking to fetch.
*/
where?: Prisma.CourtBookingWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of CourtBookings to fetch.
*/
orderBy?: Prisma.CourtBookingOrderByWithRelationInput | Prisma.CourtBookingOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for CourtBookings.
*/
cursor?: Prisma.CourtBookingWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` CourtBookings from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` CourtBookings.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of CourtBookings.
*/
distinct?: Prisma.CourtBookingScalarFieldEnum | Prisma.CourtBookingScalarFieldEnum[]
}
/**
* CourtBooking findMany
*/
export type CourtBookingFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
/**
* Filter, which CourtBookings to fetch.
*/
where?: Prisma.CourtBookingWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of CourtBookings to fetch.
*/
orderBy?: Prisma.CourtBookingOrderByWithRelationInput | Prisma.CourtBookingOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for listing CourtBookings.
*/
cursor?: Prisma.CourtBookingWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` CourtBookings from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` CourtBookings.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of CourtBookings.
*/
distinct?: Prisma.CourtBookingScalarFieldEnum | Prisma.CourtBookingScalarFieldEnum[]
}
/**
* CourtBooking create
*/
export type CourtBookingCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
/**
* The data needed to create a CourtBooking.
*/
data: Prisma.XOR<Prisma.CourtBookingCreateInput, Prisma.CourtBookingUncheckedCreateInput>
}
/**
* CourtBooking createMany
*/
export type CourtBookingCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* The data used to create many CourtBookings.
*/
data: Prisma.CourtBookingCreateManyInput | Prisma.CourtBookingCreateManyInput[]
skipDuplicates?: boolean
}
/**
* CourtBooking createManyAndReturn
*/
export type CourtBookingCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelectCreateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* The data used to create many CourtBookings.
*/
data: Prisma.CourtBookingCreateManyInput | Prisma.CourtBookingCreateManyInput[]
skipDuplicates?: boolean
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingIncludeCreateManyAndReturn<ExtArgs> | null
}
/**
* CourtBooking update
*/
export type CourtBookingUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
/**
* The data needed to update a CourtBooking.
*/
data: Prisma.XOR<Prisma.CourtBookingUpdateInput, Prisma.CourtBookingUncheckedUpdateInput>
/**
* Choose, which CourtBooking to update.
*/
where: Prisma.CourtBookingWhereUniqueInput
}
/**
* CourtBooking updateMany
*/
export type CourtBookingUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* The data used to update CourtBookings.
*/
data: Prisma.XOR<Prisma.CourtBookingUpdateManyMutationInput, Prisma.CourtBookingUncheckedUpdateManyInput>
/**
* Filter which CourtBookings to update
*/
where?: Prisma.CourtBookingWhereInput
/**
* Limit how many CourtBookings to update.
*/
limit?: number
}
/**
* CourtBooking updateManyAndReturn
*/
export type CourtBookingUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelectUpdateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* The data used to update CourtBookings.
*/
data: Prisma.XOR<Prisma.CourtBookingUpdateManyMutationInput, Prisma.CourtBookingUncheckedUpdateManyInput>
/**
* Filter which CourtBookings to update
*/
where?: Prisma.CourtBookingWhereInput
/**
* Limit how many CourtBookings to update.
*/
limit?: number
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingIncludeUpdateManyAndReturn<ExtArgs> | null
}
/**
* CourtBooking upsert
*/
export type CourtBookingUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
/**
* The filter to search for the CourtBooking to update in case it exists.
*/
where: Prisma.CourtBookingWhereUniqueInput
/**
* In case the CourtBooking found by the `where` argument doesn't exist, create a new CourtBooking with this data.
*/
create: Prisma.XOR<Prisma.CourtBookingCreateInput, Prisma.CourtBookingUncheckedCreateInput>
/**
* In case the CourtBooking was found with the provided `where` argument, update it with this data.
*/
update: Prisma.XOR<Prisma.CourtBookingUpdateInput, Prisma.CourtBookingUncheckedUpdateInput>
}
/**
* CourtBooking delete
*/
export type CourtBookingDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
/**
* Filter which CourtBooking to delete.
*/
where: Prisma.CourtBookingWhereUniqueInput
}
/**
* CourtBooking deleteMany
*/
export type CourtBookingDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Filter which CourtBookings to delete
*/
where?: Prisma.CourtBookingWhereInput
/**
* Limit how many CourtBookings to delete.
*/
limit?: number
}
/**
* CourtBooking without action
*/
export type CourtBookingDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the CourtBooking
*/
select?: Prisma.CourtBookingSelect<ExtArgs> | null
/**
* Omit specific fields from the CourtBooking
*/
omit?: Prisma.CourtBookingOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: Prisma.CourtBookingInclude<ExtArgs> | null
}