Diff

plugins/mod_pubsub/mod_pubsub.lua @ 8213:e1272aeef31c

mod_pubsub: Add item persistence using mod_storage_*’s archive store.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Sat, 15 Apr 2017 01:21:55 +0100
parent 8210:352d605b1178
child 8218:2c75a5ba58fc
line wrap: on
line diff
--- a/plugins/mod_pubsub/mod_pubsub.lua	Sun Apr 02 19:08:54 2017 +0100
+++ b/plugins/mod_pubsub/mod_pubsub.lua	Sat Apr 15 01:21:55 2017 +0100
@@ -21,6 +21,8 @@
 module:add_identity("pubsub", "service", pubsub_disco_name);
 module:add_feature("http://jabber.org/protocol/pubsub");
 
+local archive = module:open_store("pubsub", "archive");
+
 function handle_pubsub_iq(event)
 	local origin, stanza = event.origin, event.stanza;
 	local pubsub_tag = stanza.tags[1];
@@ -36,6 +38,10 @@
 	end
 end
 
+local function simple_itemstore(config, node)
+	return lib_pubsub.simple_itemstore(archive, config, node, expose_publisher);
+end
+
 function simple_broadcast(kind, node, jids, item, actor)
 	if item then
 		item = st.clone(item);
@@ -224,6 +230,7 @@
 		autocreate_on_publish = autocreate_on_publish;
 		autocreate_on_subscribe = autocreate_on_subscribe;
 
+		itemstore = simple_itemstore;
 		broadcaster = simple_broadcast;
 		get_affiliation = get_affiliation;