reload plugin when its settings change, fix #262

This commit is contained in:
lesion
2023-05-01 21:20:32 +02:00
parent 3468c34b28
commit 93616af565
2 changed files with 14 additions and 1 deletions

View File

@@ -126,6 +126,19 @@ const settingsController = {
async setRequest (req, res) { async setRequest (req, res) {
const { key, value, is_secret } = req.body const { key, value, is_secret } = req.body
const ret = await settingsController.set(key, value, is_secret) const ret = await settingsController.set(key, value, is_secret)
// reload plugin when its settings change
if (key.startsWith('plugin_')) {
const pluginName = key.slice(7)
try {
const pluginController = require('./plugins')
pluginController.unloadPlugin(pluginName)
pluginController.loadPlugin(pluginName)
} catch (e) {
log.error(e)
}
}
if (ret) { res.sendStatus(200) } else { res.sendStatus(400) } if (ret) { res.sendStatus(200) } else { res.sendStatus(400) }
}, },