refactor: create PrismaOOORepository in /features/ooo (#25850)
* move to features * update imports
This commit is contained in:
@@ -11,6 +11,7 @@ import {
|
||||
} from "@calcom/features/busyTimes/lib/getBusyTimesFromLimits";
|
||||
import { getBusyTimesService } from "@calcom/features/di/containers/BusyTimes";
|
||||
import { EventTypeRepository } from "@calcom/features/eventtypes/repositories/eventTypeRepository";
|
||||
import type { PrismaOOORepository } from "@calcom/features/ooo/repositories/PrismaOOORepository";
|
||||
import type { IRedisService } from "@calcom/features/redis/IRedisService";
|
||||
import type { DateOverride, WorkingHours } from "@calcom/features/schedules/lib/date-ranges";
|
||||
import { buildDateRanges, subtract } from "@calcom/features/schedules/lib/date-ranges";
|
||||
@@ -24,7 +25,6 @@ import { getPeriodStartDatesBetween as getPeriodStartDatesBetweenUtil } from "@c
|
||||
import logger from "@calcom/lib/logger";
|
||||
import { safeStringify } from "@calcom/lib/safeStringify";
|
||||
import { withReporting } from "@calcom/lib/sentryWrapper";
|
||||
import type { PrismaOOORepository } from "@calcom/lib/server/repository/ooo";
|
||||
import type {
|
||||
Booking,
|
||||
Prisma,
|
||||
|
||||
@@ -5,13 +5,13 @@ import dayjs from "@calcom/dayjs";
|
||||
import type { BookingRepository } from "@calcom/features/bookings/repositories/BookingRepository";
|
||||
import { getBusyCalendarTimes } from "@calcom/features/calendars/lib/CalendarManager";
|
||||
import type { HostRepository } from "@calcom/features/host/repositories/HostRepository";
|
||||
import type { PrismaOOORepository } from "@calcom/features/ooo/repositories/PrismaOOORepository";
|
||||
import { mergeOverlappingRanges } from "@calcom/features/schedules/lib/date-ranges";
|
||||
import type { UserRepository } from "@calcom/features/users/repositories/UserRepository";
|
||||
import logger from "@calcom/lib/logger";
|
||||
import { raqbQueryValueSchema } from "@calcom/lib/raqb/zod";
|
||||
import { safeStringify } from "@calcom/lib/safeStringify";
|
||||
import type { PrismaAttributeRepository } from "@calcom/lib/server/repository/PrismaAttributeRepository";
|
||||
import type { PrismaOOORepository } from "@calcom/lib/server/repository/ooo";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
import type { User, Booking, SelectedCalendar } from "@calcom/prisma/client";
|
||||
import type { AttributeType } from "@calcom/prisma/enums";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { DI_TOKENS } from "@calcom/features/di/tokens";
|
||||
import { PrismaOOORepository } from "@calcom/lib/server/repository/ooo";
|
||||
import { moduleLoader as prismaModuleLoader } from "@calcom/features/di/modules/Prisma";
|
||||
import { DI_TOKENS } from "@calcom/features/di/tokens";
|
||||
import { PrismaOOORepository } from "@calcom/features/ooo/repositories/PrismaOOORepository";
|
||||
|
||||
import { createModule, bindModuleToClassOnToken, type ModuleLoader } from "../di";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
export { PrismaAttributeRepository } from "@calcom/lib/server/repository/PrismaAttributeRepository";
|
||||
export { PrismaOOORepository } from "@calcom/lib/server/repository/ooo";
|
||||
export { PrismaOOORepository } from "@calcom/features/ooo/repositories/PrismaOOORepository";
|
||||
export { ScheduleRepository as PrismaScheduleRepository } from "@calcom/features/schedules/repositories/ScheduleRepository";
|
||||
export { BookingRepository as PrismaBookingRepository } from "@calcom/features/bookings/repositories/BookingRepository";
|
||||
export { EventTypeRepository as PrismaEventTypeRepository } from "@calcom/features/eventtypes/repositories/eventTypeRepository";
|
||||
|
||||
@@ -24,6 +24,7 @@ import type { TeamRepository } from "@calcom/features/ee/teams/repositories/Team
|
||||
import { getDefaultEvent } from "@calcom/features/eventtypes/lib/defaultEvents";
|
||||
import type { EventTypeRepository } from "@calcom/features/eventtypes/repositories/eventTypeRepository";
|
||||
import type { FeaturesRepository } from "@calcom/features/flags/features.repository";
|
||||
import type { PrismaOOORepository } from "@calcom/features/ooo/repositories/PrismaOOORepository";
|
||||
import type { IRedisService } from "@calcom/features/redis/IRedisService";
|
||||
import { buildDateRanges } from "@calcom/features/schedules/lib/date-ranges";
|
||||
import getSlots from "@calcom/features/schedules/lib/slots";
|
||||
@@ -51,7 +52,6 @@ import { safeStringify } from "@calcom/lib/safeStringify";
|
||||
import { withReporting } from "@calcom/lib/sentryWrapper";
|
||||
import type { ISelectedSlotRepository } from "@calcom/lib/server/repository/ISelectedSlotRepository";
|
||||
import type { RoutingFormResponseRepository } from "@calcom/lib/server/repository/formResponse";
|
||||
import type { PrismaOOORepository } from "@calcom/lib/server/repository/ooo";
|
||||
import { SchedulingType, PeriodType } from "@calcom/prisma/enums";
|
||||
import type { EventBusyDate, EventBusyDetails } from "@calcom/types/Calendar";
|
||||
import type { CredentialForCalendarService } from "@calcom/types/Credential";
|
||||
@@ -279,7 +279,7 @@ export class AvailableSlotsService {
|
||||
* cause slots from adjacent days to leak into the response.
|
||||
*/
|
||||
private _filterSlotsByRequestedDateRange<
|
||||
T extends Record<string, { time: string; attendees?: number; bookingUid?: string }[]>,
|
||||
T extends Record<string, { time: string; attendees?: number; bookingUid?: string }[]>
|
||||
>({
|
||||
slotsMappedToDate,
|
||||
startTime,
|
||||
@@ -306,11 +306,7 @@ export class AvailableSlotsService {
|
||||
});
|
||||
|
||||
const allowedDates = new Set<string>();
|
||||
for (
|
||||
let d = inputStartTime.startOf("day");
|
||||
!d.isAfter(inputEndTime, "day");
|
||||
d = d.add(1, "day")
|
||||
) {
|
||||
for (let d = inputStartTime.startOf("day"); !d.isAfter(inputEndTime, "day"); d = d.add(1, "day")) {
|
||||
allowedDates.add(formatter.format(d.toDate()));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user