File size: 2,604 Bytes
9c2358c
 
a8a7b69
9c2358c
 
 
86d6fd4
9c2358c
a8a7b69
86d6fd4
9c2358c
a8a7b69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9c2358c
 
 
a8a7b69
 
 
 
86d6fd4
a8a7b69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9c2358c
 
86d6fd4
 
 
 
 
 
a8a7b69
9c2358c
 
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
53
54
55
56
57
58
59
60
61
62
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ScheduleModule } from '@nestjs/schedule';
import { Notification } from './entities/notification.entity';
import { NotificationPreference } from './entities/notification-preference.entity';
import { ScheduledNotification } from './entities/scheduled-notification.entity';
import { NotificationDeviceToken } from './entities/notification-device-token.entity';
import { NotificationsService } from './services/notifications.service';
import { NotificationCronService } from './services/notification-cron.service';
import { FirebasePushService } from './services/firebase-push.service';
import { NotificationsController } from './controllers/notifications.controller';
import { NotificationsGateway } from './notifications.gateway';
import { CourseEnrollment } from '../enrollments/entities/course-enrollment.entity';
import { CourseInstructor } from '../enrollments/entities/course-instructor.entity';
import { CourseTA } from '../enrollments/entities/course-ta.entity';
import { User } from '../auth/entities/user.entity';
import { CampusEventRegistration } from '../schedule/entities/campus-event-registration.entity';
import { CourseSchedule } from '../courses/entities/course-schedule.entity';
import { Assignment } from '../assignments/entities/assignment.entity';
import { AssignmentSubmission } from '../assignments/entities/assignment-submission.entity';
import { Lab } from '../labs/entities/lab.entity';
import { LabSubmission } from '../labs/entities/lab-submission.entity';
import { Quiz } from '../quizzes/entities/quiz.entity';
import { QuizAttempt } from '../quizzes/entities/quiz-attempt.entity';
import { ExamSchedule } from '../schedule/entities/exam-schedule.entity';
import { CampusEvent } from '../schedule/entities/campus-event.entity';

@Module({
  imports: [
    TypeOrmModule.forFeature([
      Notification,
      NotificationPreference,
      ScheduledNotification,
      NotificationDeviceToken,
      CourseEnrollment,
      CourseInstructor,
      CourseTA,
      User,
      CampusEventRegistration,
      CourseSchedule,
      Assignment,
      AssignmentSubmission,
      Lab,
      LabSubmission,
      Quiz,
      QuizAttempt,
      ExamSchedule,
      CampusEvent,
    ]),
    ScheduleModule.forRoot(),
  ],
  controllers: [NotificationsController],
  providers: [
    NotificationsService,
    NotificationsGateway,
    NotificationCronService,
    FirebasePushService,
  ],
  exports: [NotificationsService, NotificationsGateway],
})
export class NotificationsModule {}