mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-06-20 16:35:17 +00:00
Can set security settings
This commit is contained in:
@ -99,6 +99,7 @@ pub fn get_routes() -> Vec<Route> {
|
||||
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/get_security", Box::new(settings_controller::get_security)),
|
||||
Route::post("/settings/set_security", Box::new(settings_controller::set_security)),
|
||||
|
||||
// Friends controller
|
||||
Route::post("/friends/getList", Box::new(friends_controller::get_list)),
|
||||
|
@ -10,6 +10,7 @@ use crate::controllers::routes::RequestResult;
|
||||
use crate::data::general_settings::GeneralSettings;
|
||||
use crate::data::http_request_handler::HttpRequestHandler;
|
||||
use crate::data::lang_settings::LangSettings;
|
||||
use crate::data::security_settings::{SecurityQuestion, SecuritySettings};
|
||||
use crate::data::user::UserPageStatus;
|
||||
use crate::helpers::{account_helper, user_helper};
|
||||
use crate::helpers::virtual_directory_helper::VirtualDirType;
|
||||
@ -93,4 +94,26 @@ pub fn get_security(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let user = user_helper::find_user_by_id(r.user_id_ref()?)?;
|
||||
|
||||
r.set_response(SecuritySettingsAPI::new(&user))
|
||||
}
|
||||
|
||||
/// Set security settings
|
||||
pub fn set_security(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
r.need_user_password("password")?;
|
||||
|
||||
let new_settings = SecuritySettings {
|
||||
id: r.user_id()?,
|
||||
question1: SecurityQuestion::new(
|
||||
&Option::Some(r.post_content("security_question_1", 0, false)?),
|
||||
&Option::Some(r.post_content("security_answer_1", 0, false)?),
|
||||
),
|
||||
|
||||
question2: SecurityQuestion::new(
|
||||
&Option::Some(r.post_content("security_question_2", 0, false)?),
|
||||
&Option::Some(r.post_content("security_answer_2", 0, false)?),
|
||||
),
|
||||
};
|
||||
|
||||
account_helper::set_security_settings(&new_settings)?;
|
||||
|
||||
r.success("Security settings update.")
|
||||
}
|
Reference in New Issue
Block a user