/**
 * Notifications Module
 *
 * Provides in-app notification functionality:
 * - NotificationService: CRUD operations for notifications
 * - NotificationsController: API endpoints
 * - AccountNotificationHandler: Creates notifications from SF events
 * - NotificationCleanupService: Removes expired notifications
 */

import { Module, forwardRef } from "@nestjs/common";
import { MappingsModule } from "@bff/modules/id-mappings/mappings.module.js";
import { NotificationService } from "./notifications.service.js";
import { NotificationsController } from "./notifications.controller.js";
import { AccountNotificationHandler } from "./account-cdc-listener.service.js";
import { NotificationCleanupService } from "./notification-cleanup.service.js";

@Module({
  imports: [forwardRef(() => MappingsModule)],
  controllers: [NotificationsController],
  providers: [NotificationService, AccountNotificationHandler, NotificationCleanupService],
  exports: [NotificationService, AccountNotificationHandler],
})
export class NotificationsModule {}
