Assist_Design/apps/bff/src/modules/checkout-registration/checkout-registration.module.ts
barsa 2b183272cf Implement Notifications Feature and Enhance BFF Modules
- Introduced a new Notification model in the Prisma schema to manage in-app notifications for users.
- Integrated the NotificationsModule into the BFF application, allowing for the handling of notifications related to user actions and events.
- Updated the CatalogCdcSubscriber to create notifications for account eligibility and verification status changes, improving user engagement.
- Enhanced the CheckoutRegistrationService to create opportunities for SIM orders, integrating with the new notifications system.
- Refactored various modules to include the NotificationsModule, ensuring seamless interaction and notification handling across the application.
- Updated the frontend to display notification alerts in the AppShell header, enhancing user experience and accessibility.
2025-12-23 11:36:44 +09:00

35 lines
1.2 KiB
TypeScript

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 {}