feat: add user_id filter to GetDiaryQuery and get_diary use case

This commit is contained in:
2026-05-04 20:49:31 +02:00
parent f4aba551a2
commit 49b79799c1
4 changed files with 7 additions and 6 deletions

View File

@@ -6,6 +6,7 @@ pub struct GetDiaryQuery {
pub offset: Option<u32>, pub offset: Option<u32>,
pub sort_by: Option<SortDirection>, pub sort_by: Option<SortDirection>,
pub movie_id: Option<Uuid>, pub movie_id: Option<Uuid>,
pub user_id: Option<Uuid>,
} }
pub struct GetReviewHistoryQuery { pub struct GetReviewHistoryQuery {

View File

@@ -4,7 +4,7 @@ use domain::{
DiaryEntry, DiaryFilter, SortDirection, DiaryEntry, DiaryFilter, SortDirection,
collections::{PageParams, Paginated}, collections::{PageParams, Paginated},
}, },
value_objects::MovieId, value_objects::{MovieId, UserId},
}; };
use crate::{context::AppContext, queries::GetDiaryQuery}; use crate::{context::AppContext, queries::GetDiaryQuery};
@@ -14,17 +14,15 @@ pub async fn execute(
query: GetDiaryQuery, query: GetDiaryQuery,
) -> Result<Paginated<DiaryEntry>, DomainError> { ) -> Result<Paginated<DiaryEntry>, DomainError> {
let page = PageParams::new(query.limit, query.offset)?; let page = PageParams::new(query.limit, query.offset)?;
let movie_id = query.movie_id.map(MovieId::from_uuid); let movie_id = query.movie_id.map(MovieId::from_uuid);
let user_id = query.user_id.map(UserId::from_uuid);
let filter = DiaryFilter { let filter = DiaryFilter {
sort_by: query.sort_by.unwrap_or(SortDirection::Descending), sort_by: query.sort_by.unwrap_or(SortDirection::Descending),
page, page,
movie_id, movie_id,
user_id: None, user_id,
}; };
let paginated_results = ctx.repository.query_diary(&filter).await?; ctx.repository.query_diary(&filter).await
Ok(paginated_results)
} }

View File

@@ -219,6 +219,7 @@ impl From<DiaryQueryParams> for GetDiaryQuery {
} }
}), }),
movie_id: p.movie_id, movie_id: p.movie_id,
user_id: None,
} }
} }
} }

View File

@@ -375,6 +375,7 @@ pub mod rss {
offset: Some(0), offset: Some(0),
sort_by: Some(SortDirection::Descending), sort_by: Some(SortDirection::Descending),
movie_id: None, movie_id: None,
user_id: None,
}; };
let page = get_diary::execute(&state.app_ctx, query).await?; let page = get_diary::execute(&state.app_ctx, query).await?;
let xml = state let xml = state