import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; import { ThrottlerModule } from '@nestjs/throttler'; import { AuthModule } from './auth/auth.module'; import { CharacterModule } from './character/character.module'; import { HealthController } from './common/health.controller'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true }), TypeOrmModule.forRootAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: (config: ConfigService) => ({ type: 'postgres', url: config.get('DATABASE_URL'), autoLoadEntities: true, synchronize: config.get('NODE_ENV') !== 'production', logging: config.get('NODE_ENV') === 'development', }), }), ThrottlerModule.forRoot([ { ttl: 60_000, limit: 20, }, ]), AuthModule, CharacterModule, ], controllers: [HealthController], }) export class AppModule {}