forked from Shared/esg
initial commit
This commit is contained in:
43
src/app.module.ts
Normal file
43
src/app.module.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
|
||||
import { MongooseModule } from '@nestjs/mongoose';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { CommonModule } from './common/common.module';
|
||||
import { RequestIdMiddleware } from './common/middleware/request-id.middleware';
|
||||
import { AppConfigModule } from './config/config.module';
|
||||
import { AuthModule } from './auth/auth.module';
|
||||
import { UsersModule } from './users/users.module';
|
||||
import { AuditModule } from './audit/audit.module';
|
||||
import { RateLimitModule } from './rate-limit/rate-limit.module';
|
||||
import { LoggingModule } from './logging/logging.module';
|
||||
import { ProvidersModule } from './providers/providers.module';
|
||||
import { InquiryModule } from './inquiry/inquiry.module';
|
||||
import { DatabaseSeederModule } from './database/database-seeder.module';
|
||||
|
||||
/**
|
||||
* Root application module — wires all feature and infrastructure modules.
|
||||
*/
|
||||
@Module({
|
||||
imports: [
|
||||
AppConfigModule,
|
||||
CommonModule,
|
||||
AuditModule,
|
||||
MongooseModule.forRootAsync({
|
||||
inject: [ConfigService],
|
||||
useFactory: (config: ConfigService) => ({
|
||||
uri: config.get<string>('mongodb.uri'),
|
||||
}),
|
||||
}),
|
||||
RateLimitModule,
|
||||
LoggingModule,
|
||||
AuthModule,
|
||||
UsersModule,
|
||||
DatabaseSeederModule,
|
||||
ProvidersModule,
|
||||
InquiryModule,
|
||||
],
|
||||
})
|
||||
export class AppModule implements NestModule {
|
||||
configure(consumer: MiddlewareConsumer): void {
|
||||
consumer.apply(RequestIdMiddleware).forRoutes('*');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user