import { Module } from '@nestjs/common';
import { CarteraModule } from '../cartera/cartera.module';
import { winstonConfig } from '../common/logger/winston.config';
import { FacturasModule } from '../facturas/facturas.module';
import { PrismaModule } from '../prisma/prisma.module';
import { TwilioModule } from '../twilio/twilio.module';
import { AutorizacionesController } from './autorizaciones.controller';
import { AutorizacionesService } from './autorizaciones.service';
import { CobranzasJobsService } from './cobranzas-jobs.service';
import { ConfigMoraController } from './config-mora.controller';
import { ConfigMoraService } from './config-mora.service';
import { PanelCobradorController } from './panel-cobrador.controller';
import { ReporteCobradorController } from './reporte-cobrador.controller';
import { ReporteInteresesCobradosController } from './reporte-intereses-cobrados.controller';
import { PromesasController } from './promesas.controller';
import { PromesasService } from './promesas.service';
import { GestionMoraController } from './gestion-mora.controller';
import { GestionMoraService } from './gestion-mora.service';
import { InteresesMoratoriosController } from './intereses-moratorios.controller';
import { InteresesMoratoriosService } from './intereses-moratorios.service';
import { RefinanciacionesController } from './refinanciaciones.controller';
import { RefinanciacionesService } from './refinanciaciones.service';
import { GestionesController } from './gestiones.controller';
import { GestionesService } from './gestiones.service';
import { MesaGestionController } from './mesa-gestion.controller';
import { MesaGestionService } from './mesa-gestion.service';
import { InteresManualController } from './interes-manual.controller';
import { InteresManualService } from './interes-manual.service';

@Module({
  imports: [PrismaModule, TwilioModule, FacturasModule, CarteraModule],
  controllers: [PromesasController, AutorizacionesController, PanelCobradorController, ConfigMoraController, ReporteCobradorController, ReporteInteresesCobradosController, GestionMoraController, InteresesMoratoriosController, RefinanciacionesController, GestionesController, MesaGestionController, InteresManualController],
  providers: [InteresManualService, PromesasService, AutorizacionesService, CobranzasJobsService, ConfigMoraService, GestionMoraService, InteresesMoratoriosService, RefinanciacionesService, GestionesService, MesaGestionService],
  exports: [InteresManualService, PromesasService, AutorizacionesService, ConfigMoraService, GestionMoraService, InteresesMoratoriosService, RefinanciacionesService, GestionesService, MesaGestionService],
})
export class CobranzasModule {}
