import { Module } from '@nestjs/common';
import { AuditModule } from 'src/audit/audit.module';
import { ContabilidadModule } from 'src/contabilidad/contabilidad.module';
import { LotesModule } from 'src/lotes/lotes.module';
import { PagosProveedorModule } from 'src/pagos-proveedor/pagos-proveedor.module';
import { PrismaModule } from 'src/prisma/prisma.module';
import { ImportacionesCosteoService } from 'src/importaciones/services/importaciones-costeo.service';
import { ComprasController } from './compras.controller';
import { ComprasService } from './compras.service';

@Module({
  imports: [PrismaModule, LotesModule, ContabilidadModule, AuditModule, PagosProveedorModule],
  controllers: [ComprasController],
  // ImportacionesCosteoService se provee directo y no vía ImportacionesModule:
  // ese módulo importa ComprasModule (para generar CxP desde un componente), así
  // que importarlo acá sería un ciclo. El servicio no tiene dependencias propias
  // —recibe la transacción por parámetro—, así que instanciarlo dos veces no
  // comparte estado ni duplica nada.
  providers: [ComprasService, ImportacionesCosteoService],
  exports: [ComprasService],
})
export class ComprasModule {}
