From 49b79799c1216eda9ee91b9957f2d403445c0dc3 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Mon, 4 May 2026 20:49:31 +0200 Subject: [PATCH] feat: add user_id filter to GetDiaryQuery and get_diary use case --- crates/application/src/queries.rs | 1 + crates/application/src/use_cases/get_diary.rs | 10 ++++------ crates/presentation/src/dtos.rs | 1 + crates/presentation/src/handlers.rs | 1 + 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/crates/application/src/queries.rs b/crates/application/src/queries.rs index b4898f0..7746500 100644 --- a/crates/application/src/queries.rs +++ b/crates/application/src/queries.rs @@ -6,6 +6,7 @@ pub struct GetDiaryQuery { pub offset: Option, pub sort_by: Option, pub movie_id: Option, + pub user_id: Option, } pub struct GetReviewHistoryQuery { diff --git a/crates/application/src/use_cases/get_diary.rs b/crates/application/src/use_cases/get_diary.rs index 1e3f65b..eaa432c 100644 --- a/crates/application/src/use_cases/get_diary.rs +++ b/crates/application/src/use_cases/get_diary.rs @@ -4,7 +4,7 @@ use domain::{ DiaryEntry, DiaryFilter, SortDirection, collections::{PageParams, Paginated}, }, - value_objects::MovieId, + value_objects::{MovieId, UserId}, }; use crate::{context::AppContext, queries::GetDiaryQuery}; @@ -14,17 +14,15 @@ pub async fn execute( query: GetDiaryQuery, ) -> Result, DomainError> { let page = PageParams::new(query.limit, query.offset)?; - let movie_id = query.movie_id.map(MovieId::from_uuid); + let user_id = query.user_id.map(UserId::from_uuid); let filter = DiaryFilter { sort_by: query.sort_by.unwrap_or(SortDirection::Descending), page, movie_id, - user_id: None, + user_id, }; - let paginated_results = ctx.repository.query_diary(&filter).await?; - - Ok(paginated_results) + ctx.repository.query_diary(&filter).await } diff --git a/crates/presentation/src/dtos.rs b/crates/presentation/src/dtos.rs index 4fa6e11..3b92823 100644 --- a/crates/presentation/src/dtos.rs +++ b/crates/presentation/src/dtos.rs @@ -219,6 +219,7 @@ impl From for GetDiaryQuery { } }), movie_id: p.movie_id, + user_id: None, } } } diff --git a/crates/presentation/src/handlers.rs b/crates/presentation/src/handlers.rs index 114f8da..b776f98 100644 --- a/crates/presentation/src/handlers.rs +++ b/crates/presentation/src/handlers.rs @@ -375,6 +375,7 @@ pub mod rss { offset: Some(0), sort_by: Some(SortDirection::Descending), movie_id: None, + user_id: None, }; let page = get_diary::execute(&state.app_ctx, query).await?; let xml = state