diff --git a/packages/features/bookings/lib/getCalEventResponses.ts b/packages/features/bookings/lib/getCalEventResponses.ts index a3360b6ee7..f11642998a 100644 --- a/packages/features/bookings/lib/getCalEventResponses.ts +++ b/packages/features/bookings/lib/getCalEventResponses.ts @@ -6,9 +6,12 @@ import type { bookingResponsesDbSchema } from "@calcom/features/bookings/lib/get import { contructEmailFromPhoneNumber } from "@calcom/lib/contructEmailFromPhoneNumber"; import { getBookingWithResponses } from "@calcom/lib/getBooking"; import { HttpError } from "@calcom/lib/http-error"; +import logger from "@calcom/lib/logger"; import { eventTypeBookingFields } from "@calcom/prisma/zod-utils"; import type { CalendarEvent } from "@calcom/types/Calendar"; +const log = logger.getSubLogger({ prefix: ["[getCalEventResponses]"] }); + export const getCalEventResponses = ({ bookingFields, booking, @@ -38,18 +41,23 @@ export const getCalEventResponses = ({ const calEventUserFieldsResponses = {} as NonNullable; const calEventResponses = {} as NonNullable; const parsedBookingFields = bookingFields ? eventTypeBookingFields.parse(bookingFields) : null; + const backwardCompatibleResponses = responses ?? (booking ? getBookingWithResponses(booking).responses : null); if (!backwardCompatibleResponses) throw new Error("Couldn't get responses"); // To set placeholder email for the booking if (!!!backwardCompatibleResponses.email) { - if (typeof backwardCompatibleResponses["attendeePhoneNumber"] !== "string") + if (typeof backwardCompatibleResponses["attendeePhoneNumber"] !== "string") { + log.error(`backwardCompatibleResponses: ${JSON.stringify(backwardCompatibleResponses)}`, { + responses, + bookingResponses: booking?.responses, + }); throw new HttpError({ statusCode: 400, message: "Both Phone and Email are missing", }); - + } backwardCompatibleResponses.email = contructEmailFromPhoneNumber( backwardCompatibleResponses["attendeePhoneNumber"] );