Spaces:
Sleeping
Sleeping
| import { Module } from '@nestjs/common'; | |
| import { ConfigModule, ConfigService } from '@nestjs/config'; | |
| import { ScheduleModule as NestScheduleModule } from '@nestjs/schedule'; | |
| import { TypeOrmModule } from '@nestjs/typeorm'; | |
| import { AuthModule } from './modules/auth/auth.module'; | |
| import { EmailModule } from './modules/email/email.module'; | |
| import { CampusModule } from './modules/campus/campus.module'; | |
| import { CoursesModule } from './modules/courses/courses.module'; | |
| import { EnrollmentsModule } from './modules/enrollments/enrollments.module'; | |
| import { FilesModule } from './modules/files/files.module'; | |
| import { AssignmentsModule } from './modules/assignments/assignments.module'; | |
| import { GradesModule } from './modules/grades/grades.module'; | |
| import { AttendanceModule } from './modules/attendance/attendance.module'; | |
| import { QuizzesModule } from './modules/quizzes/quizzes.module'; | |
| import { LabsModule } from './modules/labs/labs.module'; | |
| import { NotificationsModule } from './modules/notifications/notifications.module'; | |
| import { MessagingModule } from './modules/messaging/messaging.module'; | |
| import { DiscussionsModule } from './modules/discussions/discussions.module'; | |
| import { AnnouncementsModule } from './modules/announcements/announcements.module'; | |
| import { CommunityModule } from './modules/community/community.module'; | |
| import { ScheduleModule } from './modules/schedule/schedule.module'; | |
| import { CourseMaterialsModule } from './modules/course-materials/course-materials.module'; | |
| import { TasksModule } from './modules/tasks/tasks.module'; | |
| import { ReportsModule } from './modules/reports/reports.module'; | |
| import { SearchModule } from './modules/search/search.module'; | |
| import { AnalyticsModule } from './modules/analytics/analytics.module'; | |
| import { SecurityModule } from './modules/security/security.module'; | |
| import { SettingsModule } from './modules/settings/settings.module'; | |
| import { MonitoringModule } from './modules/monitoring/monitoring.module'; | |
| import { BackupModule } from './modules/backup/backup.module'; | |
| import { StudyGroupsModule } from './modules/study-groups/study-groups.module'; | |
| import { OfficeHoursModule } from './modules/office-hours/office-hours.module'; | |
| import { PeerReviewModule } from './modules/peer-review/peer-review.module'; | |
| import { PaymentsModule } from './modules/payments/payments.module'; | |
| import { AppController } from './app.controller'; | |
| import { AppService } from './app.service'; | |
| import databaseConfig from './config/database.config'; | |
| import { YoutubeModule } from './modules/youtube/youtube.module'; | |
| import { GoogleDriveModule } from './modules/google-drive/google-drive.module'; | |
| import { QuestionBankModule } from './modules/question-bank/question-bank.module'; | |
| import { ExamsModule } from './modules/exams/exams.module'; | |
| ({ | |
| imports: [ | |
| ConfigModule.forRoot({ | |
| isGlobal: true, | |
| load: [databaseConfig], | |
| envFilePath: '.env', | |
| }), | |
| TypeOrmModule.forRootAsync({ | |
| imports: [ConfigModule], | |
| inject: [ConfigService], | |
| useFactory: (configService: ConfigService) => { | |
| const dbConfig = configService.get('database'); | |
| if (!dbConfig) { | |
| throw new Error('Database configuration is missing'); | |
| } | |
| return { | |
| type: 'mysql', | |
| host: dbConfig.host, | |
| port: dbConfig.port, | |
| username: dbConfig.username, | |
| password: dbConfig.password, | |
| database: dbConfig.database, | |
| autoLoadEntities: true, | |
| migrations: [__dirname + '/database/migrations/*{.ts,.js}'], | |
| migrationsRun: false, | |
| synchronize: dbConfig.synchronize, | |
| logging: dbConfig.logging, | |
| ssl: dbConfig.ssl, | |
| }; | |
| }, | |
| }), | |
| NestScheduleModule.forRoot(), | |
| AuthModule, | |
| EmailModule, | |
| CampusModule, | |
| CoursesModule, | |
| EnrollmentsModule, | |
| YoutubeModule, | |
| GoogleDriveModule, | |
| FilesModule, | |
| AssignmentsModule, | |
| GradesModule, | |
| AttendanceModule, | |
| QuizzesModule, | |
| LabsModule, | |
| NotificationsModule, | |
| MessagingModule, | |
| DiscussionsModule, | |
| AnnouncementsModule, | |
| CommunityModule, | |
| ScheduleModule, | |
| CourseMaterialsModule, | |
| TasksModule, | |
| ReportsModule, | |
| SearchModule, | |
| AnalyticsModule, | |
| SecurityModule, | |
| SettingsModule, | |
| MonitoringModule, | |
| BackupModule, | |
| StudyGroupsModule, | |
| OfficeHoursModule, | |
| PeerReviewModule, | |
| QuestionBankModule, | |
| ExamsModule, | |
| PaymentsModule, | |
| ], | |
| controllers: [AppController], | |
| providers: [AppService], | |
| }) | |
| export class AppModule { } | |