log details of failed media deletion

This commit is contained in:
Olivia Lee 2024-11-28 16:47:22 -08:00
parent bdb623cb07
commit 11b5055647
No known key found for this signature in database
GPG key ID: 54D568A15B9CD1F9

View file

@ -8,7 +8,7 @@ use tokio::{
}; };
use tracing::{debug, warn}; use tracing::{debug, warn};
use crate::{services, Result}; use crate::{services, utils, Result};
mod data; mod data;
@ -114,14 +114,29 @@ impl Service {
/// Deletes a media object and all associated thumbnails. /// Deletes a media object and all associated thumbnails.
#[tracing::instrument(skip(self))] #[tracing::instrument(skip(self))]
pub(crate) async fn delete(&self, mxc: OwnedMxcUri) -> Result<()> { 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)?; let thumbnails = self.db.search_thumbnails_metadata(mxc)?;
for (_, thumbnail_key) in thumbnails { 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(()) Ok(())
} }