mirror of
				https://gitlab.com/comunic/comunicapiv3
				synced 2025-11-04 09:34:04 +00:00 
			
		
		
		
	Can get security settings
This commit is contained in:
		@@ -53,3 +53,4 @@ pub mod survey_response_api;
 | 
				
			|||||||
pub mod entities_constructor;
 | 
					pub mod entities_constructor;
 | 
				
			||||||
pub mod general_settings_api;
 | 
					pub mod general_settings_api;
 | 
				
			||||||
pub mod language_settings_api;
 | 
					pub mod language_settings_api;
 | 
				
			||||||
 | 
					pub mod security_settings_api;
 | 
				
			||||||
							
								
								
									
										29
									
								
								src/api_data/security_settings_api.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/api_data/security_settings_api.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					//! # Security settings API
 | 
				
			||||||
 | 
					//!
 | 
				
			||||||
 | 
					//! @author Pierre Hubert
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use serde::Serialize;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use crate::data::user::User;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[derive(Serialize)]
 | 
				
			||||||
 | 
					#[allow(non_snake_case)]
 | 
				
			||||||
 | 
					pub struct SecuritySettingsAPI {
 | 
				
			||||||
 | 
					    id: u64,
 | 
				
			||||||
 | 
					    security_question_1: String,
 | 
				
			||||||
 | 
					    security_answer_1: String,
 | 
				
			||||||
 | 
					    security_question_2: String,
 | 
				
			||||||
 | 
					    security_answer_2: String,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					impl SecuritySettingsAPI {
 | 
				
			||||||
 | 
					    pub fn new(user: &User) -> SecuritySettingsAPI {
 | 
				
			||||||
 | 
					        SecuritySettingsAPI {
 | 
				
			||||||
 | 
					            id: user.id.id(),
 | 
				
			||||||
 | 
					            security_question_1: user.security_question_1.clone().unwrap_or(String::new()),
 | 
				
			||||||
 | 
					            security_answer_1: user.security_answer_1.clone().unwrap_or(String::new()),
 | 
				
			||||||
 | 
					            security_question_2: user.security_question_2.clone().unwrap_or(String::new()),
 | 
				
			||||||
 | 
					            security_answer_2: user.security_answer_2.clone().unwrap_or(String::new()),
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -98,6 +98,7 @@ pub fn get_routes() -> Vec<Route> {
 | 
				
			|||||||
        Route::post("/settings/check_user_directory_availability", Box::new(settings_controller::check_virtual_directory)),
 | 
					        Route::post("/settings/check_user_directory_availability", Box::new(settings_controller::check_virtual_directory)),
 | 
				
			||||||
        Route::post("/settings/get_language", Box::new(settings_controller::get_language)),
 | 
					        Route::post("/settings/get_language", Box::new(settings_controller::get_language)),
 | 
				
			||||||
        Route::post("/settings/set_language", Box::new(settings_controller::set_language)),
 | 
					        Route::post("/settings/set_language", Box::new(settings_controller::set_language)),
 | 
				
			||||||
 | 
					        Route::post("/settings/get_security", Box::new(settings_controller::get_security)),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Friends controller
 | 
					        // Friends controller
 | 
				
			||||||
        Route::post("/friends/getList", Box::new(friends_controller::get_list)),
 | 
					        Route::post("/friends/getList", Box::new(friends_controller::get_list)),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
use crate::api_data::general_settings_api::GeneralSettingsAPI;
 | 
					use crate::api_data::general_settings_api::GeneralSettingsAPI;
 | 
				
			||||||
use crate::api_data::language_settings_api::LanguageSettingsAPI;
 | 
					use crate::api_data::language_settings_api::LanguageSettingsAPI;
 | 
				
			||||||
 | 
					use crate::api_data::security_settings_api::SecuritySettingsAPI;
 | 
				
			||||||
use crate::constants::SUPPORTED_LANGUAGES;
 | 
					use crate::constants::SUPPORTED_LANGUAGES;
 | 
				
			||||||
use crate::controllers::routes::RequestResult;
 | 
					use crate::controllers::routes::RequestResult;
 | 
				
			||||||
use crate::data::general_settings::GeneralSettings;
 | 
					use crate::data::general_settings::GeneralSettings;
 | 
				
			||||||
@@ -84,3 +85,12 @@ pub fn set_language(r: &mut HttpRequestHandler) -> RequestResult {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    r.success("Language settings updated.")
 | 
					    r.success("Language settings updated.")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// Get security settings
 | 
				
			||||||
 | 
					pub fn get_security(r: &mut HttpRequestHandler) -> RequestResult {
 | 
				
			||||||
 | 
					    r.need_user_password("password")?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let user = user_helper::find_user_by_id(r.user_id_ref()?)?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    r.set_response(SecuritySettingsAPI::new(&user))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user