Mercurial > prosody-modules
changeset 3476:4ce945490a24
mod_bookmarks: Actually save node config
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Wed, 06 Mar 2019 17:46:57 +0100 |
parents | 820c891a54cc |
children | 1f2381492c9f |
files | mod_bookmarks/mod_bookmarks.lua |
diffstat | 1 files changed, 18 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_bookmarks/mod_bookmarks.lua Wed Mar 06 01:30:54 2019 +0100 +++ b/mod_bookmarks/mod_bookmarks.lua Wed Mar 06 17:46:57 2019 +0100 @@ -125,9 +125,25 @@ if node ~= "storage:bookmarks" then return; end - local node_config = service.nodes[node].config; + local ok, config = service:get_node_config(node, actor); + if not ok then + module:log("error", "Failed to get node config of %s: %s", node, config); + return; + end + local changed = false; for config_field, value in pairs(default_options) do - node_config[config_field] = value; + if node_config[config_field] ~= value then + node_config[config_field] = value; + changed = true; + end + end + if not changed then + return; + end + local ok, err = service:set_node_config(node, actor, config); + if not ok then + module:log("error", "Failed to set node config of %s: %s", node, err); + return; end end