Mercurial > prosody-hg
comparison 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 |
| parents | e282c92ded0e |
| children | ead41e25ebc0 |
comparison
equal
deleted
inserted
replaced
| 12919:7c0e5c7eff7c | 12920:cdb996637b08 |
|---|---|
| 51 set_jid_role = function (jid, role) end; | 51 set_jid_role = function (jid, role) end; |
| 52 | 52 |
| 53 get_users_with_role = function (role_name) end; | 53 get_users_with_role = function (role_name) end; |
| 54 add_default_permission = function (role_name, action, policy) end; | 54 add_default_permission = function (role_name, action, policy) end; |
| 55 get_role_by_name = function (role_name) end; | 55 get_role_by_name = function (role_name) end; |
| 56 get_all_roles = function () end; | |
| 56 }; | 57 }; |
| 57 | 58 |
| 58 local provider_mt = { __index = new_null_provider() }; | 59 local provider_mt = { __index = new_null_provider() }; |
| 59 | 60 |
| 60 local function initialize_host(host) | 61 local function initialize_host(host) |
| 289 | 290 |
| 290 local function get_role_by_name(role_name, host) | 291 local function get_role_by_name(role_name, host) |
| 291 if host and not hosts[host] then return false; end | 292 if host and not hosts[host] then return false; end |
| 292 if type(role_name) ~= "string" then return false; end | 293 if type(role_name) ~= "string" then return false; end |
| 293 return hosts[host].authz.get_role_by_name(role_name); | 294 return hosts[host].authz.get_role_by_name(role_name); |
| 295 end | |
| 296 | |
| 297 local function get_all_roles(host) | |
| 298 if host and not hosts[host] then return false; end | |
| 299 return hosts[host].authz.get_all_roles(); | |
| 294 end | 300 end |
| 295 | 301 |
| 296 return { | 302 return { |
| 297 new_null_provider = new_null_provider; | 303 new_null_provider = new_null_provider; |
| 298 initialize_host = initialize_host; | 304 initialize_host = initialize_host; |
| 318 get_users_with_role = get_users_with_role; | 324 get_users_with_role = get_users_with_role; |
| 319 get_jid_role = get_jid_role; | 325 get_jid_role = get_jid_role; |
| 320 set_jid_role = set_jid_role; | 326 set_jid_role = set_jid_role; |
| 321 get_jids_with_role = get_jids_with_role; | 327 get_jids_with_role = get_jids_with_role; |
| 322 get_role_by_name = get_role_by_name; | 328 get_role_by_name = get_role_by_name; |
| 329 get_all_roles = get_all_roles; | |
| 323 | 330 |
| 324 -- Deprecated | 331 -- Deprecated |
| 325 is_admin = is_admin; | 332 is_admin = is_admin; |
| 326 }; | 333 }; |
