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