mirror of
https://github.com/vernu/textbee.git
synced 2026-05-19 05:46:23 -04:00
feat(api): throttle all endpoints to 30 requests per minute
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
"@nestjs/passport": "^8.2.2",
|
||||
"@nestjs/platform-express": "^8.4.7",
|
||||
"@nestjs/swagger": "^5.2.1",
|
||||
"@nestjs/throttler": "^5.1.2",
|
||||
"axios": "^1.4.0",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"dotenv": "^16.0.3",
|
||||
|
||||
15
api/pnpm-lock.yaml
generated
15
api/pnpm-lock.yaml
generated
@@ -29,6 +29,9 @@ dependencies:
|
||||
'@nestjs/swagger':
|
||||
specifier: ^5.2.1
|
||||
version: 5.2.1(@nestjs/common@8.4.7)(@nestjs/core@8.4.7)(reflect-metadata@0.1.13)(swagger-ui-express@4.6.3)
|
||||
'@nestjs/throttler':
|
||||
specifier: ^5.1.2
|
||||
version: 5.1.2(@nestjs/common@8.4.7)(@nestjs/core@8.4.7)(reflect-metadata@0.1.13)
|
||||
axios:
|
||||
specifier: ^1.4.0
|
||||
version: 1.4.0
|
||||
@@ -2203,6 +2206,18 @@ packages:
|
||||
tslib: 2.4.0
|
||||
dev: true
|
||||
|
||||
/@nestjs/throttler@5.1.2(@nestjs/common@8.4.7)(@nestjs/core@8.4.7)(reflect-metadata@0.1.13):
|
||||
resolution: {integrity: sha512-60MqhSLYUqWOgc38P6C6f76JIpf6mVjly7gpuPBCKtVd0p5e8Fq855j7bJuO4/v25vgaOo1OdVs0U1qtgYioGw==}
|
||||
peerDependencies:
|
||||
'@nestjs/common': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0
|
||||
'@nestjs/core': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0
|
||||
reflect-metadata: ^0.1.13 || ^0.2.0
|
||||
dependencies:
|
||||
'@nestjs/common': 8.4.7(reflect-metadata@0.1.13)(rxjs@7.8.1)
|
||||
'@nestjs/core': 8.4.7(@nestjs/common@8.4.7)(@nestjs/platform-express@8.4.7)(reflect-metadata@0.1.13)(rxjs@7.8.1)
|
||||
reflect-metadata: 0.1.13
|
||||
dev: false
|
||||
|
||||
/@nodelib/fs.scandir@2.1.5:
|
||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
@@ -3,15 +3,28 @@ import { MongooseModule } from '@nestjs/mongoose'
|
||||
import { GatewayModule } from './gateway/gateway.module'
|
||||
import { AuthModule } from './auth/auth.module'
|
||||
import { UsersModule } from './users/users.module'
|
||||
import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler'
|
||||
import { APP_GUARD } from '@nestjs/core/constants'
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
MongooseModule.forRoot(process.env.MONGO_URI),
|
||||
ThrottlerModule.forRoot([
|
||||
{
|
||||
ttl: 60000,
|
||||
limit: 30,
|
||||
},
|
||||
]),
|
||||
AuthModule,
|
||||
UsersModule,
|
||||
GatewayModule,
|
||||
],
|
||||
controllers: [],
|
||||
providers: [],
|
||||
providers: [
|
||||
{
|
||||
provide: APP_GUARD,
|
||||
useClass: ThrottlerGuard,
|
||||
},
|
||||
],
|
||||
})
|
||||
export class AppModule {}
|
||||
|
||||
Reference in New Issue
Block a user