import { Logger, Module, OnModuleInit } from '@nestjs/common';
import { assertDemoModeAllowed } from '../../config/env';
import { AuthModule } from '../auth.module';
import { DemoAuthController } from './demo-auth.controller';

/**
 * ADR-002 : module enregistré UNIQUEMENT quand DEMO_MODE=true
 * (voir AppModule.forRoot). Double verrou : refuse de démarrer en production
 * sans DEMO_MODE_I_KNOW=true.
 */
@Module({
  imports: [AuthModule],
  controllers: [DemoAuthController],
})
export class DemoAuthModule implements OnModuleInit {
  private readonly logger = new Logger(DemoAuthModule.name);

  constructor() {
    assertDemoModeAllowed();
  }

  onModuleInit() {
    this.logger.warn(
      'DEMO_MODE actif — /auth/demo-accounts et /auth/demo-login sont exposées.',
    );
  }
}
