import { BookingEmailAndSmsTaskService } from "@calcom/features/bookings/lib/tasker/BookingEmailAndSmsTaskService"; import { bindModuleToClassOnToken, createModule, type ModuleLoader } from "@calcom/features/di/di"; import { moduleLoader as bookingRepositoryModuleLoader } from "@calcom/features/di/modules/Booking"; import { moduleLoader as loggerServiceModule } from "@calcom/features/di/shared/services/logger.service"; import { moduleLoader as BookingEmailSmsHandlerModuleLoader } from "../BookingEmailSmsHandler.module"; import { BOOKING_EMAIL_SMS_TASKER_DI_TOKENS } from "./tokens"; const thisModule = createModule(); const token = BOOKING_EMAIL_SMS_TASKER_DI_TOKENS.BOOKING_EMAIL_SMS_TASK_SERVICE; const moduleToken = BOOKING_EMAIL_SMS_TASKER_DI_TOKENS.BOOKING_EMAIL_SMS_TASK_SERVICE_MODULE; const loadModule = bindModuleToClassOnToken({ module: thisModule, moduleToken, token, classs: BookingEmailAndSmsTaskService, depsMap: { logger: loggerServiceModule, bookingRepository: bookingRepositoryModuleLoader, emailsAndSmsHandler: BookingEmailSmsHandlerModuleLoader, }, }); export const moduleLoader = { token, loadModule, } satisfies ModuleLoader;