* Use userId instead of attendee email * Only write if booking is accepted * Create `getBookingRequest` function * Return already requested booking * Type fixes * Type fix * Type fix * Pass empty seatReferenceId * Handle no userId * Update test
36 lines
750 B
TypeScript
36 lines
750 B
TypeScript
import prisma from "@calcom/prisma";
|
|
import { BookingStatus } from "@calcom/prisma/enums";
|
|
|
|
export const getBookingRequest = async ({
|
|
bookerEmail,
|
|
bookerPhoneNumber,
|
|
startTime,
|
|
eventTypeId,
|
|
}: {
|
|
bookerEmail: string;
|
|
bookerPhoneNumber: string | undefined;
|
|
startTime: Date;
|
|
eventTypeId: number;
|
|
}) => {
|
|
// See if there's already an existing request
|
|
const booking = await prisma.booking.findFirst({
|
|
where: {
|
|
eventTypeId,
|
|
startTime,
|
|
attendees: {
|
|
some: {
|
|
email: bookerEmail,
|
|
phoneNumber: bookerPhoneNumber,
|
|
},
|
|
},
|
|
status: BookingStatus.PENDING,
|
|
},
|
|
include: {
|
|
attendees: true,
|
|
references: true,
|
|
user: true,
|
|
},
|
|
});
|
|
return booking;
|
|
};
|