1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-06-21 00:45:18 +00:00

Can set general settings

This commit is contained in:
2020-07-14 11:36:15 +02:00
parent dcd8b07b60
commit 1850ca0626
6 changed files with 82 additions and 6 deletions

View File

@ -3,8 +3,9 @@ use crate::constants::database_tables_names::{USER_ACCESS_TOKENS_TABLE, USERS_TA
use crate::data::account_export::AccountExport;
use crate::data::api_client::APIClient;
use crate::data::error::{ExecError, ResultBoxError};
use crate::data::general_settings::GeneralSettings;
use crate::data::new_account::NewAccount;
use crate::data::user::UserID;
use crate::data::user::{UserID, UserPageStatus};
use crate::data::user_token::UserAccessToken;
use crate::helpers::{comments_helper, conversations_helper, database, friends_helper, groups_helper, likes_helper, movies_helper, posts_helper, survey_helper, user_helper};
use crate::helpers::database::{DeleteQuery, InsertQuery, QueryInfo};
@ -191,6 +192,25 @@ pub fn update_last_activity(user_id: &UserID) -> ResultBoxError {
.exec()
}
/// Set new general settings of an account
pub fn set_general(settings: &GeneralSettings) -> ResultBoxError {
database::UpdateInfo::new(USERS_TABLE)
.cond_user_id("ID", &settings.id)
.set_str("prenom", &settings.first_name)
.set_str("nom", &settings.last_name)
.set_legacy_bool("public", settings.page_status != UserPageStatus::PRIVATE)
.set_legacy_bool("pageouverte", settings.page_status == UserPageStatus::OPEN)
.set_legacy_bool("bloquecommentaire", settings.block_comments)
.set_legacy_bool("autoriser_post_amis", settings.allow_posts_from_friends)
.set_legacy_bool("autorise_mail", settings.allow_mails)
.set_legacy_bool("liste_amis_publique", settings.friends_list_public)
.set_opt_str("sous_repertoire", settings.virtual_directory.clone())
.set_opt_str("site_web", settings.personal_website.clone())
.set_opt_str("public_note", settings.public_note.clone())
.exec()
}
/// Export an account's data
pub fn export(user_id: &UserID) -> ResultBoxError<AccountExport> {
let mut data = AccountExport {