feat: implement media listing with sorting and filtering options

This commit is contained in:
2025-11-04 05:57:04 +01:00
parent ab8eeb882e
commit eaf4c90fa8
18 changed files with 238 additions and 39 deletions

View File

@@ -9,7 +9,7 @@ use libertas_core::{
error::{CoreError, CoreResult},
models::Media,
repositories::{AlbumShareRepository, MediaRepository, UserRepository},
schema::UploadMediaData,
schema::{ListMediaOptions, UploadMediaData},
services::MediaService,
};
use serde_json::json;
@@ -95,8 +95,8 @@ impl MediaService for MediaServiceImpl {
Err(CoreError::Auth("Access denied".to_string()))
}
async fn list_user_media(&self, user_id: Uuid) -> CoreResult<Vec<Media>> {
self.repo.list_by_user(user_id).await
async fn list_user_media(&self, user_id: Uuid, options: ListMediaOptions) -> CoreResult<Vec<Media>> {
self.repo.list_by_user(user_id, &options).await
}
async fn get_media_filepath(&self, id: Uuid, user_id: Uuid) -> CoreResult<String> {