ファイル
aman-backend/src/app.module.ts

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 {}