Assist_Design/apps/bff/src/orders/orders.module.ts
T. Narantuya f305ee6e1a Implement Salesforce Platform Events for Order Provisioning
- Added support for Salesforce Platform Events, specifically subscribing to `OrderProvisionRequested__e` to trigger provisioning jobs.
- Introduced new environment variables for Salesforce event configuration, including SF_EVENTS_ENABLED, SF_PROVISION_EVENT_CHANNEL, and SF_PUBSUB_ENDPOINT.
- Refactored order fulfillment process to utilize event-driven architecture, enhancing reliability and scalability.
- Updated documentation to reflect changes in the provisioning workflow and environment variable requirements.
- Removed deprecated webhook handling code to streamline the integration.
2025-09-06 10:01:44 +09:00

43 lines
1.7 KiB
TypeScript

import { Module } from "@nestjs/common";
import { OrdersController } from "./orders.controller";
import { VendorsModule } from "../vendors/vendors.module";
import { MappingsModule } from "../mappings/mappings.module";
import { UsersModule } from "../users/users.module";
// 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 { OrderOrchestrator } from "./services/order-orchestrator.service";
// Clean modular fulfillment services
import { OrderFulfillmentValidator } from "./services/order-fulfillment-validator.service";
import { OrderWhmcsMapper } from "./services/order-whmcs-mapper.service";
import { OrderFulfillmentOrchestrator } from "./services/order-fulfillment-orchestrator.service";
import { OrderFulfillmentErrorService } from "./services/order-fulfillment-error.service";
import { ProvisioningQueueService } from "./queue/provisioning.queue";
import { ProvisioningProcessor } from "./queue/provisioning.processor";
@Module({
imports: [VendorsModule, MappingsModule, UsersModule],
controllers: [OrdersController],
providers: [
// Order creation services (modular)
OrderValidator,
OrderBuilder,
OrderItemBuilder,
OrderOrchestrator,
// Order fulfillment services (modular)
OrderFulfillmentValidator,
OrderWhmcsMapper,
OrderFulfillmentOrchestrator,
OrderFulfillmentErrorService,
// Async provisioning queue
ProvisioningQueueService,
ProvisioningProcessor,
],
exports: [OrderOrchestrator, ProvisioningQueueService],
})
export class OrdersModule {}