import { Module } from '@nestjs/common';
import { PrismaService } from '../prisma/prisma.service';
import { SeguridadController } from './seguridad.controller';
import { SeguridadService } from './seguridad.service';
import { SeguridadSeedOrchestrator } from './seeds/seed-orchestrator.service';
import { SeguridadSeedBootstrap } from './seeds/seguridad-seed.bootstrap';

/**
 * Módulo de seguridad refactor (jerarquía Módulo → Submódulo).
 *
 * Convive con los módulos legacy `src/modulos`, `src/privilegios`, `src/perfiles`
 * — los endpoints nuevos viven bajo el prefijo `/seguridad`.
 *
 * `SeguridadSeedBootstrap` re-siembra el catálogo y sincroniza los perfiles del
 * sistema en cada arranque (ver comentario del archivo) — evita el paso manual
 * de correr `seed-cli.ts` / `POST seed-maestro` después de cada deploy.
 */
@Module({
  imports: [],
  controllers: [SeguridadController],
  providers: [PrismaService, SeguridadService, SeguridadSeedOrchestrator, SeguridadSeedBootstrap],
  exports: [SeguridadSeedOrchestrator, SeguridadService],
})
export class SeguridadModule {}
