mod_http_admin_api/mod_http_admin_api.lua
changeset 5785 cb25d341745f
parent 5783 6ab9e1763f35
child 5786 5621dece3ee4
equal deleted inserted replaced
5784:f199bff16f1f 5785:cb25d341745f
   173 		return 404;
   173 		return 404;
   174 	end
   174 	end
   175 	return 200;
   175 	return 200;
   176 end
   176 end
   177 
   177 
       
   178 local function get_user_avatar_info(username)
       
   179 	local pep_service = mod_pep.get_pep_service(username);
       
   180 	local ok, _, avatar_item = pep_service:get_last_item("urn:xmpp:avatar:metadata", true);
       
   181 	avatar_item = avatar_item and avatar_item:get_child("metadata", "urn:xmpp:avatar:metadata");
       
   182 	if not ok or not avatar_item then return; end
       
   183 
       
   184 	local avatar_info = {};
       
   185 
       
   186 	for avatar in avatar_item:childtags("info") do
       
   187 		table.insert(avatar_info, {
       
   188 			bytes = tonumber(avatar.attr.bytes);
       
   189 			hash = avatar.attr.id;
       
   190 			type = avatar.attr.type;
       
   191 			width = tonumber(avatar.attr.width);
       
   192 			height = tonumber(avatar.attr.height);
       
   193 		});
       
   194 	end
       
   195 
       
   196 	return avatar_info;
       
   197 end
       
   198 
   178 local function get_user_info(username)
   199 local function get_user_info(username)
   179 	if not usermanager.user_exists(username, module.host) then
   200 	if not usermanager.user_exists(username, module.host) then
   180 		return nil;
   201 		return nil;
   181 	end
   202 	end
   182 	local display_name;
   203 	local display_name;
   212 		secondary_roles = secondary_roles;
   233 		secondary_roles = secondary_roles;
   213 		roles = legacy_roles; -- COMPAT w/0.12
   234 		roles = legacy_roles; -- COMPAT w/0.12
   214 		enabled = enabled;
   235 		enabled = enabled;
   215 		last_active = mod_lastlog2.get_last_active(username);
   236 		last_active = mod_lastlog2.get_last_active(username);
   216 		deletion_request = deleted_users:get(username);
   237 		deletion_request = deleted_users:get(username);
       
   238 		avatar_info = get_user_avatar_info(username);
   217 	};
   239 	};
   218 end
   240 end
   219 
   241 
   220 local function get_session_debug_info(session)
   242 local function get_session_debug_info(session)
   221 	local info = {
   243 	local info = {