* feat: monthly-proration-taskerh * remove cronjob from tasker implementation * feat: add DI for MonthlyProrationService and TriggerDevLoggerServiceModule - Create TriggerDevLoggerServiceModule for DI injection of TriggerDevLogger - Add tokens for TriggerDevLogger in shared.tokens.ts - Create MonthlyProrationService DI module and container - Update processMonthlyProrationBatch.ts to use DI container - Use redactError in Tasker.ts to avoid logging sensitive information Co-Authored-By: sean@cal.com <Sean@brydon.io> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import { bindModuleToClassOnToken, createModule, type ModuleLoader } from "@calcom/features/di/di";
|
|
import { moduleLoader as loggerServiceModule } from "@calcom/features/di/shared/services/logger.service";
|
|
import { MonthlyProrationTasker } from "@calcom/features/ee/billing/service/proration/tasker/MonthlyProrationTasker";
|
|
|
|
import { moduleLoader as monthlyProrationSyncTaskerModule } from "./MonthlyProrationSyncTasker.module";
|
|
import { moduleLoader as monthlyProrationTriggerTaskerModule } from "./MonthlyProrationTriggerDevTasker.module";
|
|
import { MONTHLY_PRORATION_TASKER_DI_TOKENS } from "./tokens";
|
|
|
|
const thisModule = createModule();
|
|
const token = MONTHLY_PRORATION_TASKER_DI_TOKENS.MONTHLY_PRORATION_TASKER;
|
|
const moduleToken = MONTHLY_PRORATION_TASKER_DI_TOKENS.MONTHLY_PRORATION_TASKER_MODULE;
|
|
const loadModule = bindModuleToClassOnToken({
|
|
module: thisModule,
|
|
moduleToken,
|
|
token,
|
|
classs: MonthlyProrationTasker,
|
|
depsMap: {
|
|
logger: loggerServiceModule,
|
|
asyncTasker: monthlyProrationTriggerTaskerModule,
|
|
syncTasker: monthlyProrationSyncTaskerModule,
|
|
},
|
|
});
|
|
|
|
export const moduleLoader = {
|
|
token,
|
|
loadModule,
|
|
} satisfies ModuleLoader;
|