Mercurial > prosody-modules
comparison mod_http_admin_api/mod_http_admin_api.lua @ 4352:f6da234b21b8
mod_http_admin_api: Add groups property to users
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sun, 17 Jan 2021 17:51:23 +0000 |
| parents | c0b1b2a61e3c |
| children | 535d80be110d |
comparison
equal
deleted
inserted
replaced
| 4351:c0b1b2a61e3c | 4352:f6da234b21b8 |
|---|---|
| 5 module:depends("http"); | 5 module:depends("http"); |
| 6 | 6 |
| 7 local invites = module:depends("invites"); | 7 local invites = module:depends("invites"); |
| 8 local tokens = module:depends("tokenauth"); | 8 local tokens = module:depends("tokenauth"); |
| 9 local mod_pep = module:depends("pep"); | 9 local mod_pep = module:depends("pep"); |
| 10 | |
| 11 local group_memberships = module:open_store("groups", "map"); | |
| 10 | 12 |
| 11 local json_content_type = "application/json"; | 13 local json_content_type = "application/json"; |
| 12 | 14 |
| 13 local www_authenticate_header = ("Bearer realm=%q"):format(module.host.."/"..module.name); | 15 local www_authenticate_header = ("Bearer realm=%q"):format(module.host.."/"..module.name); |
| 14 | 16 |
| 147 if ok and nick_item then | 149 if ok and nick_item then |
| 148 display_name = nick_item:get_child_text("nick", "http://jabber.org/protocol/nick"); | 150 display_name = nick_item:get_child_text("nick", "http://jabber.org/protocol/nick"); |
| 149 end | 151 end |
| 150 end | 152 end |
| 151 | 153 |
| 154 local groups; | |
| 155 do | |
| 156 local group_set = group_memberships:get_all(username); | |
| 157 if group_set and next(group_set) then | |
| 158 groups = {}; | |
| 159 for group_id in pairs(group_set) do | |
| 160 table.insert(groups, group_id); | |
| 161 end | |
| 162 end | |
| 163 end | |
| 164 | |
| 152 return { | 165 return { |
| 153 username = username; | 166 username = username; |
| 154 display_name = display_name; | 167 display_name = display_name; |
| 168 groups = groups; | |
| 155 }; | 169 }; |
| 156 end | 170 end |
| 157 | 171 |
| 158 function list_users(event) | 172 function list_users(event) |
| 159 local user_list = {}; | 173 local user_list = {}; |
