comparison mod_group_bookmarks/mod_group_bookmarks.lua @ 3261:c2b1f64aaf97

mod_group_bookmarks: Return early when the key is not bookmarks.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Fri, 24 Aug 2018 19:38:17 +0200
parents 9bb317400c4c
children 0ccdd3f31435
comparison
equal deleted inserted replaced
3260:9bb317400c4c 3261:c2b1f64aaf97
46 local origin, stanza = event.origin, event.stanza; 46 local origin, stanza = event.origin, event.stanza;
47 local query = stanza.tags[1]; 47 local query = stanza.tags[1];
48 if #query.tags == 1 then 48 if #query.tags == 1 then
49 local tag = query.tags[1]; 49 local tag = query.tags[1];
50 local key = tag.name..":"..tag.attr.xmlns; 50 local key = tag.name..":"..tag.attr.xmlns;
51 if key ~= "storage:storage:bookmarks" then
52 return;
53 end
51 local data, err = dm_load(origin.username, origin.host, "private"); 54 local data, err = dm_load(origin.username, origin.host, "private");
52 if err then 55 if err then
53 origin.send(st.error_reply(stanza, "wait", "internal-server-error")); 56 origin.send(st.error_reply(stanza, "wait", "internal-server-error"));
54 return true; 57 return true;
55 end 58 end
56 local data = data and data[key]; 59 local data = data and data[key];
57 if (not data) and key == "storage:storage:bookmarks" then 60 if not data then
58 data = st.stanza("storage", { xmlns = "storage:bookmarks" }); 61 data = st.stanza("storage", { xmlns = "storage:bookmarks" });
59 end 62 end
60 if data then 63 data = st.deserialize(data);
61 data = st.deserialize(data); 64 data = inject_bookmarks(origin.username, origin.host, data);
62 if key == "storage:storage:bookmarks" then 65 origin.send(st.reply(stanza):tag("query", {xmlns = "jabber:iq:private"})
63 data = inject_bookmarks(origin.username, origin.host, data); 66 :add_child(data));
64 end
65 origin.send(st.reply(stanza):tag("query", {xmlns = "jabber:iq:private"})
66 :add_child(data));
67 else
68 origin.send(st.reply(stanza):add_child(stanza.tags[1]));
69 end
70 return true; 67 return true;
71 end 68 end
72 end, 1); 69 end, 1);
73 70
74 function module.load() 71 function module.load()