Mercurial > prosody-modules
comparison mod_http_admin_api/mod_http_admin_api.lua @ 4369:29b7f445aec5
mod_http_admin_api: add support for updating groups
| author | Jonas Schäfer <jonas@wielicki.name> |
|---|---|
| date | Thu, 21 Jan 2021 17:30:34 +0100 |
| parents | e0c8d866d58c |
| children | 3d01bc4547b2 |
comparison
equal
deleted
inserted
replaced
| 4368:e0c8d866d58c | 4369:29b7f445aec5 |
|---|---|
| 435 if not group_info_store:get(group_id) then | 435 if not group_info_store:get(group_id) then |
| 436 return 404; | 436 return 404; |
| 437 elseif not group_memberships:set(group_id, member_name, true) then | 437 elseif not group_memberships:set(group_id, member_name, true) then |
| 438 return 500; | 438 return 500; |
| 439 end | 439 end |
| 440 return 200; | 440 return 204; |
| 441 end | |
| 442 | |
| 443 local group_id = group:match("^([^/]+)$") | |
| 444 if group_id then | |
| 445 local request = event.request; | |
| 446 if request.headers.content_type ~= json_content_type | |
| 447 or (not request.body or #request.body == 0) then | |
| 448 return 400; | |
| 449 end | |
| 450 | |
| 451 local update = json.decode(event.request.body); | |
| 452 if not update then | |
| 453 return 400; | |
| 454 end | |
| 455 | |
| 456 local group_info = group_info_store:get(group_id); | |
| 457 if not group_info then | |
| 458 return 404; | |
| 459 end | |
| 460 | |
| 461 if update.name then | |
| 462 group_info["name"] = update.name | |
| 463 end | |
| 464 group_info_store:set(group_id, group_info); | |
| 465 return 204; | |
| 441 end | 466 end |
| 442 return 400; | 467 return 400; |
| 443 end | 468 end |
| 444 | 469 |
| 445 function delete_group(event, subpath) --luacheck: ignore 212/event | 470 function delete_group(event, subpath) --luacheck: ignore 212/event |
