1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-07-03 22:45:01 +00:00

Update get_admin_info route

This commit is contained in:
2021-05-13 08:42:59 +02:00
parent add56a9a6d
commit 830c6d0700
3 changed files with 37 additions and 3 deletions

View File

@ -13,6 +13,7 @@ use serde::Serialize;
use crate::api_data::http_error::HttpError;
use crate::constants::PASSWORD_MIN_LENGTH;
use crate::data::admin::AdminID;
use crate::data::comment::Comment;
use crate::data::config::conf;
use crate::data::conversation::{ConversationMember, ConvID};
@ -23,7 +24,7 @@ use crate::data::group_id::GroupID;
use crate::data::post::{Post, PostAccessLevel};
use crate::data::user::UserID;
use crate::data::user_token::UserAccessToken;
use crate::helpers::{account_helper, comments_helper, conversations_helper, custom_emojies_helper, friends_helper, groups_helper, posts_helper, user_helper, virtual_directory_helper};
use crate::helpers::{account_helper, admin_account_helper, comments_helper, conversations_helper, custom_emojies_helper, friends_helper, groups_helper, posts_helper, user_helper, virtual_directory_helper};
use crate::helpers::virtual_directory_helper::VirtualDirType;
use crate::routes::RequestResult;
use crate::utils::mp3_utils::is_valid_mp3;
@ -33,7 +34,6 @@ use crate::utils::string_utils::{check_emoji_code, check_html_color, check_url,
use crate::utils::user_data_utils::{generate_new_user_data_file_name, prepare_file_creation, user_data_path};
use crate::utils::virtual_directories_utils;
use crate::utils::zip_utils::is_valid_zip;
use crate::data::admin::AdminID;
#[derive(Serialize)]
struct SuccessMessage {
@ -566,6 +566,21 @@ pub trait BaseRequestHandler {
Ok(user_id)
}
/// Get the ID of an admin included in a POST request
fn post_admin_id(&mut self, name: &str) -> Res<AdminID> {
let admin_id = AdminID::new(self.post_u64(name)?);
if admin_id.id() < 1 {
self.bad_request(format!("Invalid admin specified in '{}'!", name))?;
}
if !admin_account_helper::exists(admin_id)? {
self.not_found(format!("Admin with ID {} not found!", admin_id.id()))?;
}
Ok(admin_id)
}
/// Get a list of users ID included in the request
fn post_users_id(&mut self, name: &str) -> ResultBoxError<HashSet<UserID>> {
let users = self.post_numbers_list(name, 1)?