comparison mod_bookmarks/mod_bookmarks.lua @ 3235:bd8e94ff726b

mod_bookmarks: Expose publish_to_pep() to other modules.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Sat, 18 Aug 2018 17:25:44 +0100
parents b1e25943a004
children 786ba175f2e5
comparison
equal deleted inserted replaced
3234:b1e25943a004 3235:bd8e94ff726b
40 module:log("debug", "Sending back private for %s: %s", username, content); 40 module:log("debug", "Sending back private for %s: %s", username, content);
41 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));
42 return true; 42 return true;
43 end 43 end
44 44
45 local function publish_to_pep(username, jid, bookmarks) 45 function publish_to_pep(jid, bookmarks)
46 local service = mod_pep.get_pep_service(username); 46 local service = mod_pep.get_pep_service(jid_split(jid));
47 local item = st.stanza("item", { xmlns = "http://jabber.org/protocol/pubsub", id = "current" }) 47 local item = st.stanza("item", { xmlns = "http://jabber.org/protocol/pubsub", id = "current" })
48 :add_child(bookmarks); 48 :add_child(bookmarks);
49 local options = { 49 local options = {
50 ["persist_items"] = true; 50 ["persist_items"] = true;
51 ["access_model"] = "whitelist"; 51 ["access_model"] = "whitelist";
65 if bookmarks == nil then 65 if bookmarks == nil then
66 return; 66 return;
67 end 67 end
68 68
69 module:log("debug", "Private bookmarks set by client, publishing to pep"); 69 module:log("debug", "Private bookmarks set by client, publishing to pep");
70 local ok, err = publish_to_pep(session.username, session.full_jid, bookmarks); 70 local ok, err = publish_to_pep(session.full_jid, bookmarks);
71 if not ok then 71 if not ok then
72 module:log("error", "Failed to publish to PEP bookmarks for %s: %s", session.username, err); 72 module:log("error", "Failed to publish to PEP bookmarks for %s: %s", session.username, err);
73 session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to store bookmarks to PEP")); 73 session.send(st.error_reply(stanza, "cancel", "internal-server-error", "Failed to store bookmarks to PEP"));
74 return; 74 return;
75 end 75 end
95 end 95 end
96 local bookmarks = st.deserialize(data); 96 local bookmarks = st.deserialize(data);
97 module:log("debug", "Got private bookmarks of %s: %s", username, bookmarks); 97 module:log("debug", "Got private bookmarks of %s: %s", username, bookmarks);
98 98
99 module:log("debug", "Going to store PEP item for %s", username); 99 module:log("debug", "Going to store PEP item for %s", username);
100 local ok, err = publish_to_pep(username, session.host, bookmarks); 100 local ok, err = publish_to_pep(session.full_jid, bookmarks);
101 if not ok then 101 if not ok then
102 module:log("error", "Failed to store bookmarks to PEP for %s, aborting migration: %s", username, err); 102 module:log("error", "Failed to store bookmarks to PEP for %s, aborting migration: %s", username, err);
103 return; 103 return;
104 end 104 end
105 module:log("debug", "Stored bookmarks to PEP for %s", username); 105 module:log("debug", "Stored bookmarks to PEP for %s", username);