Software /
code /
prosody
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 |
parent | 10635:675d9fbcbaed |
child | 10659: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 }; |