mirror of
				https://gitlab.com/comunic/comunicapiv3
				synced 2025-11-04 09:34:04 +00:00 
			
		
		
		
	Automatically delete old user comments
This commit is contained in:
		@@ -4,13 +4,13 @@
 | 
			
		||||
 | 
			
		||||
use crate::constants::database_tables_names::COMMENTS_TABLE;
 | 
			
		||||
use crate::data::comment::Comment;
 | 
			
		||||
use crate::data::error::{ExecError, ResultBoxError};
 | 
			
		||||
use crate::data::user::UserID;
 | 
			
		||||
use crate::helpers::{database, likes_helper, events_helper};
 | 
			
		||||
use crate::helpers::likes_helper::LikeType;
 | 
			
		||||
use crate::utils::date_utils::mysql_date;
 | 
			
		||||
use crate::utils::user_data_utils::user_data_path;
 | 
			
		||||
use crate::data::error::{ExecError, Res, ResultBoxError};
 | 
			
		||||
use crate::data::user::{User, UserID};
 | 
			
		||||
use crate::helpers::{database, events_helper, likes_helper};
 | 
			
		||||
use crate::helpers::events_helper::Event;
 | 
			
		||||
use crate::helpers::likes_helper::LikeType;
 | 
			
		||||
use crate::utils::date_utils::{mysql_date, time};
 | 
			
		||||
use crate::utils::user_data_utils::user_data_path;
 | 
			
		||||
 | 
			
		||||
/// Create a new comment. In case of success, this function returns the ID of the created comment
 | 
			
		||||
pub fn create(c: &Comment) -> ResultBoxError<u64> {
 | 
			
		||||
@@ -118,5 +118,24 @@ pub fn delete_all_user(user_id: &UserID) -> ResultBoxError {
 | 
			
		||||
        delete(comment)?;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Ok(())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Clean old user comments
 | 
			
		||||
pub fn clean_old_comments(user: &User) -> Res {
 | 
			
		||||
    if user.delete_comments_after < 1 {
 | 
			
		||||
        return Ok(());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let comments = database::QueryInfo::new(COMMENTS_TABLE)
 | 
			
		||||
        .cond_user_id("ID_personne", &user.id)
 | 
			
		||||
        .set_custom_where("time_insert < ?")
 | 
			
		||||
        .add_custom_where_argument_u64(time() - user.delete_comments_after)
 | 
			
		||||
        .exec(db_to_comment)?;
 | 
			
		||||
 | 
			
		||||
    for comment in comments {
 | 
			
		||||
        delete(&comment)?;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Ok(())
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user