Mercurial > prosody-modules
comparison mod_bookmarks/mod_bookmarks.lua @ 3233:176b537a658c
mod_bookmarks: Send back empty Private XML bookmarks on empty PEP bookmarks.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Sat, 18 Aug 2018 14:43:58 +0100 |
parents | 34e30a891bd3 |
children | b1e25943a004 |
comparison
equal
deleted
inserted
replaced
3232:34e30a891bd3 | 3233:176b537a658c |
---|---|
21 | 21 |
22 module:log("debug", "Getting private bookmarks: %s", bookmarks); | 22 module:log("debug", "Getting private bookmarks: %s", bookmarks); |
23 | 23 |
24 local username = session.username; | 24 local username = session.username; |
25 local service = mod_pep.get_pep_service(username); | 25 local service = mod_pep.get_pep_service(username); |
26 module:log("debug", "%s", session.full_jid); | |
27 local ok, id, item = service:get_last_item("storage:bookmarks", session.full_jid); | 26 local ok, id, item = service:get_last_item("storage:bookmarks", session.full_jid); |
28 if not ok then | 27 if not ok then |
29 module:log("error", "Failed to retrieve PEP bookmarks of %s: %s", username, id); | 28 module:log("error", "Failed to retrieve PEP bookmarks of %s: %s", username, id); |
30 session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to retrive bookmarks from PEP")); | 29 session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to retrive bookmarks from PEP")); |
31 return; | 30 return; |
32 end | 31 end |
32 if not id or not item then | |
33 module:log("debug", "Got no PEP bookmarks item for %s, returning empty private bookmarks", username); | |
34 session.send(st.reply(stanza):add_child(query)); | |
35 return | |
36 end | |
37 module:log("debug", "Got item %s: %s", id, item); | |
33 | 38 |
34 local content = item.tags[1]; | 39 local content = item.tags[1]; |
35 module:log("debug", "Sending back private for %s: %s", username, content); | 40 module:log("debug", "Sending back private for %s: %s", username, content); |
36 session.send(st.reply(stanza):query("jabber:iq:private"):add_child(content)); | 41 session.send(st.reply(stanza):query("jabber:iq:private"):add_child(content)); |
37 return true; | 42 return true; |