import { Module } from '@nestjs/common';
import { PrismaModule } from 'src/prisma/prisma.module';
import { NovasisPayModule } from 'src/novasis-pay/novasis-pay.module';
import { EcommerceModule } from '../ecommerce.module';
import { EcommercePagosController } from './ecommerce-pagos.controller';
import { EcommercePagosService } from './ecommerce-pagos.service';

/**
 * Módulo aparte a propósito: Pagos necesita `NovasisPayModule` (cliente del
 * gateway) y `EcommerceModule` (confirmación del pedido). Si estos providers
 * vivieran dentro de EcommerceModule habría un ciclo, porque NovasisPayModule
 * ya importa EcommerceModule para que el webhook confirme el pedido.
 *
 *   EcommercePagosModule → { EcommerceModule, NovasisPayModule }
 *   NovasisPayModule     → EcommerceModule
 *   EcommerceModule      → { Prisma, Pedidos, Notifications }   (no vuelve)
 */
@Module({
  imports: [PrismaModule, NovasisPayModule, EcommerceModule],
  controllers: [EcommercePagosController],
  providers: [EcommercePagosService],
})
export class EcommercePagosModule {}
