mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-06-21 00:45:18 +00:00
Can set language settings
This commit is contained in:
@ -97,6 +97,7 @@ pub fn get_routes() -> Vec<Route> {
|
||||
Route::post("/settings/set_general", Box::new(settings_controller::set_general)),
|
||||
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/set_language", Box::new(settings_controller::set_language)),
|
||||
|
||||
// Friends controller
|
||||
Route::post("/friends/getList", Box::new(friends_controller::get_list)),
|
||||
|
@ -4,9 +4,11 @@
|
||||
|
||||
use crate::api_data::general_settings_api::GeneralSettingsAPI;
|
||||
use crate::api_data::language_settings_api::LanguageSettingsAPI;
|
||||
use crate::constants::SUPPORTED_LANGUAGES;
|
||||
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::user::UserPageStatus;
|
||||
use crate::helpers::{account_helper, user_helper};
|
||||
use crate::helpers::virtual_directory_helper::VirtualDirType;
|
||||
@ -63,4 +65,22 @@ pub fn get_language(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let user = user_helper::find_user_by_id(r.user_id_ref()?)?;
|
||||
|
||||
r.set_response(LanguageSettingsAPI::new(&user))
|
||||
}
|
||||
|
||||
/// Set the current language of the user
|
||||
pub fn set_language(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let lang = r.post_string("lang")?;
|
||||
|
||||
if !SUPPORTED_LANGUAGES.contains(&lang.as_str()) {
|
||||
r.forbidden("Language not supported!".to_string())?;
|
||||
}
|
||||
|
||||
let new_settings = LangSettings {
|
||||
id: r.user_id()?,
|
||||
lang,
|
||||
};
|
||||
|
||||
account_helper::set_language_settings(&new_settings)?;
|
||||
|
||||
r.success("Language settings updated.")
|
||||
}
|
Reference in New Issue
Block a user