Mercurial > prosody-hg
comparison core/usermanager.lua @ 10640:5622eda7c5c5
usermanager: Add get_roles() function
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Wed, 05 Feb 2020 17:41:14 +0000 |
| parents | 675d9fbcbaed |
| children | 8f95308c3c45 |
comparison
equal
deleted
inserted
replaced
| 10639:08e3063eb1ac | 10640:5622eda7c5c5 |
|---|---|
| 135 | 135 |
| 136 local function get_provider(host) | 136 local function get_provider(host) |
| 137 return hosts[host].users; | 137 return hosts[host].users; |
| 138 end | 138 end |
| 139 | 139 |
| 140 local function is_admin(jid, host) | 140 local function get_roles(jid, host) |
| 141 if host and not hosts[host] then return false; end | 141 if host and not hosts[host] then return false; end |
| 142 if type(jid) ~= "string" then return false; end | 142 if type(jid) ~= "string" then return false; end |
| 143 | 143 |
| 144 jid = jid_bare(jid); | 144 jid = jid_bare(jid); |
| 145 host = host or "*"; | 145 host = host or "*"; |
| 153 roles = authz_provider.get_user_roles(actor_user); | 153 roles = authz_provider.get_user_roles(actor_user); |
| 154 else -- Remote user/JID | 154 else -- Remote user/JID |
| 155 roles = authz_provider.get_jid_roles(jid); | 155 roles = authz_provider.get_jid_roles(jid); |
| 156 end | 156 end |
| 157 | 157 |
| 158 return roles; | |
| 159 end | |
| 160 | |
| 161 local function is_admin(jid, host) | |
| 162 local roles = get_roles(jid, host); | |
| 158 return roles and roles["prosody:admin"]; | 163 return roles and roles["prosody:admin"]; |
| 159 end | 164 end |
| 160 | 165 |
| 161 return { | 166 return { |
| 162 new_null_provider = new_null_provider; | 167 new_null_provider = new_null_provider; |
| 168 create_user = create_user; | 173 create_user = create_user; |
| 169 delete_user = delete_user; | 174 delete_user = delete_user; |
| 170 users = users; | 175 users = users; |
| 171 get_sasl_handler = get_sasl_handler; | 176 get_sasl_handler = get_sasl_handler; |
| 172 get_provider = get_provider; | 177 get_provider = get_provider; |
| 178 get_roles = get_roles; | |
| 173 is_admin = is_admin; | 179 is_admin = is_admin; |
| 174 }; | 180 }; |
