mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-06-20 08:25:16 +00:00
Can create admin account from API
This commit is contained in:
@ -7,14 +7,25 @@ use crate::api_data::admin::admin_auth_options::AdminAuthOptions;
|
||||
use crate::api_data::admin::admin_auth_success::AdminAuthSuccess;
|
||||
use crate::api_data::admin::admin_id_api::AdminIDAPI;
|
||||
use crate::api_data::admin::admin_info_api::AdminInfoAPI;
|
||||
use crate::api_data::admin::admin_res_create_account::AdminResCreateAccount;
|
||||
use crate::api_data::admin::admin_res_create_reset_token::AdminResCreateResetToken;
|
||||
use crate::data::admin::NewAdminGeneralSettings;
|
||||
use crate::data::admin::{NewAdmin, NewAdminGeneralSettings};
|
||||
use crate::data::base_request_handler::BaseRequestHandler;
|
||||
use crate::data::http_request_handler::HttpRequestHandler;
|
||||
use crate::helpers::{admin_access_token_helper, admin_account_helper, admin_account_key_helper};
|
||||
use crate::routes::RequestResult;
|
||||
use crate::utils::date_utils::time;
|
||||
|
||||
/// Create a new administrator account
|
||||
pub fn create(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let email = r.post_email("mail")?;
|
||||
let name = r.post_string_opt("name", 3, true)?;
|
||||
|
||||
let admin_id = admin_account_helper::create(&NewAdmin { name, email })?;
|
||||
|
||||
r.set_response(AdminResCreateAccount::new(admin_id))
|
||||
}
|
||||
|
||||
/// Get admin auth options
|
||||
pub fn get_auth_options(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let mail = r.post_email("mail")?;
|
||||
|
@ -20,8 +20,6 @@ pub fn get_list(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
|
||||
/// Toggle the status of a role for an admin
|
||||
pub fn toggle(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
r.check_admin_has_role(AdminRole::MANAGE_ADMINS)?;
|
||||
|
||||
let admin_id = r.post_admin_id("adminID")?;
|
||||
let enable = r.post_bool("enable")?;
|
||||
let role_str = r.post_string("role")?;
|
||||
|
Reference in New Issue
Block a user