diff --git a/Server/service/settingsService.js b/Server/service/settingsService.js index ca2509fe0..b1027a17c 100644 --- a/Server/service/settingsService.js +++ b/Server/service/settingsService.js @@ -1,34 +1,23 @@ +const { env } = require("process"); const AppSettings = require("../models/AppSettings"); const SERVICE_NAME = "SettingsService"; - -CLIENT_HOST = process.env.CLIENT_HOST; -JWT_SECRET = process.env.JWT_SECRET; -DB_TYPE = process.env.DB_TYPE; -DB_CONNECTION_STRING = process.env.DB_CONNECTION_STRING; -REDIS_HOST = process.env.REDIS_HOST; -REDIS_PORT = process.env.REDIS_PORT; -TOKEN_TTL = process.env.TOKEN_TTL; -PAGESPEED_API_KEY = process.env.PAGESPEED_API_KEY; -SYSTEM_EMAIL_HOST = process.env.SYSTEM_EMAIL_HOST; -SYSTEM_EMAIL_PORT = process.env.SYSTEM_EMAIL_PORT; -SYSTEM_EMAIL_ADDRESS = process.env.SYSTEM_EMAIL_ADDRESS; -SYSTEM_EMAIL_PASSWORD = process.env.SYSTEM_EMAIL_PASSWORD; +const envConfig = { + clientHost: process.env.CLIENT_HOST, + jwtSecret: process.env.JWT_SECRET, + dbType: process.env.DB_TYPE, + dbConnectionString: process.env.DB_CONNECTION_STRING, + redisHost: process.env.REDIS_HOST, + redisPort: process.env.REDIS_PORT, + tokenTTL: process.env.TOKEN_TTL, + pagespeedApiKey: process.env.PAGESPEED_API_KEY, + systemEmailHost: process.env.SYSTEM_EMAIL_HOST, + systemEmailPort: process.env.SYSTEM_EMAIL_PORT, + systemEmailAddress: process.env.SYSTEM_EMAIL_ADDRESS, + systemEmailPassword: process.env.SYSTEM_EMAIL_PASSWORD, +}; class SettingsService { constructor() { - this.settings = { - clientHost: CLIENT_HOST, - jwtSecret: JWT_SECRET, - dbType: DB_TYPE, - dbConnectionString: DB_CONNECTION_STRING, - redisHost: REDIS_HOST, - redisPort: REDIS_PORT, - tokenTTL: TOKEN_TTL, - pagespeedApiKey: PAGESPEED_API_KEY, - systemEmailHost: SYSTEM_EMAIL_HOST, - systemEmailPort: SYSTEM_EMAIL_PORT, - systemEmailAddress: SYSTEM_EMAIL_ADDRESS, - systemEmailPassword: SYSTEM_EMAIL_PASSWORD, - }; + this.settings = envConfig; } async loadSettings() { @@ -37,8 +26,8 @@ class SettingsService { if (!this.settings) { throw new Error("Settings not found"); } - for (const key in this.settings) { - if (this.settings[key] === undefined && dbSettings[key] !== undefined) { + for (const key in envConfig) { + if (envConfig[key] === undefined && dbSettings[key] !== undefined) { this.settings[key] = dbSettings[key]; } } @@ -52,7 +41,13 @@ class SettingsService { async reloadSettings() { try { - this.settings = await AppSettings.findOne(); + const dbSettings = await AppSettings.findOne(); + + for (const key in envConfig) { + if (envConfig[key] === undefined && dbSettings[key] !== undefined) { + this.settings[key] = dbSettings[key]; + } + } if (!this.settings) { throw new Error("Settings not found"); }