Mark attachments as deleted when deleting messages.

This commit is contained in:
Paul
2021-02-19 14:12:21 +00:00
parent db6047f2d3
commit dadad271b4

View File

@@ -201,6 +201,26 @@ impl Message {
}
pub async fn delete(&self) -> Result<()> {
if let Some(attachment) = &self.attachment {
get_collection("attachments")
.update_one(
doc! {
"_id": &attachment.id
},
doc! {
"$set": {
"deleted": true
}
},
None
)
.await
.map_err(|_| Error::DatabaseError {
operation: "update_one",
with: "attachment",
})?;
}
get_collection("messages")
.delete_one(
doc! {