//! # User controller //! //! This controller handles all the routes related about getting user information //! //! @author Pierre Hubert use crate::controllers::routes::RequestResult; use crate::data::http_request_handler::HttpRequestHandler; use crate::helpers::user_helper; use crate::api_data::user_info::APIUserInfo; /// Get information about a single user pub fn get_single(request: &mut HttpRequestHandler) -> RequestResult { let user_id = request.post_i64("userID")?; let user = match user_helper::find_user_by_id(user_id) { Ok(user) => user, Err(e) => { println!("Error while getting user info: {}", e); request.not_found("Could not get user information!".to_string())?; unreachable!(); } }; request.set_response(APIUserInfo::new(request.user_id_opt(), &user)?) }