Diff

plugins/mod_authz_internal.lua @ 10659:8f95308c3c45

usermanager, mod_authz_*: Merge mod_authz_config and mod_authz_internal into the latter
author Matthew Wild <mwild1@gmail.com>
date Sun, 23 Feb 2020 12:38:43 +0000
child 11472:c32753ceb0f0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/mod_authz_internal.lua	Sun Feb 23 12:38:43 2020 +0000
@@ -0,0 +1,22 @@
+local normalize = require "util.jid".prep;
+local admin_jids = module:get_option_inherited_set("admins", {}) / normalize;
+local host = module.host;
+local role_store = module:open_store("roles");
+
+local admin_role = { ["prosody:admin"] = true };
+
+function get_user_roles(user)
+	if admin_jids:contains(user.."@"..host) then
+		return admin_role;
+	end
+	return role_store:get(user);
+end
+
+function get_jid_roles(jid)
+	if admin_jids:contains(jid) then
+		return admin_role;
+	end
+	return nil;
+end
+
+