From f904e820bf3fe8665b35a4e18de01fb837bf2298 Mon Sep 17 00:00:00 2001 From: Judah Praise <1judahpraise@gmail.com> Date: Sat, 22 Aug 2026 16:32:36 +0000 Subject: [PATCH] feat(analytics): register ScheduleModule in AnalyticsModule Add ScheduleModule.forRoot() to AnalyticsModule imports so the module explicitly declares its dependency on the NestJS task-scheduler. The three cron-job providers already registered in this module (DailyActiveUsersRollupJob, QuestAnalyticsRollupJob, RetentionCohortRollupJob) rely on @Cron() decorators from @nestjs/schedule, which is already present in backend/package.json. Closes #545 --- backend/src/analytics/analytics.module.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/analytics/analytics.module.ts b/backend/src/analytics/analytics.module.ts index 2637667..8bd3b70 100644 --- a/backend/src/analytics/analytics.module.ts +++ b/backend/src/analytics/analytics.module.ts @@ -1,5 +1,6 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; +import { ScheduleModule } from '@nestjs/schedule'; import { AnalyticsEvent } from './entities/analytics-event.entity'; import { RetentionCohort } from './entities/retention-cohort.entity'; import { DailyActiveUser } from './entities/daily-active-user.entity'; @@ -21,6 +22,7 @@ import { RetentionCohortRollupJob } from './jobs/retention-cohort-rollup.job'; @Module({ imports: [ + ScheduleModule.forRoot(), TypeOrmModule.forFeature([ AnalyticsEvent, RetentionCohort, @@ -55,6 +57,5 @@ import { RetentionCohortRollupJob } from './jobs/retention-cohort-rollup.job'; ExportCsvProvider, TypeOrmModule, ], - }) export class AnalyticsModule {}