wewe-rss / apps /server /src /app.module.ts
Elkins's picture
Upload 84 files
ca668ce verified
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 {}