Assist_Design/apps/bff/src/modules/orders/orders.module.ts

47 lines
2.0 KiB
TypeScript
Raw Normal View History

2025-08-21 15:24:40 +09:00
import { Module } from "@nestjs/common";
import { OrdersController } from "./orders.controller";
import { IntegrationsModule } from "@bff/integrations/integrations.module";
import { MappingsModule } from "@bff/modules/id-mappings/mappings.module";
import { UsersModule } from "@bff/modules/users/users.module";
import { CoreConfigModule } from "@bff/core/config/config.module";
import { DatabaseModule } from "@bff/core/database/database.module";
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";
import { OrderPricebookService } from "./services/order-pricebook.service";
2025-08-27 20:01:46 +09:00
import { OrderOrchestrator } from "./services/order-orchestrator.service";
// Clean modular fulfillment services
import { OrderFulfillmentValidator } from "./services/order-fulfillment-validator.service";
import { OrderFulfillmentOrchestrator } from "./services/order-fulfillment-orchestrator.service";
import { OrderFulfillmentErrorService } from "./services/order-fulfillment-error.service";
import { SimFulfillmentService } from "./services/sim-fulfillment.service";
import { ProvisioningQueueService } from "./queue/provisioning.queue";
import { ProvisioningProcessor } from "./queue/provisioning.processor";
@Module({
imports: [IntegrationsModule, MappingsModule, UsersModule, CoreConfigModule, DatabaseModule],
controllers: [OrdersController],
2025-08-27 20:01:46 +09:00
providers: [
// Order creation services (modular)
2025-08-27 20:01:46 +09:00
OrderValidator,
OrderBuilder,
OrderItemBuilder,
OrderPricebookService,
2025-08-28 16:57:57 +09:00
OrderOrchestrator,
// Order fulfillment services (modular)
OrderFulfillmentValidator,
OrderFulfillmentOrchestrator,
OrderFulfillmentErrorService,
SimFulfillmentService,
// Async provisioning queue
ProvisioningQueueService,
ProvisioningProcessor,
2025-08-27 20:01:46 +09:00
],
exports: [OrderOrchestrator, ProvisioningQueueService],
})
export class OrdersModule {}