mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-03-13 09:22:38 +00:00
22 lines
783 B
Rust
22 lines
783 B
Rust
|
//! # 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<_>>())
|
||
|
}
|