feat: add functionality to remove media from album, including API integration and UI context menu
This commit is contained in:
@@ -49,6 +49,7 @@ pub trait AlbumRepository: Send + Sync {
|
||||
async fn list_media_by_album_id(&self, album_id: Uuid) -> CoreResult<Vec<Media>>;
|
||||
async fn is_media_in_public_album(&self, media_id: Uuid) -> CoreResult<bool>;
|
||||
async fn set_thumbnail_media_id(&self, album_id: Uuid, media_id: Uuid) -> CoreResult<()>;
|
||||
async fn remove_media_from_album(&self, album_id: Uuid, media_ids: &[Uuid]) -> CoreResult<()>;
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
|
||||
@@ -121,3 +121,8 @@ impl<T> PaginatedResponse<T> {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(serde::Deserialize)]
|
||||
pub struct RemoveMediaFromAlbumRequest {
|
||||
pub media_ids: Vec<uuid::Uuid>,
|
||||
}
|
||||
|
||||
@@ -59,6 +59,12 @@ pub trait AlbumService: Send + Sync {
|
||||
user_id: Uuid,
|
||||
) -> CoreResult<()>;
|
||||
async fn get_album_media(&self, album_id: Uuid, user_id: Uuid) -> CoreResult<Vec<Media>>;
|
||||
async fn remove_media_from_album(
|
||||
&self,
|
||||
album_id: Uuid,
|
||||
media_ids: &[Uuid],
|
||||
user_id: Uuid,
|
||||
) -> CoreResult<()>;
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
|
||||
Reference in New Issue
Block a user