aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-08-04 03:04:00 +0200
committerKim Alvefur <zash@zash.se>2018-08-04 03:04:00 +0200
commite876d5fc91501ac093faa181e8c9076ca64f2023 (patch)
treee74369598a6abba7b73a49acdcb0f9887ad3aff4 /util
parentd2cb959dce89c1776796b19e88f0c3f38e84d02e (diff)
downloadprosody-e876d5fc91501ac093faa181e8c9076ca64f2023.tar.gz
prosody-e876d5fc91501ac093faa181e8c9076ca64f2023.zip
util.pubsub: Look for a configured callback for more complicated access models
Diffstat (limited to 'util')
-rw-r--r--util/pubsub.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/util/pubsub.lua b/util/pubsub.lua
index 13e68280..f1d1df38 100644
--- a/util/pubsub.lua
+++ b/util/pubsub.lua
@@ -121,6 +121,16 @@ function service:get_default_affiliation(node, actor, action) -- luacheck: ignor
elseif access_model == "whitelist" then
return "none";
end
+
+ if self.config.access_models then
+ local check = self.config.access_models[access_model];
+ if check then
+ local aff = check(actor);
+ if aff then
+ return aff;
+ end
+ end
+ end
end
function service:set_affiliation(node, actor, jid, affiliation)