comparison mod_http_admin_api/mod_http_admin_api.lua @ 4393:ae1d1e352504

mod_http_admin_api: remove deprecated API endpoint
author Jonas Schäfer <jonas@wielicki.name>
date Tue, 26 Jan 2021 16:01:45 +0100
parents 17d44ba8fde2
children de55e1475808
comparison
equal deleted inserted replaced
4392:e5792ca1d704 4393:ae1d1e352504
94 94
95 function get_invite_by_id(event, invite_id) 95 function get_invite_by_id(event, invite_id)
96 local invite = invites.get_account_invite_info(invite_id); 96 local invite = invites.get_account_invite_info(invite_id);
97 if not invite then 97 if not invite then
98 return 404; 98 return 404;
99 end
100
101 event.response.headers["Content-Type"] = json_content_type;
102 return json.encode(token_info_to_invite_info(invite));
103 end
104
105 function create_invite(event)
106 local invite_options;
107
108 local request = event.request;
109 if request.body and #request.body > 0 then
110 if request.headers.content_type ~= json_content_type then
111 module:log("warn", "Invalid content type");
112 return 400;
113 end
114 invite_options = json.decode(event.request.body);
115 if not invite_options then
116 module:log("warn", "Invalid JSON");
117 return 400;
118 end
119 else
120 invite_options = {};
121 end
122
123 local invite;
124 if invite_options.reusable then
125 invite = invites.create_group(invite_options.groups, invite_options.ttl, {
126 source = "admin_api/"..event.session.username;
127 });
128 else
129 invite = invites.create_account(nil, {
130 source = "admin_api/"..event.session.username;
131 groups = invite_options.groups;
132 });
133 end
134 if not invite then
135 return 500;
136 end 99 end
137 100
138 event.response.headers["Content-Type"] = json_content_type; 101 event.response.headers["Content-Type"] = json_content_type;
139 return json.encode(token_info_to_invite_info(invite)); 102 return json.encode(token_info_to_invite_info(invite));
140 end 103 end
544 507
545 module:provides("http", { 508 module:provides("http", {
546 route = check_auth { 509 route = check_auth {
547 ["GET /invites"] = list_invites; 510 ["GET /invites"] = list_invites;
548 ["GET /invites/*"] = get_invite_by_id; 511 ["GET /invites/*"] = get_invite_by_id;
549 ["POST /invites"] = create_invite; -- Deprecated
550 ["POST /invites/*"] = create_invite_type; 512 ["POST /invites/*"] = create_invite_type;
551 ["DELETE /invites/*"] = delete_invite; 513 ["DELETE /invites/*"] = delete_invite;
552 514
553 ["GET /users"] = list_users; 515 ["GET /users"] = list_users;
554 ["GET /users/*"] = get_user_by_name; 516 ["GET /users/*"] = get_user_by_name;