Automatically remove orphan files
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
use crate::connections::db_connection::db;
|
||||
use crate::connections::s3_connection;
|
||||
use crate::constants;
|
||||
use crate::models::files::{File, FileID, NewFile};
|
||||
use crate::models::users::UserID;
|
||||
use crate::schema::files;
|
||||
@@ -86,6 +87,11 @@ pub async fn get_file_content(file: &File) -> anyhow::Result<Vec<u8>> {
|
||||
pub async fn delete_file_if_unused(id: FileID) -> anyhow::Result<bool> {
|
||||
let file = get_file_with_id(id)?;
|
||||
|
||||
// Check if the file is old enough
|
||||
if file.time_create as u64 + constants::MIN_FILE_LIFETIME > time() {
|
||||
return Ok(false);
|
||||
}
|
||||
|
||||
let res = diesel::delete(files::dsl::files.filter(files::dsl::id.eq(file.id().0)))
|
||||
.execute(&mut db()?);
|
||||
|
||||
|
Reference in New Issue
Block a user