import { Module } from "@nestjs/common"; import { ConfigModule } from "@nestjs/config"; import { WhmcsDataTransformer } from "./transformers/whmcs-data.transformer"; import { WhmcsCacheService } from "./cache/whmcs-cache.service"; import { WhmcsService } from "./whmcs.service"; import { WhmcsConnectionService } from "./services/whmcs-connection.service"; import { WhmcsInvoiceService } from "./services/whmcs-invoice.service"; import { WhmcsSubscriptionService } from "./services/whmcs-subscription.service"; import { WhmcsClientService } from "./services/whmcs-client.service"; import { WhmcsPaymentService } from "./services/whmcs-payment.service"; import { WhmcsSsoService } from "./services/whmcs-sso.service"; import { WhmcsOrderService } from "./services/whmcs-order.service"; // New transformer services import { WhmcsTransformerOrchestratorService } from "./transformers/services/whmcs-transformer-orchestrator.service"; import { InvoiceTransformerService } from "./transformers/services/invoice-transformer.service"; import { SubscriptionTransformerService } from "./transformers/services/subscription-transformer.service"; import { PaymentTransformerService } from "./transformers/services/payment-transformer.service"; import { TransformationValidator } from "./transformers/validators/transformation-validator"; @Module({ imports: [ConfigModule], providers: [ // Legacy transformer (now facade) WhmcsDataTransformer, // New modular transformer services WhmcsTransformerOrchestratorService, InvoiceTransformerService, SubscriptionTransformerService, PaymentTransformerService, TransformationValidator, // Existing services WhmcsCacheService, WhmcsConnectionService, WhmcsInvoiceService, WhmcsSubscriptionService, WhmcsClientService, WhmcsPaymentService, WhmcsSsoService, WhmcsOrderService, WhmcsService, ], exports: [ WhmcsService, WhmcsConnectionService, WhmcsDataTransformer, WhmcsTransformerOrchestratorService, WhmcsCacheService, WhmcsOrderService, WhmcsPaymentService, ], }) export class WhmcsModule {}