feat: add user_id filter to GetDiaryQuery and get_diary use case
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -219,6 +219,7 @@ impl From<DiaryQueryParams> for GetDiaryQuery {
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
movie_id: p.movie_id,
|
movie_id: p.movie_id,
|
||||||
|
user_id: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user