diff --git a/apps/api/v2/src/ee/bookings/2024-04-15/controllers/bookings.controller.ts b/apps/api/v2/src/ee/bookings/2024-04-15/controllers/bookings.controller.ts index 9a76e59c70..cbae0a5b7c 100644 --- a/apps/api/v2/src/ee/bookings/2024-04-15/controllers/bookings.controller.ts +++ b/apps/api/v2/src/ee/bookings/2024-04-15/controllers/bookings.controller.ts @@ -29,6 +29,7 @@ import { Query, NotFoundException, UseGuards, + BadRequestException, } from "@nestjs/common"; import { ConfigService } from "@nestjs/config"; import { ApiQuery, ApiExcludeController as DocsExcludeController } from "@nestjs/swagger"; @@ -189,18 +190,24 @@ export class BookingsController_2024_04_15 { throw new InternalServerErrorException("Could not create booking."); } - @Post("/:bookingId/cancel") + @Post("/:bookingUid/cancel") async cancelBooking( @Req() req: BookingRequest, - @Param("bookingId") bookingId: string, + @Param("bookingUid") bookingUid: string, @Body() _: CancelBookingInput_2024_04_15, @Headers(X_CAL_CLIENT_ID) clientId?: string, @Headers(X_CAL_PLATFORM_EMBED) isEmbed?: string ): Promise> { const oAuthClientId = clientId?.toString(); - if (bookingId) { + const isUidNumber = !isNaN(Number(bookingUid)); + + if (isUidNumber) { + throw new BadRequestException("Please provide booking uid instead of booking id."); + } + + if (bookingUid) { try { - req.body.id = parseInt(bookingId); + req.body.uid = bookingUid; const res = await handleCancelBooking( await this.createNextApiBookingRequest(req, oAuthClientId, undefined, isEmbed) ); diff --git a/packages/platform/atoms/hooks/bookings/useCancelBooking.ts b/packages/platform/atoms/hooks/bookings/useCancelBooking.ts index 9370e1eed6..b765ec0534 100644 --- a/packages/platform/atoms/hooks/bookings/useCancelBooking.ts +++ b/packages/platform/atoms/hooks/bookings/useCancelBooking.ts @@ -26,7 +26,7 @@ export const useCancelBooking = ( ) => { const cancelBooking = useMutation({ mutationFn: (data) => { - return http.post(`/bookings/${data.id}/cancel`, data).then((res) => { + return http.post(`/bookings/${data.uid}/cancel`, data).then((res) => { if (res.data.status === SUCCESS_STATUS) { return res.data; }