Software /
code /
prosody
Changeset
8300:7759eb130938
mod_pep_plus, mod_pubsub: Store node content in separate archive stores
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 08 Oct 2017 01:56:44 +0200 |
parents | 8299:756a2a00e7e7 |
children | 8301:e2ab440a3437 |
files | plugins/mod_pep_plus.lua plugins/mod_pubsub/pubsub.lib.lua |
diffstat | 2 files changed, 7 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_pep_plus.lua Sun Oct 08 18:34:57 2017 +0200 +++ b/plugins/mod_pep_plus.lua Sun Oct 08 01:56:44 2017 +0200 @@ -19,8 +19,6 @@ local recipients = {}; local hash_map = {}; -local archive = module:open_store("pubsub", "archive"); - function module.save() return { services = services }; end @@ -38,6 +36,8 @@ local function simple_itemstore(user) return function (config, node) + module:log("debug", "new simple_itemstore(%q, %q)", user, node); + local archive = module:open_store("pep_"..node, "archive"); return lib_pubsub.simple_itemstore(archive, config, user, node, false); end end @@ -62,6 +62,7 @@ end function get_pep_service(name) + module:log("debug", "get_pep_service(%q)"); local service = services[name]; if service then return service;
--- a/plugins/mod_pubsub/pubsub.lib.lua Sun Oct 08 18:34:57 2017 +0200 +++ b/plugins/mod_pubsub/pubsub.lib.lua Sun Oct 08 01:56:44 2017 +0200 @@ -331,7 +331,7 @@ local get_set = {}; function get_set:items() local store = self.store; - local data, err = archive:find(user, { with = node }); + local data, err = archive:find(user); if not data then module:log("error", "Unable to get items: %s", err); return true; @@ -349,7 +349,6 @@ function get_set:get(key) local store = self.store; local data, err = archive:find(user, { - with = node; key = key; }); if not data then @@ -370,12 +369,9 @@ if value ~= nil then local publisher = value.attr.publisher; local payload = value.tags[1]; - data, err = archive:append(user, key, payload, time_now(), node); + data, err = archive:append(user, key, payload, time_now(), publisher); else - data, err = archive:delete(user, { - key = key; - with = node; - }); + data, err = archive:delete(user, { key = key; }); end if not data then module:log("error", "Unable to set item: %s", err); @@ -384,7 +380,7 @@ return data; end function get_set:clear() - return archive:delete(user, { with = node }); + return archive:delete(user); end return setmetatable(get_set, archive); end