53 lines
2.1 KiB
TypeScript

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 {}