import { Module, forwardRef } from '@nestjs/common';
import { AuthModule } from 'src/auth/auth.module';
import { UserModule } from 'src/user/user.module';
import { ZoomModule } from 'src/zoom/zoom.module';
import { AnalyticsController } from './controllers/analytics.controller';
import { AnalyticsV1Controller } from './controllers/analytics-v1.controller';
import { AnalyticsSeekerController } from './controllers/analytics-seeker.controller';
import { AnalyticsProgramController } from './controllers/analytics-program.controller';

/**
 * Frontend-facing analytics API. Owns zero database access — it only
 * consumes ZoomAnalyticsFacadeService (ZoomModule's sole export for this
 * feature) and never imports Zoom internals (providers, repositories,
 * registry) directly.
 */
@Module({
  imports: [ZoomModule, forwardRef(() => AuthModule), forwardRef(() => UserModule)],
  controllers: [AnalyticsController, AnalyticsV1Controller, AnalyticsSeekerController, AnalyticsProgramController],
})
export class AnalyticsModule {}
