45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { HttpModule } from '@nestjs/axios';
 | |
| 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 { InboundModule } from './inbound/inbound.module';
 | |
| import { WeatherModule } from './weather/weather.module';
 | |
| import { AuthModule } from './auth/auth.module';
 | |
| 
 | |
| @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',
 | |
|         )}`,
 | |
|       }),
 | |
|     }),
 | |
|     HttpModule.register({
 | |
|       timeout: 5000,
 | |
|       maxRedirects: 3,
 | |
|     }),
 | |
|     VersioningModule,
 | |
|     PerformanceModule,
 | |
|     AirportModule,
 | |
|     LoggingModule,
 | |
|     InboundModule,
 | |
|     WeatherModule,
 | |
|     AuthModule,
 | |
|   ],
 | |
| })
 | |
| export class AppModule {}
 |