import { BullModule } from "@nestjs/bullmq"; import { Module } from "@nestjs/common"; import { TypeOrmModule } from "@nestjs/typeorm"; import { AnnouncementController } from "./announcement.controller"; import { ANNOUNCEMENT } from "./constants"; import { Announcement } from "./entities/announcement.entity"; import { AnnouncementService } from "./providers/announcement.service"; import { AnnouncementProcessor } from "./queue/announcment.processor"; import { AnnouncementRepository } from "./repositories/announcement.repository"; import { DanakServicesModule } from "../danak-services/danak-services.module"; import { UsersModule } from "../users/users.module"; import { UserAnnouncement } from "./entities/user-announcement.entity"; import { UserAnnouncementRepository } from "./repositories/user-announcement.repository"; @Module({ imports: [ TypeOrmModule.forFeature([Announcement, UserAnnouncement]), BullModule.registerQueue({ name: ANNOUNCEMENT.ANNOUNCEMENT_QUEUE_NAME }), DanakServicesModule, UsersModule, ], providers: [AnnouncementService, AnnouncementRepository, UserAnnouncementRepository, AnnouncementProcessor], controllers: [AnnouncementController], exports: [AnnouncementService], }) export class AnnouncementsModule {}