Mercurial > prosody-modules
comparison mod_bookmarks2/mod_bookmarks2.lua @ 4850:9187a7adfc39
mod_bookmarks2: Override the node configuration if it was wrong
| author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
|---|---|
| date | Thu, 06 Jan 2022 00:59:40 +0100 |
| parents | 5001104f0275 |
| children | a1181413a0eb |
comparison
equal
deleted
inserted
replaced
| 4849:192b7aaa3888 | 4850:9187a7adfc39 |
|---|---|
| 180 module:log("debug", "Got %s error, aborting.", ret); | 180 module:log("debug", "Got %s error, aborting.", ret); |
| 181 return false, ret; | 181 return false, ret; |
| 182 else | 182 else |
| 183 module:log("debug", "Got existing bookmarks2."); | 183 module:log("debug", "Got existing bookmarks2."); |
| 184 bookmarks2 = ret; | 184 bookmarks2 = ret; |
| 185 | |
| 186 local ok, err = service:get_node_config(namespace, jid); | |
| 187 if not ok then | |
| 188 module:log("error", "Retrieving bookmarks 2 node config failed: %s", err); | |
| 189 return ok, err; | |
| 190 end | |
| 191 | |
| 192 local options = err; | |
| 193 for key, value in pairs(default_options) do | |
| 194 if options[key] and options[key] ~= value then | |
| 195 module:log("warn", "Overriding bookmarks 2 configuration for %s, from %s to %s", jid, options[key], value); | |
| 196 options[key] = value; | |
| 197 end | |
| 198 end | |
| 199 | |
| 200 local ok, err = service:set_node_config(namespace, jid, options); | |
| 201 if not ok then | |
| 202 module:log("error", "Setting bookmarks 2 node config failed: %s", err); | |
| 203 return ok, err; | |
| 204 end | |
| 185 end | 205 end |
| 186 | 206 |
| 187 -- Get a list of all items we may want to remove. | 207 -- Get a list of all items we may want to remove. |
| 188 local to_remove = {}; | 208 local to_remove = {}; |
| 189 for i in ipairs(bookmarks2) do | 209 for i in ipairs(bookmarks2) do |
