mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2024-11-25 23:09:22 +00:00
Admin can get auth options
This commit is contained in:
parent
ffe6d464d7
commit
25830fe6d1
20
src/api_data/admin/admin_auth_options.rs
Normal file
20
src/api_data/admin/admin_auth_options.rs
Normal file
@ -0,0 +1,20 @@
|
||||
//! # Admin auth options API structure
|
||||
//!
|
||||
//! @author Pierre Hubert
|
||||
|
||||
use serde::Serialize;
|
||||
|
||||
use crate::data::admin::Admin;
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct AdminAuthOptions {
|
||||
access_token: bool,
|
||||
}
|
||||
|
||||
impl AdminAuthOptions {
|
||||
pub fn new(admin: &Admin) -> Self {
|
||||
Self {
|
||||
access_token: admin.reset_token.is_some()
|
||||
}
|
||||
}
|
||||
}
|
5
src/api_data/admin/mod.rs
Normal file
5
src/api_data/admin/mod.rs
Normal file
@ -0,0 +1,5 @@
|
||||
//! # Admin public data
|
||||
//!
|
||||
//! @author Pierre Hubert
|
||||
|
||||
pub mod admin_auth_options;
|
@ -7,6 +7,8 @@
|
||||
//! ## Author
|
||||
//! Pierre Hubert
|
||||
|
||||
pub mod admin;
|
||||
|
||||
pub mod server_config;
|
||||
pub mod http_error;
|
||||
pub mod login_success;
|
||||
|
@ -2,11 +2,16 @@
|
||||
//!
|
||||
//! @author Pierre Hubert
|
||||
|
||||
use crate::data::http_request_handler::HttpRequestHandler;
|
||||
use crate::routes::RequestResult;
|
||||
use crate::api_data::admin::admin_auth_options::AdminAuthOptions;
|
||||
use crate::data::base_request_handler::BaseRequestHandler;
|
||||
use crate::data::http_request_handler::HttpRequestHandler;
|
||||
use crate::helpers::admin_account_helper;
|
||||
use crate::routes::RequestResult;
|
||||
|
||||
/// Get admin auth options
|
||||
pub fn get_auth_options(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
r.ok()
|
||||
let mail = r.post_email("mail")?;
|
||||
let admin = admin_account_helper::find_admin_by_email(&mail)?;
|
||||
|
||||
r.set_response(AdminAuthOptions::new(&admin))
|
||||
}
|
Loading…
Reference in New Issue
Block a user