Send deletion thread and updated users revision

This commit is contained in:
Daniel García
2021-03-22 19:57:35 +01:00
parent 46a1a013cd
commit 1fc6c30652
6 changed files with 34 additions and 5 deletions

View File

@ -194,6 +194,10 @@ impl Send {
pub fn delete(&self, conn: &DbConn) -> EmptyResult {
self.update_users_revision(conn);
if self.atype == SendType::File as i32 {
std::fs::remove_dir_all(std::path::Path::new(&crate::CONFIG.sends_folder()).join(&self.uuid)).ok();
}
db_run! { conn: {
diesel::delete(sends::table.filter(sends::uuid.eq(&self.uuid)))
.execute(conn)
@ -202,7 +206,7 @@ impl Send {
}
pub fn update_users_revision(&self, conn: &DbConn) {
match self.user_uuid {
match &self.user_uuid {
Some(user_uuid) => {
User::update_uuid_revision(&user_uuid, conn);
}
@ -219,6 +223,12 @@ impl Send {
Ok(())
}
pub fn find_all(conn: &DbConn) -> Vec<Self> {
db_run! {conn: {
sends::table.load::<SendDb>(conn).expect("Error loading sends").from_db()
}}
}
pub fn find_by_access_id(access_id: &str, conn: &DbConn) -> Option<Self> {
use data_encoding::BASE64URL_NOPAD;
use uuid::Uuid;