mirror of
				https://gitlab.com/comunic/comunicapiv3
				synced 2025-11-04 09:34:04 +00:00 
			
		
		
		
	Can update data conservation policy
This commit is contained in:
		@@ -9,6 +9,7 @@ use crate::data::error::{ExecError, Res, ResultBoxError};
 | 
			
		||||
use crate::data::general_settings::GeneralSettings;
 | 
			
		||||
use crate::data::lang_settings::LangSettings;
 | 
			
		||||
use crate::data::new_account::NewAccount;
 | 
			
		||||
use crate::data::new_data_conservation_policy::NewDataConservationPolicy;
 | 
			
		||||
use crate::data::security_settings::SecuritySettings;
 | 
			
		||||
use crate::data::user::{AccountImageVisibility, User, UserID, UserPageStatus};
 | 
			
		||||
use crate::data::user_token::UserAccessToken;
 | 
			
		||||
@@ -280,6 +281,19 @@ pub fn set_account_image_visibility(user_id: &UserID, level: AccountImageVisibil
 | 
			
		||||
        .exec()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Set data conservation policy
 | 
			
		||||
pub fn set_data_conservation_policy(new_policy: NewDataConservationPolicy) -> Res {
 | 
			
		||||
    database::UpdateInfo::new(USERS_TABLE)
 | 
			
		||||
        .cond_user_id("ID", &new_policy.user_id)
 | 
			
		||||
        .set_opt_u64_or_zero("delete_account_after", new_policy.delete_account_after)
 | 
			
		||||
        .set_opt_u64_or_zero("delete_notifications_after", new_policy.delete_notifications_after)
 | 
			
		||||
        .set_opt_u64_or_zero("delete_comments_after", new_policy.delete_comments_after)
 | 
			
		||||
        .set_opt_u64_or_zero("delete_posts_after", new_policy.delete_posts_after)
 | 
			
		||||
        .set_opt_u64_or_zero("delete_conversation_messages_after", new_policy.delete_conversation_messages_after)
 | 
			
		||||
        .set_opt_u64_or_zero("delete_likes_after", new_policy.delete_likes_after)
 | 
			
		||||
        .exec()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Export an account's data
 | 
			
		||||
pub fn export(user_id: &UserID) -> ResultBoxError<AccountExport> {
 | 
			
		||||
    let mut data = AccountExport {
 | 
			
		||||
 
 | 
			
		||||
@@ -867,6 +867,16 @@ impl UpdateInfo {
 | 
			
		||||
        self
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Set an u64 number
 | 
			
		||||
   ///
 | 
			
		||||
   /// None => 0
 | 
			
		||||
   /// Some => The value
 | 
			
		||||
    pub fn set_opt_u64_or_zero(mut self, name: &str, val: Option<u64>) -> UpdateInfo {
 | 
			
		||||
        self.set.insert(name.to_string(), Value::from(val.unwrap_or(0)));
 | 
			
		||||
        self
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /// Set a new legacy boolean
 | 
			
		||||
    pub fn set_legacy_bool(mut self, name: &str, val: bool) -> UpdateInfo {
 | 
			
		||||
        let num = match val {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user