1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-07-06 15:52:48 +00:00

Administrators can search for users

This commit is contained in:
2021-07-12 17:18:06 +02:00
parent cb44497fee
commit 82717312e6
7 changed files with 97 additions and 4 deletions

View File

@ -0,0 +1,22 @@
//! # Admin : users management controller
//!
//! @author Pierre Hubert
use crate::data::http_request_handler::HttpRequestHandler;
use crate::routes::RequestResult;
use crate::data::base_request_handler::BaseRequestHandler;
use crate::constants::admin::AdminRole;
use crate::helpers::user_helper;
use crate::api_data::admin::admin_search_user_result::AdminSearchUserResult;
/// Search for user
pub fn search(r: &mut HttpRequestHandler) -> RequestResult {
r.check_admin_has_role(AdminRole::MANAGE_USERS)?;
let name = r.post_string_opt("name", 0, true)?;
let email = r.post_string_opt("email", 0, true)?;
let results = user_helper::search_user_admin(&name, &email, 50)?;
r.set_response(results.into_iter().map(AdminSearchUserResult::new).collect::<Vec<_>>())
}

View File

@ -5,4 +5,5 @@
pub mod admin_account_controller;
pub mod admin_keys_controller;
pub mod admin_roles_controller;
pub mod admin_logs_controller;
pub mod admin_logs_controller;
pub mod admin_users_controller;