import { Module } from "@nestjs/common";
import { InvoicesController } from "./invoices.controller";
import { WhmcsModule } from "@bff/integrations/whmcs/whmcs.module";
import { MappingsModule } from "@bff/modules/id-mappings/mappings.module";
// New modular invoice services
import { InvoicesOrchestratorService } from "./services/invoices-orchestrator.service";
import { InvoiceRetrievalService } from "./services/invoice-retrieval.service";
import { InvoiceHealthService } from "./services/invoice-health.service";

/**
 * Invoice Module
 *
 * Validation is now handled by Zod schemas via ZodValidationPipe in controller.
 * No separate validator service needed.
 */
@Module({
  imports: [WhmcsModule, MappingsModule],
  controllers: [InvoicesController],
  providers: [InvoicesOrchestratorService, InvoiceRetrievalService, InvoiceHealthService],
  exports: [InvoicesOrchestratorService],
})
export class InvoicesModule {}
