x1ongzhu 1 an în urmă
părinte
comite
536f3b106d

+ 1 - 1
package.json

@@ -41,7 +41,7 @@
     "@nestjs/platform-socket.io": "^9.4.3",
     "@nestjs/schedule": "^3.0.4",
     "@nestjs/swagger": "^6.2.1",
-    "@nestjs/throttler": "^4.0.0",
+    "@nestjs/throttler": "^6.0.0",
     "@nestjs/typeorm": "^9.0.1",
     "@nestjs/websockets": "^9.4.3",
     "@types/ws": "^8.5.10",

+ 13 - 7
src/app.module.ts

@@ -2,10 +2,10 @@ import { AliyunModule } from './aliyun/aliyun.module'
 import { Module } from '@nestjs/common'
 import { ConfigModule, ConfigService } from '@nestjs/config'
 import { TypeOrmModule } from '@nestjs/typeorm'
-import { ThrottlerModule } from '@nestjs/throttler'
+import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler'
 import * as Yup from 'yup'
 import { DevtoolsModule } from '@nestjs/devtools-integration'
-import { APP_FILTER } from '@nestjs/core'
+import { APP_FILTER, APP_GUARD } from '@nestjs/core'
 import { UsersModule } from './users/users.module'
 import { SmsModule } from './sms/sms.module'
 import { AuthModule } from './auth/auth.module'
@@ -19,7 +19,7 @@ import { PhoneListModule } from './phone-list/phone-list.module'
 import { DeviceModule } from './device/device.module'
 import { BalanceModule } from './balance/balance.module'
 import { ChannelModule } from './channel/channel.module'
-import { OperaterConfigModule } from './operator_config/operator_config.module';
+import { OperaterConfigModule } from './operator_config/operator_config.module'
 
 @Module({
     imports: [
@@ -40,10 +40,12 @@ import { OperaterConfigModule } from './operator_config/operator_config.module';
         ThrottlerModule.forRootAsync({
             imports: [ConfigModule],
             inject: [ConfigService],
-            useFactory: (config: ConfigService) => ({
-                ttl: config.get<number>('THROTTLE_TTL'),
-                limit: config.get<number>('THROTTLE_LIMIT')
-            })
+            useFactory: (config: ConfigService) => [
+                {
+                    ttl: config.get<number>('THROTTLE_TTL'),
+                    limit: config.get<number>('THROTTLE_LIMIT')
+                }
+            ]
         }),
         TypeOrmModule.forRootAsync({
             imports: [ConfigModule],
@@ -87,6 +89,10 @@ import { OperaterConfigModule } from './operator_config/operator_config.module';
         {
             provide: APP_FILTER,
             useClass: AllExceptionsFilter
+        },
+        {
+            provide: APP_GUARD,
+            useClass: ThrottlerGuard
         }
     ]
 })

+ 1 - 5
src/rcs-number/impl/durian.service.ts

@@ -1,10 +1,6 @@
 import axios from 'axios'
 import { GetNumberService, GetNumberResponse } from './get-number-service'
-import { RcsNumber, RcsNumberSource } from '../entities/rcs-number.entity'
-import { InjectRepository } from '@nestjs/typeorm'
-import { Repository } from 'typeorm'
-import { Task } from '../../task/entities/task.entity'
-import { Channel } from '../../channel/entities/channel.entities'
+import { RcsNumberSource } from '../entities/rcs-number.entity'
 import { InternalServerErrorException } from '@nestjs/common'
 import * as mcc_mnc_list from 'mcc-mnc-list'
 

+ 2 - 0
src/rcs-number/rcs-number.controller.ts

@@ -3,12 +3,14 @@ import { RcsNumberService } from './rcs-number.service'
 import { PageRequest } from '../common/dto/page-request'
 import { RcsNumber } from './entities/rcs-number.entity'
 import { Public } from '../auth/public.decorator'
+import { Throttle } from '@nestjs/throttler'
 
 @Controller('rcs-number')
 @Public()
 export class RcsNumberController {
     constructor(private readonly rcsNumberService: RcsNumberService) {}
 
+    @Throttle({ default: { limit: 10, ttl: 60000 } })
     @Post('/')
     async findAll(@Body() page: PageRequest<RcsNumber>) {
         return await this.rcsNumberService.findAll(page)

+ 5 - 7
yarn.lock

@@ -1138,12 +1138,10 @@
   dependencies:
     tslib "2.5.3"
 
-"@nestjs/throttler@^4.0.0":
-  version "4.2.1"
-  resolved "https://registry.npmmirror.com/@nestjs/throttler/-/throttler-4.2.1.tgz#7a27bb3fed899396beab04648ed72b5c682fc61b"
-  integrity sha512-wVPMuIyr0KdrK1RVVQceWVNesogCm9IgYC1V5EkaTZ+usIE4qxEyzdwU5IqQLgOO/Loiq98MLwReDxazX7i9Uw==
-  dependencies:
-    md5 "^2.2.1"
+"@nestjs/throttler@^6.0.0":
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/@nestjs/throttler/-/throttler-6.0.0.tgz#4f602ce5c584dd21b728eee612baf5d8118bac5f"
+  integrity sha512-2mccn9uCMuDiZBG1c+tIHlNIhkyVJAg167wK66GcNNoj6+6qf8fCOxBZbAHUSyOJeoIxcZAhT9wjJRSXqbWY4w==
 
 "@nestjs/typeorm@^9.0.1":
   version "9.0.1"
@@ -5906,7 +5904,7 @@ mcc-mnc-list@^1.1.11:
   resolved "https://registry.npmmirror.com/mcc-mnc-list/-/mcc-mnc-list-1.1.11.tgz#f1256aab7ce7422f1d827701d5ae5a11443be4b2"
   integrity sha512-3kkW2fvLtsKch1ci+t/3VOggmhwAviHv8MzDp8Lq5u8u00QMflLSDiNRtXqAzSfCYoNslAs9Yy8deKreygHS/w==
 
-md5@^2.2.1, md5@^2.3.0:
+md5@^2.3.0:
   version "2.3.0"
   resolved "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f"
   integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==