|
|
@ -176,13 +176,22 @@ import { UserModule } from './user/user.module'; |
|
|
imports: [ConfigurationModule], |
|
|
imports: [ConfigurationModule], |
|
|
inject: [ConfigurationService], |
|
|
inject: [ConfigurationService], |
|
|
useFactory: (configurationService: ConfigurationService) => { |
|
|
useFactory: (configurationService: ConfigurationService) => { |
|
|
|
|
|
const isRateLimitingEnabled = configurationService.get( |
|
|
|
|
|
'ENABLE_FEATURE_RATE_LIMITING' |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
return { |
|
|
return { |
|
|
storage: new ThrottlerStorageRedisService({ |
|
|
skipIf: () => { |
|
|
db: configurationService.get('REDIS_DB'), |
|
|
return !isRateLimitingEnabled; |
|
|
host: configurationService.get('REDIS_HOST'), |
|
|
}, |
|
|
password: configurationService.get('REDIS_PASSWORD'), |
|
|
storage: isRateLimitingEnabled |
|
|
port: configurationService.get('REDIS_PORT') |
|
|
? new ThrottlerStorageRedisService({ |
|
|
}), |
|
|
db: configurationService.get('REDIS_DB'), |
|
|
|
|
|
host: configurationService.get('REDIS_HOST'), |
|
|
|
|
|
password: configurationService.get('REDIS_PASSWORD'), |
|
|
|
|
|
port: configurationService.get('REDIS_PORT') |
|
|
|
|
|
}) |
|
|
|
|
|
: undefined, |
|
|
throttlers: [ |
|
|
throttlers: [ |
|
|
{ |
|
|
{ |
|
|
limit: 10, |
|
|
limit: 10, |
|
|
|