From 97419b436c75aab273608423a534d67824a67115 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Thu, 26 Sep 2024 15:45:54 +0800 Subject: [PATCH] Add reload settings method, reload settings when DB updated --- Server/controllers/settingsController.js | 1 + Server/service/settingsService.js | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/Server/controllers/settingsController.js b/Server/controllers/settingsController.js index 87e4edfc1..c44363bfa 100644 --- a/Server/controllers/settingsController.js +++ b/Server/controllers/settingsController.js @@ -31,6 +31,7 @@ const updateAppSettings = async (req, res, next) => { try { const settings = await req.db.updateAppSettings(req.body); + await req.settingsService.reloadSettings(); return res.status(200).json({ success: true, msg: successMessages.UPDATE_APP_SETTINGS, diff --git a/Server/service/settingsService.js b/Server/service/settingsService.js index e8abe747f..a5e7b2734 100644 --- a/Server/service/settingsService.js +++ b/Server/service/settingsService.js @@ -22,6 +22,19 @@ class SettingsService { } } + async reloadSettings() { + try { + this.settings = await AppSettings.findOne(); + if (!this.settings) { + throw new Error("Settings not found"); + } + } catch (error) { + error.service === undefined ? (error.service = SERVICE_NAME) : null; + error.method === undefined ? (error.method = "reloadSettings") : null; + throw error; + } + } + getSettings() { if (!this.settings) { throw new Error("Settings have not been loaded");