feat: implement add media to album functionality with dialog and API integration

This commit is contained in:
2025-11-16 01:38:04 +01:00
parent 43157cef4e
commit 07b797b82b
10 changed files with 321 additions and 57 deletions

View File

@@ -5,7 +5,7 @@ use chrono::Utc;
use libertas_core::{
authz::{self, Permission},
error::{CoreError, CoreResult},
models::{Album, PublicAlbumBundle},
models::{Album, Media, PublicAlbumBundle},
repositories::{AlbumRepository, AlbumShareRepository},
schema::{AddMediaToAlbumData, CreateAlbumData, ShareAlbumData, UpdateAlbumData},
services::{AlbumService, AuthorizationService},
@@ -188,4 +188,14 @@ impl AlbumService for AlbumServiceImpl {
.set_thumbnail_media_id(album_id, media_id)
.await
}
async fn get_album_media(&self, album_id: Uuid, user_id: Uuid) -> CoreResult<Vec<Media>> {
self.auth_service
.check_permission(Some(user_id), Permission::ViewAlbum(album_id))
.await?;
let media = self.album_repo.list_media_by_album_id(album_id).await?;
Ok(media)
}
}