Software /
code /
prosody
Diff
core/usermanager.lua @ 12920:cdb996637b08
authz: Add method for retrieving all roles
Some of the OAuth stuff highlights a small need to retrieve a list of
roles somehow. Handy if you ever need a role selector in adhoc or
something.
Unless there's some O(n) thing we were avoiding?
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 04 Mar 2023 18:40:43 +0100 |
parent | 12906:e282c92ded0e |
child | 12972:ead41e25ebc0 |
line wrap: on
line diff
--- a/core/usermanager.lua Thu Mar 02 22:34:29 2023 +0100 +++ b/core/usermanager.lua Sat Mar 04 18:40:43 2023 +0100 @@ -53,6 +53,7 @@ get_users_with_role = function (role_name) end; add_default_permission = function (role_name, action, policy) end; get_role_by_name = function (role_name) end; + get_all_roles = function () end; }; local provider_mt = { __index = new_null_provider() }; @@ -293,6 +294,11 @@ return hosts[host].authz.get_role_by_name(role_name); end +local function get_all_roles(host) + if host and not hosts[host] then return false; end + return hosts[host].authz.get_all_roles(); +end + return { new_null_provider = new_null_provider; initialize_host = initialize_host; @@ -320,6 +326,7 @@ set_jid_role = set_jid_role; get_jids_with_role = get_jids_with_role; get_role_by_name = get_role_by_name; + get_all_roles = get_all_roles; -- Deprecated is_admin = is_admin;