import { RecurringBookingService } from "@calcom/features/bookings/lib/service/RecurringBookingService"; import { createModule, bindModuleToClassOnToken } from "@calcom/features/di/di"; import { moduleLoader as featuresRepositoryModuleLoader } from "@calcom/features/di/modules/FeaturesRepository"; import { DI_TOKENS } from "@calcom/features/di/tokens"; import { moduleLoader as regularBookingServiceModuleLoader } from "./RegularBookingService.module"; import { moduleLoader as bookingEventHandlerModuleLoader } from "./BookingEventHandlerService.module"; const token = DI_TOKENS.RECURRING_BOOKING_SERVICE; const moduleToken = DI_TOKENS.RECURRING_BOOKING_SERVICE_MODULE; export const recurringBookingServiceModule = createModule(); const loadModule = bindModuleToClassOnToken({ module: recurringBookingServiceModule, moduleToken, token, classs: RecurringBookingService, depsMap: { regularBookingService: regularBookingServiceModuleLoader, bookingEventHandler: bookingEventHandlerModuleLoader, featuresRepository: featuresRepositoryModuleLoader, }, }); export const moduleLoader = { token, loadModule, }; export type { RecurringBookingService };