mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2024-11-22 21:39:21 +00:00
Work progress on post deletion
This commit is contained in:
parent
a071d33efd
commit
584ecbf49b
@ -11,9 +11,10 @@ use crate::data::group_member::GroupMembershipLevel;
|
|||||||
use crate::data::post::{Post, PostAccessLevel, PostFile, PostKind, PostPageKind, PostVisibilityLevel, PostWebLink};
|
use crate::data::post::{Post, PostAccessLevel, PostFile, PostKind, PostPageKind, PostVisibilityLevel, PostWebLink};
|
||||||
use crate::data::post::PostKind::{POST_KIND_COUNTDOWN, POST_KIND_IMAGE, POST_KIND_MOVIE, POST_KIND_PDF, POST_KIND_SURVEY, POST_KIND_WEBLINK, POST_KIND_YOUTUBE};
|
use crate::data::post::PostKind::{POST_KIND_COUNTDOWN, POST_KIND_IMAGE, POST_KIND_MOVIE, POST_KIND_PDF, POST_KIND_SURVEY, POST_KIND_WEBLINK, POST_KIND_YOUTUBE};
|
||||||
use crate::data::user::UserID;
|
use crate::data::user::UserID;
|
||||||
use crate::helpers::{database, friends_helper, groups_helper, likes_helper, user_helper, comments_helper};
|
use crate::helpers::{comments_helper, database, friends_helper, groups_helper, likes_helper, user_helper};
|
||||||
use crate::helpers::likes_helper::LikeType;
|
use crate::helpers::likes_helper::LikeType;
|
||||||
use crate::utils::date_utils::{mysql_date, time};
|
use crate::utils::date_utils::{mysql_date, time};
|
||||||
|
use crate::utils::user_data_utils::user_data_path;
|
||||||
|
|
||||||
impl PostVisibilityLevel {
|
impl PostVisibilityLevel {
|
||||||
pub fn to_db(&self) -> u32 {
|
pub fn to_db(&self) -> u32 {
|
||||||
@ -410,6 +411,20 @@ pub fn delete(p: &Post) -> ResultBoxError {
|
|||||||
// Delete all the comments associated to the post
|
// Delete all the comments associated to the post
|
||||||
comments_helper::delete_all(p.id)?;
|
comments_helper::delete_all(p.id)?;
|
||||||
|
|
||||||
|
// Delete associated file / resource (if any)
|
||||||
|
match &p.kind {
|
||||||
|
|
||||||
|
// Image / PDF
|
||||||
|
PostKind::POST_KIND_IMAGE(file) | PostKind::POST_KIND_PDF(file) => {
|
||||||
|
let path = user_data_path(file.path.as_ref());
|
||||||
|
if path.exists() {
|
||||||
|
std::fs::remove_file(path)?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_ => { /* Nothing to be done */ }
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user