mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-02-16 22:12:39 +00:00
Can get security settings
This commit is contained in:
parent
66ad111719
commit
c9544e7c9c
@ -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))
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user