diff --git a/packages/core/getAggregatedAvailability.ts b/packages/core/getAggregatedAvailability.ts index 5311383d56..37b32b6970 100644 --- a/packages/core/getAggregatedAvailability.ts +++ b/packages/core/getAggregatedAvailability.ts @@ -3,10 +3,7 @@ import { intersect } from "@calcom/lib/date-ranges"; import { SchedulingType } from "@calcom/prisma/enums"; export const getAggregatedAvailability = ( - userAvailability: (Omit< - Awaited["getUserAvailability"]>>, - "currentSeats" - > & { user?: { isFixed?: boolean } })[], + userAvailability: { dateRanges: DateRange[]; user?: { isFixed?: boolean } }[], schedulingType: SchedulingType | null ): DateRange[] => { const fixedHosts = userAvailability.filter( diff --git a/packages/lib/date-ranges.ts b/packages/lib/date-ranges.ts index ee26ebdb39..3587df9291 100644 --- a/packages/lib/date-ranges.ts +++ b/packages/lib/date-ranges.ts @@ -93,7 +93,7 @@ export function buildDateRanges({ ...groupedDateOverrides, }).map( // remove 0-length overrides that were kept to cancel out working dates until now. - (ranges) => ranges.filter((range) => !range.start.isSame(range.end)) + (ranges) => ranges.filter((range) => range.start.valueOf() !== range.end.valueOf()) ); return dateRanges.flat(); diff --git a/packages/trpc/server/routers/viewer/slots/util.ts b/packages/trpc/server/routers/viewer/slots/util.ts index 37a708ab48..0526413d8f 100644 --- a/packages/trpc/server/routers/viewer/slots/util.ts +++ b/packages/trpc/server/routers/viewer/slots/util.ts @@ -1,7 +1,6 @@ import { countBy } from "lodash"; import { v4 as uuid } from "uuid"; -import { getAggregateWorkingHours } from "@calcom/core/getAggregateWorkingHours"; import { getAggregatedAvailability } from "@calcom/core/getAggregatedAvailability"; import type { CurrentSeats } from "@calcom/core/getUserAvailability"; import { getUserAvailability } from "@calcom/core/getUserAvailability"; @@ -229,8 +228,6 @@ export async function getAvailableSlots(input: TGetScheduleInputSchema) { usersWithCredentials.map(async (currentUser) => { const { busy, - workingHours, - dateOverrides, dateRanges, currentSeats: _currentSeats, timeZone, @@ -254,8 +251,6 @@ export async function getAvailableSlots(input: TGetScheduleInputSchema) { if (!currentSeats && _currentSeats) currentSeats = _currentSeats; return { timeZone, - workingHours, - dateOverrides, dateRanges, busy, user: currentUser, @@ -263,11 +258,6 @@ export async function getAvailableSlots(input: TGetScheduleInputSchema) { }) ); - // flattens availability of multiple users - const dateOverrides = userAvailability.flatMap((availability) => - availability.dateOverrides.map((override) => ({ userId: availability.user.id, ...override })) - ); - const workingHours = getAggregateWorkingHours(userAvailability, eventType.schedulingType); const availabilityCheckProps = { eventLength: input.duration || eventType.length, currentSeats, @@ -290,8 +280,6 @@ export async function getAvailableSlots(input: TGetScheduleInputSchema) { const timeSlots = getSlots({ inviteeDate: startTime, eventLength: input.duration || eventType.length, - workingHours, - dateOverrides, offsetStart: eventType.offsetStart, dateRanges: getAggregatedAvailability(userAvailability, eventType.schedulingType), minimumBookingNotice: eventType.minimumBookingNotice,