Files
aman-backend/src/app.module.ts
2022-11-03 01:08:04 +01:00

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