chore: update status code (#20443)

* chore: update status code

* chore: update status code

* fix: error unhandled
This commit is contained in:
Udit Takkar
2025-04-01 10:08:14 -03:00
committed by GitHub
parent d24a93962f
commit aaa39cccf8
3 changed files with 10 additions and 18 deletions
@@ -570,7 +570,7 @@ async function handler(
dateFrom: dayjs(start).tz(reqBody.timeZone).format(),
dateTo: dayjs(end).tz(reqBody.timeZone).format(),
timeZone: reqBody.timeZone,
originalRescheduledBooking,
originalRescheduledBooking: originalRescheduledBooking ?? null,
},
loggerWithEventDetails,
shouldServeCache
@@ -5,28 +5,20 @@ import { HttpError } from "@calcom/lib/http-error";
import { BookingRepository } from "@calcom/lib/server/repository/booking";
import { BookingStatus } from "@calcom/prisma/enums";
export const validateOriginalRescheduledBooking = async (
originalRescheduledBooking: OriginalRescheduledBooking
) => {
if (!originalRescheduledBooking) {
export async function getOriginalRescheduledBooking(uid: string, seatsEventType?: boolean) {
const originalBooking = await BookingRepository.findOriginalRescheduledBooking(uid, seatsEventType);
if (!originalBooking) {
throw new HttpError({ statusCode: 404, message: "Could not find original booking" });
}
if (
originalRescheduledBooking.status === BookingStatus.CANCELLED &&
!originalRescheduledBooking.rescheduled
) {
throw new HttpError({ statusCode: 403, message: ErrorCode.CancelledBookingsCannotBeRescheduled });
if (originalBooking.status === BookingStatus.CANCELLED && !originalBooking.rescheduled) {
throw new HttpError({ statusCode: 400, message: ErrorCode.CancelledBookingsCannotBeRescheduled });
}
};
export async function getOriginalRescheduledBooking(uid: string, seatsEventType?: boolean) {
const originalBooking = await BookingRepository.findOriginalRescheduledBooking(uid, seatsEventType);
validateOriginalRescheduledBooking(originalBooking);
return originalBooking;
}
export type BookingType = Prisma.PromiseReturnType<typeof getOriginalRescheduledBooking>;
export type BookingType = Prisma.PromiseReturnType<typeof getOriginalRescheduledBooking> | null;
export type OriginalRescheduledBooking = Awaited<ReturnType<typeof getOriginalRescheduledBooking>>;
export type OriginalRescheduledBooking = Awaited<ReturnType<typeof getOriginalRescheduledBooking>> | null;
@@ -95,7 +95,7 @@ function getStatusCode(cause: Error): number {
case ErrorCode.AvailabilityNotFoundInSchedule:
return 400;
case ErrorCode.CancelledBookingsCannotBeRescheduled:
return 403;
return 400;
case ErrorCode.NoAvailableUsersFound:
case ErrorCode.HostsUnavailableForBooking:
case ErrorCode.PaymentCreationFailure: