11import { Module } from '@nestjs/common' ;
2+ import { ConfigModule } from '@nestjs/config' ;
23import { APP_FILTER , APP_GUARD , APP_INTERCEPTOR , APP_PIPE } from '@nestjs/core' ;
3- import { ServeStaticModule } from '@nestjs/serve-static' ;
44import { ScheduleModule } from '@nestjs/schedule' ;
5- import { ConfigModule } from '@nestjs/config' ;
5+ import { ServeStaticModule } from '@nestjs/serve-static' ;
6+ import { ThrottlerGuard , ThrottlerModule } from '@nestjs/throttler' ;
67import { join } from 'path' ;
7-
88import { AppController } from './app.controller' ;
9- import { DatabaseModule } from './database/database.module' ;
9+ import { EnvConfigModule } from './common/config/config.module' ;
10+ import { envValidator } from './common/config/env-schema' ;
11+ import { ExceptionFilter } from './common/exceptions/exception.filter' ;
1012import { JwtAuthGuard } from './common/guards' ;
13+ import { SnakeCaseInterceptor } from './common/interceptors/snake-case' ;
14+ import { TransformEnumInterceptor } from './common/interceptors/transform-enum.interceptor' ;
1115import { HttpValidationPipe } from './common/pipes' ;
12- import { HealthModule } from './modules/health/health.module' ;
16+ import Environment from './common/utils/environment' ;
17+ import { DatabaseModule } from './database/database.module' ;
1318import { AuthModule } from './modules/auth/auth.module' ;
14- import { UserModule } from './modules/user/user.module' ;
19+ import { CronJobModule } from './modules/cron-job/cron-job.module' ;
20+ import { HealthModule } from './modules/health/health.module' ;
1521import { JobModule } from './modules/job/job.module' ;
1622import { PaymentModule } from './modules/payment/payment.module' ;
17- import { Web3Module } from './modules/web3/web3 .module' ;
18- import { envValidator } from './common/config/env-schema ' ;
23+ import { QualificationModule } from './modules/qualification/qualification .module' ;
24+ import { StatisticModule } from './modules/statistic/statistic.module ' ;
1925import { StorageModule } from './modules/storage/storage.module' ;
20- import { CronJobModule } from './modules/cron-job/cron-job .module' ;
21- import { SnakeCaseInterceptor } from './common/interceptors/snake-case ' ;
26+ import { UserModule } from './modules/user/user .module' ;
27+ import { Web3Module } from './modules/web3/web3.module ' ;
2228import { WebhookModule } from './modules/webhook/webhook.module' ;
23- import { EnvConfigModule } from './common/config/config.module' ;
24- import { ExceptionFilter } from './common/exceptions/exception.filter' ;
25- import { StatisticModule } from './modules/statistic/statistic.module' ;
26- import { QualificationModule } from './modules/qualification/qualification.module' ;
27- import { TransformEnumInterceptor } from './common/interceptors/transform-enum.interceptor' ;
28- import Environment from './common/utils/environment' ;
2929
3030@Module ( {
3131 providers : [
@@ -49,8 +49,20 @@ import Environment from './common/utils/environment';
4949 provide : APP_FILTER ,
5050 useClass : ExceptionFilter ,
5151 } ,
52+ {
53+ provide : APP_GUARD ,
54+ useClass : ThrottlerGuard ,
55+ } ,
5256 ] ,
5357 imports : [
58+ ThrottlerModule . forRoot ( {
59+ throttlers : [
60+ {
61+ ttl : 60000 ,
62+ limit : 1000 ,
63+ } ,
64+ ] ,
65+ } ) ,
5466 ScheduleModule . forRoot ( ) ,
5567 ConfigModule . forRoot ( {
5668 /**
0 commit comments