From 69b0333dc8fdb6660868e09027e2ba49b9efd6da Mon Sep 17 00:00:00 2001 From: Tanya Byrne Date: Thu, 27 Aug 2020 16:22:05 +0100 Subject: [PATCH] adding to env --- api/example.env | 27 ++++++++++++--------------- api/src/env.ts | 19 ++++++++++++++++++- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/api/example.env b/api/example.env index 8a113c6704..d424be0f9a 100644 --- a/api/example.env +++ b/api/example.env @@ -19,24 +19,21 @@ DB_PASSWORD="psql1234" ## SQLite Example # DB_FILENAME="./data.db" -#################################################################################################### -# REDIS Server - -SREDIS_HOST="127.0.0.1" -SREDIS_PORT="6379" -SREDIS_PASSWORD=null - #################################################################################################### # Rate Limiting -RATE_LIMIT_TYPE="redis" -CONSUMED_POINTS_LIMIT=5 -CONSUMED_RESET_DURATION=1 -REDIS_POINTS=5 -REDIS_EXEC_EVENLY=true -REDIS_BLOCK_DURATION=0 -REDIS_INMEMORY_BLOCK_ON_CONSUMED=200 -REDIS_INMEMEMORY_BLOCK_DURATION=30 +RATE_LIMIT_ENABLED= "true", +RATE_LIMIT_DRIVER='memory', # memory | memcache | redis +RATE_LIMIT_REDIS_HOST='127.0.0.1', +RATE_LIMIT_REDIS_PORT='6379', +RATE_LIMIT_REDIS_PASSWORD=null, +CONSUMED_POINTS_LIMIT=100, +CONSUMED_RESET_DURATION=5, +REDIS_POINTS=100, +REDIS_EXEC_EVENLY=true, +REDIS_BLOCK_DURATION=0, +REDIS_INMEMORY_BLOCK_ON_CONSUMED=200, +REDIS_INMEMEMORY_BLOCK_DURATION=30, #################################################################################################### # File Storage diff --git a/api/src/env.ts b/api/src/env.ts index e7c996d6ec..ec39de5559 100644 --- a/api/src/env.ts +++ b/api/src/env.ts @@ -12,6 +12,19 @@ const defaults: Record = { STORAGE_LOCAL_DRIVER: 'local', STORAGE_LOCAL_ROOT: './uploads', + RATE_LIMIT_ENABLED: true, + RATE_LIMIT_DRIVER: 'memory', + RATE_LIMIT_REDIS_HOST: '127.0.0.1', + RATE_LIMIT_REDIS_PORT: '6379', + RATE_LIMIT_REDIS_PASSWORD: null, + CONSUMED_POINTS_LIMIT: 100, + CONSUMED_RESET_DURATION: 5, + REDIS_POINTS: 100, + REDIS_EXEC_EVENLY: true, + REDIS_BLOCK_DURATION: 0, + REDIS_INMEMORY_BLOCK_ON_CONSUMED: 200, + REDIS_INMEMEMORY_BLOCK_DURATION: 30, + ACCESS_TOKEN_TTL: '15m', REFRESH_TOKEN_TTL: '7d', REFRESH_TOKEN_COOKIE_SECURE: false, @@ -42,7 +55,11 @@ export function validateEnv() { if (env.DB_CLIENT && env.DB_CLIENT === 'sqlite3') { requiredKeys.push('DB_FILENAME'); } else { - requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD'); + if (env.DB_CLIENT === 'pg') { + requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_SSL'); + } else { + requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD'); + } } for (const requiredKey of requiredKeys) {