feat: Add media serving functionality with optional metadata stripping

This commit is contained in:
2025-11-15 18:36:34 +01:00
parent ccb9f09d4a
commit e6c941bf28
7 changed files with 108 additions and 16 deletions

View File

@@ -153,6 +153,20 @@ impl MediaService for MediaServiceImpl {
.ok_or(CoreError::NotFound("Thumbnail for Media".to_string(), id))
}
async fn get_media_for_serving(&self, id: Uuid, user_id: Option<Uuid>) -> CoreResult<Media> {
self.auth_service
.check_permission(user_id, authz::Permission::ViewMedia(id))
.await?;
let media = self
.repo
.find_by_id(id)
.await?
.ok_or(CoreError::NotFound("Media".to_string(), id))?;
Ok(media)
}
async fn delete_media(&self, id: Uuid, user_id: Uuid) -> CoreResult<()> {
self.auth_service
.check_permission(Some(user_id), authz::Permission::DeleteMedia(id))