comparison plugins/mod_pubsub/mod_pubsub.lua @ 12674:72f431b4dc2c

Merge role-auth->trunk
author Matthew Wild <mwild1@gmail.com>
date Mon, 22 Aug 2022 13:53:35 +0100
parents 9061f9621330
children 31b22cc221b5
comparison
equal deleted inserted replaced
12639:6d9ee0a3eb4b 12674:72f431b4dc2c
1 local pubsub = require "util.pubsub"; 1 local pubsub = require "util.pubsub";
2 local st = require "util.stanza"; 2 local st = require "util.stanza";
3 local jid_bare = require "util.jid".bare; 3 local jid_bare = require "util.jid".bare;
4 local usermanager = require "core.usermanager";
5 local new_id = require "util.id".medium; 4 local new_id = require "util.id".medium;
6 local storagemanager = require "core.storagemanager"; 5 local storagemanager = require "core.storagemanager";
7 local xtemplate = require "util.xtemplate"; 6 local xtemplate = require "util.xtemplate";
8 7
9 local xmlns_pubsub = "http://jabber.org/protocol/pubsub"; 8 local xmlns_pubsub = "http://jabber.org/protocol/pubsub";
175 reply:tag("item", { jid = module.host, node = node, name = node_obj.config.title }):up(); 174 reply:tag("item", { jid = module.host, node = node, name = node_obj.config.title }):up();
176 end 175 end
177 end); 176 end);
178 177
179 local admin_aff = module:get_option_string("default_admin_affiliation", "owner"); 178 local admin_aff = module:get_option_string("default_admin_affiliation", "owner");
179 module:default_permission("prosody:admin", ":service-admin");
180 local function get_affiliation(jid) 180 local function get_affiliation(jid)
181 local bare_jid = jid_bare(jid); 181 local bare_jid = jid_bare(jid);
182 if bare_jid == module.host or usermanager.is_admin(bare_jid, module.host) then 182 if bare_jid == module.host or module:may(":service-admin", bare_jid) then
183 return admin_aff; 183 return admin_aff;
184 end 184 end
185 end 185 end
186 186
187 function get_service() 187 function get_service()