1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-09-25 22:29:45 +00:00

Upgrade UserID to a structure

This commit is contained in:
2020-06-25 10:08:34 +02:00
parent 444cad6e09
commit 96f3217db4
25 changed files with 180 additions and 153 deletions

View File

@@ -15,8 +15,8 @@ use crate::helpers::user_helper::find_user_by_id;
/// 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) {
let user_id = UserID::new(request.post_u64("userID")?);
let user = match user_helper::find_user_by_id(&user_id) {
Ok(user) => user,
Err(e) => {
println!("Error while getting user info: {}", e);
@@ -25,22 +25,23 @@ pub fn get_single(request: &mut HttpRequestHandler) -> RequestResult {
}
};
request.set_response(APIUserInfo::new(request.user_id_opt(), &user)?)
request.set_response(APIUserInfo::new(&request.user_id_opt(), &user)?)
}
/// Get information about several users
pub fn get_multiple(request: &mut HttpRequestHandler) -> RequestResult {
let user_ids = request.post_numbers_list("usersID", 1)?;
let mut map: HashMap<UserID, APIUserInfo> = HashMap::new();
let mut map: HashMap<u64, APIUserInfo> = HashMap::new();
for user_id in user_ids {
let user_id = UserID::new(user_id);
let user = request.ok_or_not_found(
find_user_by_id(user_id),
find_user_by_id(&user_id),
"At least one user was not found!",
)?;
map.insert(user_id, APIUserInfo::new(request.user_id_opt(), &user)?);
map.insert(user_id.id(), APIUserInfo::new(&request.user_id_opt(), &user)?);
}
request.set_response(map)
@@ -50,10 +51,10 @@ pub fn get_multiple(request: &mut HttpRequestHandler) -> RequestResult {
pub fn get_advanced_info(request: &mut HttpRequestHandler) -> RequestResult {
let user_id = request.post_user_id("userID")?;
if !user_helper::can_see_user_page(request.user_id_opt().unwrap_or(0), user_id)? {
if !user_helper::can_see_user_page(&request.user_id_opt().unwrap_or(UserID::new(0)), &user_id)? {
request.forbidden("You are not allowed to see this user page!".to_string())?;
}
let user = user_helper::find_user_by_id(user_id)?;
request.set_response(APIUserInfo::new_advanced_info(request.user_id_opt(), &user)?)
let user = user_helper::find_user_by_id(&user_id)?;
request.set_response(APIUserInfo::new_advanced_info(&request.user_id_opt(), &user)?)
}