2025-08-21 15:24:40 +09:00
|
|
|
import { Module } from "@nestjs/common";
|
|
|
|
|
import { OrdersController } from "./orders.controller";
|
2025-10-22 11:33:23 +09:00
|
|
|
import { CheckoutController } from "./controllers/checkout.controller";
|
2025-09-17 18:43:43 +09:00
|
|
|
import { IntegrationsModule } from "@bff/integrations/integrations.module";
|
|
|
|
|
import { MappingsModule } from "@bff/modules/id-mappings/mappings.module";
|
|
|
|
|
import { UsersModule } from "@bff/modules/users/users.module";
|
2025-09-26 15:51:07 +09:00
|
|
|
import { CoreConfigModule } from "@bff/core/config/config.module";
|
|
|
|
|
import { DatabaseModule } from "@bff/core/database/database.module";
|
2025-10-22 11:33:23 +09:00
|
|
|
import { CatalogModule } from "@bff/modules/catalog/catalog.module";
|
2025-08-20 18:02:50 +09:00
|
|
|
|
2025-08-27 20:01:46 +09:00
|
|
|
// Clean modular order services
|
|
|
|
|
import { OrderValidator } from "./services/order-validator.service";
|
|
|
|
|
import { OrderBuilder } from "./services/order-builder.service";
|
|
|
|
|
import { OrderItemBuilder } from "./services/order-item-builder.service";
|
2025-09-25 11:44:10 +09:00
|
|
|
import { OrderPricebookService } from "./services/order-pricebook.service";
|
2025-08-27 20:01:46 +09:00
|
|
|
import { OrderOrchestrator } from "./services/order-orchestrator.service";
|
2025-10-08 18:14:12 +09:00
|
|
|
import { PaymentValidatorService } from "./services/payment-validator.service";
|
2025-10-22 11:33:23 +09:00
|
|
|
import { CheckoutService } from "./services/checkout.service";
|
2025-08-27 20:01:46 +09:00
|
|
|
|
2025-09-02 16:09:17 +09:00
|
|
|
// Clean modular fulfillment services
|
|
|
|
|
import { OrderFulfillmentValidator } from "./services/order-fulfillment-validator.service";
|
|
|
|
|
import { OrderFulfillmentOrchestrator } from "./services/order-fulfillment-orchestrator.service";
|
2025-09-02 17:43:30 +09:00
|
|
|
import { OrderFulfillmentErrorService } from "./services/order-fulfillment-error.service";
|
2025-09-11 14:52:26 +09:00
|
|
|
import { SimFulfillmentService } from "./services/sim-fulfillment.service";
|
2025-09-06 10:01:44 +09:00
|
|
|
import { ProvisioningQueueService } from "./queue/provisioning.queue";
|
|
|
|
|
import { ProvisioningProcessor } from "./queue/provisioning.processor";
|
2025-09-02 16:09:17 +09:00
|
|
|
|
2025-08-20 18:02:50 +09:00
|
|
|
@Module({
|
2025-10-22 11:33:23 +09:00
|
|
|
imports: [
|
|
|
|
|
IntegrationsModule,
|
|
|
|
|
MappingsModule,
|
|
|
|
|
UsersModule,
|
|
|
|
|
CoreConfigModule,
|
|
|
|
|
DatabaseModule,
|
|
|
|
|
CatalogModule,
|
|
|
|
|
],
|
|
|
|
|
controllers: [OrdersController, CheckoutController],
|
2025-08-27 20:01:46 +09:00
|
|
|
providers: [
|
2025-10-08 18:14:12 +09:00
|
|
|
// Shared services
|
|
|
|
|
PaymentValidatorService,
|
2025-10-22 10:58:16 +09:00
|
|
|
|
2025-09-02 16:09:17 +09:00
|
|
|
// Order creation services (modular)
|
2025-08-27 20:01:46 +09:00
|
|
|
OrderValidator,
|
|
|
|
|
OrderBuilder,
|
|
|
|
|
OrderItemBuilder,
|
2025-09-25 11:44:10 +09:00
|
|
|
OrderPricebookService,
|
2025-08-28 16:57:57 +09:00
|
|
|
OrderOrchestrator,
|
2025-10-22 11:33:23 +09:00
|
|
|
CheckoutService,
|
2025-09-02 16:09:17 +09:00
|
|
|
|
|
|
|
|
// Order fulfillment services (modular)
|
|
|
|
|
OrderFulfillmentValidator,
|
|
|
|
|
OrderFulfillmentOrchestrator,
|
2025-09-02 17:43:30 +09:00
|
|
|
OrderFulfillmentErrorService,
|
2025-09-11 14:52:26 +09:00
|
|
|
SimFulfillmentService,
|
2025-09-06 10:01:44 +09:00
|
|
|
// Async provisioning queue
|
|
|
|
|
ProvisioningQueueService,
|
|
|
|
|
ProvisioningProcessor,
|
2025-08-27 20:01:46 +09:00
|
|
|
],
|
2025-10-22 11:33:23 +09:00
|
|
|
exports: [OrderOrchestrator, CheckoutService, ProvisioningQueueService],
|
2025-08-20 18:02:50 +09:00
|
|
|
})
|
|
|
|
|
export class OrdersModule {}
|