diff --git a/packages/lib/getUserAvailability.ts b/packages/lib/getUserAvailability.ts index 64258deb5a..620090edd8 100644 --- a/packages/lib/getUserAvailability.ts +++ b/packages/lib/getUserAvailability.ts @@ -345,8 +345,19 @@ const _getUserAvailability = async function getUsersWorkingHoursLifeTheUniverseA fallbackSchedule; const timeZone = schedule?.timeZone || fallbackTimezoneIfScheduleIsMissing; - const bookingLimits = parseBookingLimit(eventType?.bookingLimits); - const durationLimits = parseDurationLimit(eventType?.durationLimits); + const bookingLimits = + eventType?.bookingLimits && + typeof eventType.bookingLimits === "object" && + Object.keys(eventType.bookingLimits).length > 0 + ? parseBookingLimit(eventType.bookingLimits) + : null; + + const durationLimits = + eventType?.durationLimits && + typeof eventType.durationLimits === "object" && + Object.keys(eventType.durationLimits).length > 0 + ? parseDurationLimit(eventType.durationLimits) + : null; let busyTimesFromLimits: EventBusyDetails[] = []; diff --git a/packages/trpc/server/routers/viewer/slots/util.ts b/packages/trpc/server/routers/viewer/slots/util.ts index b5b393827c..c1a1c13a0f 100644 --- a/packages/trpc/server/routers/viewer/slots/util.ts +++ b/packages/trpc/server/routers/viewer/slots/util.ts @@ -732,8 +732,20 @@ export class AvailableSlotsService { this.getOOODates(startTimeDate, endTimeDate, allUserIds), ]); - const bookingLimits = parseBookingLimit(eventType?.bookingLimits); - const durationLimits = parseDurationLimit(eventType?.durationLimits); + const bookingLimits = + eventType?.bookingLimits && + typeof eventType?.bookingLimits === "object" && + Object.keys(eventType?.bookingLimits).length > 0 + ? parseBookingLimit(eventType?.bookingLimits) + : null; + + const durationLimits = + eventType?.durationLimits && + typeof eventType?.durationLimits === "object" && + Object.keys(eventType?.durationLimits).length > 0 + ? parseDurationLimit(eventType?.durationLimits) + : null; + let busyTimesFromLimitsBookingsAllUsers: Awaited> = []; if (eventType && (bookingLimits || durationLimits)) { @@ -1270,11 +1282,8 @@ export class AvailableSlotsService { const mapSlotsToDate = withReporting(_mapSlotsToDate.bind(this), "mapSlotsToDate"); const slotsMappedToDate = mapSlotsToDate(); - loggerWithEventDetails.debug({ slotsMappedToDate }); - const availableDates = Object.keys(slotsMappedToDate); const allDatesWithBookabilityStatus = this.getAllDatesWithBookabilityStatus(availableDates); - loggerWithEventDetails.debug({ availableDates }); // timeZone isn't directly set on eventType now(So, it is legacy) // schedule is always expected to be set for an eventType now so it must never fallback to allUsersAvailability[0].timeZone(fallback is again legacy behavior)