diff --git a/src/service/media.rs b/src/service/media.rs index 399dc1dd..f5dfda4d 100644 --- a/src/service/media.rs +++ b/src/service/media.rs @@ -8,7 +8,7 @@ use tokio::{ }; use tracing::{debug, warn}; -use crate::{services, Result}; +use crate::{services, utils, Result}; mod data; @@ -114,14 +114,29 @@ impl Service { /// Deletes a media object and all associated thumbnails. #[tracing::instrument(skip(self))] pub(crate) async fn delete(&self, mxc: OwnedMxcUri) -> Result<()> { - let (_, key) = self.db.search_file_metadata(mxc.clone(), 0, 0)?; + let (_, key) = + self.db.search_file_metadata(mxc.clone(), 0, 0).inspect_err( + |error| warn!(%error, "Failed to find original media key"), + )?; let thumbnails = self.db.search_thumbnails_metadata(mxc)?; for (_, thumbnail_key) in thumbnails { - self.delete_by_key(thumbnail_key).await?; + self.delete_by_key(thumbnail_key.clone()).await.inspect_err( + |error| { + warn!( + thumbnail_key = utils::u8_slice_to_hex( + thumbnail_key.as_bytes() + ), + %error, + "Failed to delete thumbnail media" + ); + }, + )?; } - self.delete_by_key(key).await?; + self.delete_by_key(key).await.inspect_err( + |error| warn!(%error, "Failed to delete original media"), + )?; Ok(()) }