mirror of
				https://gitlab.com/comunic/comunicapiv3
				synced 2025-10-30 23:24:42 +00:00 
			
		
		
		
	Admin can get auth options
This commit is contained in:
		
							
								
								
									
										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)) | ||||
| } | ||||
		Reference in New Issue
	
	Block a user