chore: update status code (#20443)

* chore: update status code

* chore: update status code

* fix: error unhandled
This commit is contained in:
Udit Takkar authored and GitHub committed 2025-04-01 10:08:14 -03:00
1 parent d24a93962f
commit aaa39cccf8
3 files changed
+10 -18

No files matched your search

@@ -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: