81 lines
2.4 KiB
TypeScript
81 lines
2.4 KiB
TypeScript
// File: src/modules/review-team/review-team.module.ts
|
|
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { BullModule } from '@nestjs/bullmq';
|
|
|
|
// Entities
|
|
import { ReviewTeam } from './entities/review-team.entity';
|
|
import { ReviewTeamMember } from './entities/review-team-member.entity';
|
|
import { ReviewTask } from './entities/review-task.entity';
|
|
|
|
// External entities needed for resolution
|
|
import { User } from '../user/entities/user.entity';
|
|
import { Discipline } from '../master/entities/discipline.entity';
|
|
|
|
// Services
|
|
import { ReviewTeamService } from './review-team.service';
|
|
import { ReviewTaskService } from './review-task.service';
|
|
import { TaskCreationService } from './services/task-creation.service';
|
|
import { AggregateStatusService } from './services/aggregate-status.service';
|
|
import { ConsensusService } from './services/consensus.service';
|
|
import { VetoOverrideService } from './services/veto-override.service';
|
|
|
|
// Controllers
|
|
import { ReviewTeamController } from './review-team.controller';
|
|
import { ReviewTaskController } from './review-task.controller';
|
|
|
|
// Modules
|
|
import { ResponseCodeModule } from '../response-code/response-code.module';
|
|
import { NotificationModule } from '../notification/notification.module';
|
|
import { UserModule } from '../user/user.module';
|
|
import { DistributionModule } from '../distribution/distribution.module';
|
|
import { DelegationModule } from '../delegation/delegation.module';
|
|
import { ReminderModule } from '../reminder/reminder.module';
|
|
|
|
// Queue constants
|
|
import {
|
|
QUEUE_REMINDERS,
|
|
QUEUE_VETO_NOTIFICATIONS,
|
|
} from '../common/constants/queue.constants';
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forFeature([
|
|
ReviewTeam,
|
|
ReviewTeamMember,
|
|
ReviewTask,
|
|
User,
|
|
Discipline,
|
|
]),
|
|
BullModule.registerQueue(
|
|
{ name: QUEUE_REMINDERS },
|
|
{ name: QUEUE_VETO_NOTIFICATIONS }
|
|
),
|
|
ResponseCodeModule,
|
|
NotificationModule,
|
|
UserModule,
|
|
DistributionModule,
|
|
DelegationModule,
|
|
ReminderModule,
|
|
],
|
|
providers: [
|
|
ReviewTeamService,
|
|
ReviewTaskService,
|
|
TaskCreationService,
|
|
AggregateStatusService,
|
|
ConsensusService,
|
|
VetoOverrideService,
|
|
],
|
|
controllers: [ReviewTeamController, ReviewTaskController],
|
|
exports: [
|
|
ReviewTeamService,
|
|
ReviewTaskService,
|
|
TaskCreationService,
|
|
AggregateStatusService,
|
|
ConsensusService,
|
|
VetoOverrideService,
|
|
TypeOrmModule,
|
|
],
|
|
})
|
|
export class ReviewTeamModule {}
|