| import { Module } from '@nestjs/common'; |
| import { AppController } from './app.controller'; |
| import { AppService } from './app.service'; |
| import { TrpcModule } from '@server/trpc/trpc.module'; |
| import { ConfigModule, ConfigService } from '@nestjs/config'; |
| import configuration, { ConfigurationType } from './configuration'; |
| import { ThrottlerModule } from '@nestjs/throttler'; |
| import { ScheduleModule } from '@nestjs/schedule'; |
| import { FeedsModule } from './feeds/feeds.module'; |
|
|
| @Module({ |
| imports: [ |
| TrpcModule, |
| FeedsModule, |
| ScheduleModule.forRoot(), |
| ConfigModule.forRoot({ |
| isGlobal: true, |
| envFilePath: ['.env.local', '.env'], |
| load: [configuration], |
| }), |
| ThrottlerModule.forRootAsync({ |
| imports: [ConfigModule], |
| inject: [ConfigService], |
| useFactory(config: ConfigService) { |
| const throttler = |
| config.get<ConfigurationType['throttler']>('throttler'); |
| return [ |
| { |
| ttl: 60, |
| limit: throttler?.maxRequestPerMinute || 60, |
| }, |
| ]; |
| }, |
| }), |
| ], |
| controllers: [AppController], |
| providers: [AppService], |
| }) |
| export class AppModule {} |
|
|