# HG changeset patch
# User Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
# Date 1641427180 -3600
# Node ID 9187a7adfc39ccbf80483b6b6b5787f3353ad3d1
# Parent  192b7aaa3888694b4cc1e8fea70e1a08d6760236
mod_bookmarks2: Override the node configuration if it was wrong

diff -r 192b7aaa3888 -r 9187a7adfc39 mod_bookmarks2/mod_bookmarks2.lua
--- a/mod_bookmarks2/mod_bookmarks2.lua	Wed Jan 05 21:22:13 2022 +0100
+++ b/mod_bookmarks2/mod_bookmarks2.lua	Thu Jan 06 00:59:40 2022 +0100
@@ -182,6 +182,26 @@
 	else
 		module:log("debug", "Got existing bookmarks2.");
 		bookmarks2 = ret;
+
+		local ok, err = service:get_node_config(namespace, jid);
+		if not ok then
+			module:log("error", "Retrieving bookmarks 2 node config failed: %s", err);
+			return ok, err;
+		end
+
+		local options = err;
+		for key, value in pairs(default_options) do
+			if options[key] and options[key] ~= value then
+				module:log("warn", "Overriding bookmarks 2 configuration for %s, from %s to %s", jid, options[key], value);
+				options[key] = value;
+			end
+		end
+
+		local ok, err = service:set_node_config(namespace, jid, options);
+		if not ok then
+			module:log("error", "Setting bookmarks 2 node config failed: %s", err);
+			return ok, err;
+		end
 	end
 
 	-- Get a list of all items we may want to remove.