Software /
code /
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 |
parent | 4368:e0c8d866d58c |
child | 4371: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 |