Files
course-craft-service/apps/api/src/app.module.ts

63 lines
1.9 KiB
TypeScript

import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { BullModule } from '@nestjs/bullmq';
import { join } from 'path';
import { AuthModule } from './auth/auth.module';
import { UsersModule } from './users/users.module';
import { CoursesModule } from './courses/courses.module';
import { CatalogModule } from './catalog/catalog.module';
import { EnrollmentModule } from './enrollment/enrollment.module';
import { CertificatesModule } from './certificates/certificates.module';
import { GroupsModule } from './groups/groups.module';
import { SupportModule } from './support/support.module';
import { ModerationModule } from './moderation/moderation.module';
import { GenerationModule } from './generation/generation.module';
import { PaymentsModule } from './payments/payments.module';
import { SearchModule } from './search/search.module';
import { PrismaModule } from './common/prisma/prisma.module';
import { AdminModule } from './admin/admin.module';
import { CooperationModule } from './cooperation/cooperation.module';
@Module({
imports: [
// Configuration - load from project root
ConfigModule.forRoot({
isGlobal: true,
envFilePath: [
join(__dirname, '../../../.env.local'),
join(__dirname, '../../../.env'),
'.env.local',
'.env',
],
}),
// BullMQ for job queues
BullModule.forRoot({
connection: {
host: process.env.REDIS_HOST || 'localhost',
port: parseInt(process.env.REDIS_PORT || '6395', 10),
},
}),
// Database
PrismaModule,
// Feature modules
AuthModule,
UsersModule,
CoursesModule,
CatalogModule,
EnrollmentModule,
CertificatesModule,
GroupsModule,
SupportModule,
ModerationModule,
GenerationModule,
PaymentsModule,
SearchModule,
AdminModule,
CooperationModule,
],
})
export class AppModule {}