All files / src/platform/notifications notification.module.ts

0% Statements 0/14
100% Branches 0/0
100% Functions 0/0
0% Lines 0/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52                                                                                                       
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { BullModule } from '@nestjs/bullmq';
import { NotificationService } from './notification.service';
import {
  NotificationController,
  NotificationPreferenceController,
} from './notification.controller';
import { NotificationProcessor } from './notification.processor';
import {
  Notification,
  NotificationSchema,
} from './schemas/notification.schema';
import {
  NotificationTemplate,
  NotificationTemplateSchema,
} from './schemas/template.schema';
import {
  NotificationPreference,
  NotificationPreferenceSchema,
} from './schemas/preference.schema';
import {
  NotificationDelivery,
  NotificationDeliverySchema,
} from './schemas/delivery.schema';
import {
  SystemAnnouncement,
  SystemAnnouncementSchema,
} from './schemas/announcement.schema';
 
@Module({
  imports: [
    MongooseModule.forFeature([
      { name: Notification.name, schema: NotificationSchema },
      { name: NotificationTemplate.name, schema: NotificationTemplateSchema },
      {
        name: NotificationPreference.name,
        schema: NotificationPreferenceSchema,
      },
      { name: NotificationDelivery.name, schema: NotificationDeliverySchema },
      { name: SystemAnnouncement.name, schema: SystemAnnouncementSchema },
    ]),
    BullModule.registerQueue({
      name: 'notification.dispatch',
    }),
  ],
  controllers: [NotificationController, NotificationPreferenceController],
  providers: [NotificationService, NotificationProcessor],
  exports: [NotificationService],
})
export class NotificationModule {}