40 行
1.4 KiB
TypeScript
40 行
1.4 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
import { MongooseModule } from '@nestjs/mongoose';
|
|
import Configuration from './config/configuration';
|
|
import { VersioningModule } from './versioning/versioning.module';
|
|
import { PerformanceModule } from './performance/performance.module';
|
|
import { AirportModule } from './airport/airport.module';
|
|
import { LoggingModule } from './logging/logging.module';
|
|
import { LoggingController } from './logging/logging.controller';
|
|
import { AirportController } from './airport/airport.controller';
|
|
import { InboundModule } from './inbound/inbound.module';
|
|
import { InboundController } from './inbound/inbound.controller';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({
|
|
load: [Configuration],
|
|
isGlobal: true,
|
|
}),
|
|
MongooseModule.forRootAsync({
|
|
imports: [ConfigModule],
|
|
inject: [ConfigService],
|
|
useFactory: async (config: ConfigService) => ({
|
|
uri: `mongodb://${config.get<string>(
|
|
'database.host',
|
|
)}:${config.get<number>('database.port')}/${config.get<string>(
|
|
'database.name',
|
|
)}`,
|
|
}),
|
|
}),
|
|
VersioningModule,
|
|
PerformanceModule,
|
|
AirportModule,
|
|
LoggingModule,
|
|
InboundModule,
|
|
],
|
|
controllers: [LoggingController, AirportController, InboundController],
|
|
})
|
|
export class AppModule {}
|