Assist_Design/apps/bff/src/modules/checkout-registration/checkout-registration.module.ts

35 lines
1.2 KiB
TypeScript
Raw Normal View History

import { Module, forwardRef } from "@nestjs/common";
import { CheckoutRegistrationController } from "./checkout-registration.controller.js";
import { CheckoutRegistrationService } from "./services/checkout-registration.service.js";
import { SalesforceModule } from "@bff/integrations/salesforce/salesforce.module.js";
import { WhmcsModule } from "@bff/integrations/whmcs/whmcs.module.js";
import { AuthModule } from "@bff/modules/auth/auth.module.js";
import { UsersModule } from "@bff/modules/users/users.module.js";
import { MappingsModule } from "@bff/modules/id-mappings/mappings.module.js";
import { OrdersModule } from "@bff/modules/orders/orders.module.js";
/**
* Checkout Registration Module
*
* Handles user registration during checkout flow:
* - Creates Salesforce Account and Contact
* - Creates WHMCS Client
* - Creates Portal User
* - Links all systems via ID Mappings
* - Creates Opportunity for SIM orders
*/
@Module({
imports: [
SalesforceModule,
WhmcsModule,
AuthModule,
UsersModule,
MappingsModule,
forwardRef(() => OrdersModule),
],
controllers: [CheckoutRegistrationController],
providers: [CheckoutRegistrationService],
exports: [CheckoutRegistrationService],
})
export class CheckoutRegistrationModule {}