mod_vcard_legacy: Pass node defaults to publish instead of create
authorKim Alvefur <zash@zash.se>
Sat, 20 Oct 2018 14:29:20 +0200
changeset 9523 d6964d16455c
parent 9522 e6e5ff64d1c2
child 9524 e57f6cd1af50
mod_vcard_legacy: Pass node defaults to publish instead of create The create calls were introduced in 62fa766d8f3 but work on this started a while before 038446c50630 allowed passing the _defaults_only flag to publish.
plugins/mod_vcard_legacy.lua
--- a/plugins/mod_vcard_legacy.lua	Thu Oct 18 22:28:42 2018 +0200
+++ b/plugins/mod_vcard_legacy.lua	Sat Oct 20 14:29:20 2018 +0200
@@ -154,13 +154,8 @@
 
 	if pep_service:purge("urn:xmpp:avatar:metadata", origin.full_jid) then
 		pep_service:purge("urn:xmpp:avatar:data", origin.full_jid);
-	else
-		pep_service:create("urn:xmpp:avatar:metadata", origin.full_jid, node_defaults);
-		pep_service:create("urn:xmpp:avatar:data", origin.full_jid, node_defaults);
 	end
 
-	pep_service:create("urn:xmpp:vcard4", origin.full_jid, node_defaults);
-
 	vcard4:tag("fn"):text_tag("text", vcard_temp:get_child_text("FN")):up();
 
 	local N = vcard_temp:get_child("N");
@@ -253,9 +248,9 @@
 					:tag("data", { xmlns="urn:xmpp:avatar:data" })
 						:text(avatar_payload);
 
-				local ok, err = pep_service:publish("urn:xmpp:avatar:data", origin.full_jid, avatar_hash, avatar_data)
+				local ok, err = pep_service:publish("urn:xmpp:avatar:data", origin.full_jid, avatar_hash, avatar_data, node_defaults)
 				if ok then
-					ok, err = pep_service:publish("urn:xmpp:avatar:metadata", origin.full_jid, avatar_hash, avatar_meta);
+					ok, err = pep_service:publish("urn:xmpp:avatar:metadata", origin.full_jid, avatar_hash, avatar_meta, node_defaults);
 				end
 				if not ok then
 					handle_error(origin, stanza, err);
@@ -265,7 +260,7 @@
 		end
 	end
 
-	local ok, err = pep_service:publish("urn:xmpp:vcard4", origin.full_jid, "current", vcard4);
+	local ok, err = pep_service:publish("urn:xmpp:vcard4", origin.full_jid, "current", vcard4, node_defaults);
 	if ok then
 		origin.send(st.reply(stanza));
 	else