Software /
code /
prosody-modules
Comparison
mod_http_admin_api/mod_http_admin_api.lua @ 5808:671a6ad1f026
mod_http_admin_api: Fix some luacheck warnings and code style issues
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 07 Dec 2023 15:43:16 +0000 |
parent | 5807:5c589fab6f53 |
child | 5809:076b79eb747f |
comparison
equal
deleted
inserted
replaced
5807:5c589fab6f53 | 5808:671a6ad1f026 |
---|---|
475 | 475 |
476 return 200; | 476 return 200; |
477 end | 477 end |
478 | 478 |
479 function update_user(event, username) | 479 function update_user(event, username) |
480 local current_user = get_user_info(username); | |
481 | 480 |
482 local request = event.request; | 481 local request = event.request; |
483 if request.headers.content_type ~= json_content_type | 482 if request.headers.content_type ~= json_content_type |
484 or (not request.body or #request.body == 0) then | 483 or (not request.body or #request.body == 0) then |
485 return 400; | 484 return 400; |
490 end | 489 end |
491 | 490 |
492 if new_user.username and new_user.username ~= username then | 491 if new_user.username and new_user.username ~= username then |
493 return 400; | 492 return 400; |
494 end | 493 end |
495 | |
496 local final_user = {}; | |
497 | 494 |
498 if new_user.display_name then | 495 if new_user.display_name then |
499 local pep_service = mod_pep.get_pep_service(username); | 496 local pep_service = mod_pep.get_pep_service(username); |
500 -- TODO: publish | 497 -- TODO: publish |
501 local nick_item = st.stanza("item", { xmlns = xmlns_pubsub, id = "current" }) | 498 local nick_item = st.stanza("item", { xmlns = xmlns_pubsub, id = "current" }) |
502 :text_tag("nick", new_user.display_name, { xmlns = xmlns_nick }); | 499 :text_tag("nick", new_user.display_name, { xmlns = xmlns_nick }); |
503 if pep_service:publish(xmlns_nick, true, "current", nick_item, { | 500 pep_service:publish(xmlns_nick, true, "current", nick_item, { |
504 access_model = "open"; | 501 access_model = "open"; |
505 _defaults_only = true; | 502 _defaults_only = true; |
506 }) then | 503 }); |
507 final_user.display_name = new_user.display_name; | |
508 end | |
509 end | 504 end |
510 | 505 |
511 if new_user.role then | 506 if new_user.role then |
512 if not usermanager.set_user_role then | 507 if not usermanager.set_user_role then |
513 return 500, "feature-not-implemented"; | 508 return 500, "feature-not-implemented"; |
525 | 520 |
526 local backend_roles = {}; | 521 local backend_roles = {}; |
527 for _, role in ipairs(new_user.roles) do | 522 for _, role in ipairs(new_user.roles) do |
528 backend_roles[role] = true; | 523 backend_roles[role] = true; |
529 end | 524 end |
530 local jid = username.."@"..module.host; | 525 local user_jid = username.."@"..module.host; |
531 if not usermanager.set_user_roles(username, module.host, backend_roles) then | 526 if not usermanager.set_user_roles(username, module.host, backend_roles) then |
532 module:log("error", "failed to set roles %q for %s", backend_roles, jid) | 527 module:log("error", "failed to set roles %q for %s", backend_roles, user_jid) |
533 return 500 | 528 return 500 |
534 end | 529 end |
535 end | 530 end |
536 | 531 |
537 if new_user.enabled ~= nil then | 532 if new_user.enabled ~= nil then |
621 }); | 616 }); |
622 end | 617 end |
623 | 618 |
624 function update_group(event, group) --luacheck: ignore 212/event | 619 function update_group(event, group) --luacheck: ignore 212/event |
625 -- Add member | 620 -- Add member |
626 local group_id, member_name = group:match("^([^/]+)/members/([^/]+)$"); | 621 do |
627 if group_id and member_name then | 622 local group_id, member_name = group:match("^([^/]+)/members/([^/]+)$"); |
628 if not mod_groups.add_member(group_id, member_name) then | 623 if group_id and member_name then |
629 return 500; | 624 if not mod_groups.add_member(group_id, member_name) then |
630 end | 625 return 500; |
631 return 204; | 626 end |
627 return 204; | |
628 end | |
632 end | 629 end |
633 | 630 |
634 local group_id = group:match("^([^/]+)$") | 631 local group_id = group:match("^([^/]+)$") |
635 if group_id then | 632 if not group_id then return 404; end |
636 local request = event.request; | 633 |
637 if request.headers.content_type ~= json_content_type or (not request.body or #request.body == 0) then | 634 local request = event.request; |
638 return 400; | 635 if request.headers.content_type ~= json_content_type or (not request.body or #request.body == 0) then |
639 end | 636 return 400; |
640 | 637 end |
641 local update = json.decode(event.request.body); | 638 |
642 if not update then | 639 local update = json.decode(event.request.body); |
643 return 400; | 640 if not update then |
644 end | 641 return 400; |
645 | 642 end |
646 local group_info = mod_groups.get_info(group_id); | 643 |
647 if not group_info then | 644 local group_info = mod_groups.get_info(group_id); |
648 return 404; | 645 if not group_info then |
649 end | 646 return 404; |
650 | 647 end |
651 if update.name then | 648 |
652 group_info["name"] = update.name; | 649 if update.name then |
653 end | 650 group_info["name"] = update.name; |
654 if mod_groups.set_info(group_id, group_info) then | 651 end |
655 return 204; | 652 if not mod_groups.set_info(group_id, group_info) then |
656 else | 653 return 500; |
657 return 500; | 654 end |
658 end | 655 return 204; |
659 end | |
660 return 404; | |
661 end | 656 end |
662 | 657 |
663 function extend_group(event, subpath) | 658 function extend_group(event, subpath) |
664 -- Add group chat | 659 -- Add group chat |
665 local group_id = subpath:match("^([^/]+)/chats$"); | 660 local group_id = subpath:match("^([^/]+)/chats$"); |