feat: Implement pagination for user media retrieval and update related structures
This commit is contained in:
@@ -17,7 +17,7 @@ use crate::{
|
||||
error::ApiError,
|
||||
extractors::query_options::ApiListMediaOptions,
|
||||
middleware::auth::{OptionalUserId, UserId},
|
||||
schema::{MediaDetailsResponse, MediaResponse},
|
||||
schema::{MediaDetailsResponse, MediaResponse, PaginatedResponse, map_paginated_response},
|
||||
state::AppState,
|
||||
};
|
||||
|
||||
@@ -138,12 +138,12 @@ async fn list_user_media(
|
||||
State(state): State<AppState>,
|
||||
UserId(user_id): UserId,
|
||||
ApiListMediaOptions(options): ApiListMediaOptions,
|
||||
) -> Result<Json<Vec<MediaResponse>>, ApiError> {
|
||||
let media_list = state
|
||||
) -> Result<Json<PaginatedResponse<MediaResponse>>, ApiError> {
|
||||
let core_paginated_result = state
|
||||
.media_service
|
||||
.list_user_media(user_id, options)
|
||||
.await?;
|
||||
|
||||
let response = media_list.into_iter().map(MediaResponse::from).collect();
|
||||
Ok(Json(response))
|
||||
let api_response = map_paginated_response(core_paginated_result);
|
||||
Ok(Json(api_response))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user