- 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.
43 lines
1.7 KiB
TypeScript
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 {}
|