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:
@@ -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)?)
|
||||
}
|
Reference in New Issue
Block a user