feat(application): wrapup generate/get/list use cases

This commit is contained in:
2026-06-02 22:09:08 +02:00
parent 59b42ce810
commit b171d2d1e2
11 changed files with 145 additions and 3 deletions

View File

@@ -194,6 +194,7 @@ async fn wire_dependencies() -> anyhow::Result<(AppState, axum::Router)> {
#[cfg(not(feature = "federation"))]
social_query: Arc::new(domain::testing::NoopSocialQueryPort),
wrapup_stats: Arc::new(domain::testing::PanicWrapUpStatsQuery) as Arc<dyn domain::ports::WrapUpStatsQuery>,
wrapup_repo: Arc::new(domain::testing::PanicWrapUpRepository) as Arc<dyn domain::ports::WrapUpRepository>,
},
services: Services {
auth: auth_service,

View File

@@ -568,6 +568,50 @@ impl domain::ports::WebhookTokenRepository for Panic {
}
}
impl domain::ports::WrapUpStatsQuery for Panic {
async fn get_reviews_with_profiles(
&self,
_: &domain::models::wrapup::WrapUpScope,
_: &domain::models::wrapup::DateRange,
) -> Result<Vec<domain::ports::WrapUpMovieRow>, DomainError> {
panic!()
}
}
impl domain::ports::WrapUpRepository for Panic {
async fn create(&self, _: &domain::models::wrapup::WrapUpRecord) -> Result<(), DomainError> {
panic!()
}
async fn update_status(
&self,
_: &domain::value_objects::WrapUpId,
_: &domain::models::wrapup::WrapUpStatus,
_: Option<&str>,
) -> Result<(), DomainError> {
panic!()
}
async fn set_complete(&self, _: &domain::value_objects::WrapUpId, _: &str) -> Result<(), DomainError> {
panic!()
}
async fn get_by_id(&self, _: &domain::value_objects::WrapUpId) -> Result<Option<domain::models::wrapup::WrapUpRecord>, DomainError> {
panic!()
}
async fn list_for_user(&self, _: uuid::Uuid) -> Result<Vec<domain::models::wrapup::WrapUpRecord>, DomainError> {
panic!()
}
async fn list_global(&self) -> Result<Vec<domain::models::wrapup::WrapUpRecord>, DomainError> {
panic!()
}
async fn find_existing(
&self,
_: Option<uuid::Uuid>,
_: chrono::NaiveDate,
_: chrono::NaiveDate,
) -> Result<Option<domain::models::wrapup::WrapUpRecord>, DomainError> {
panic!()
}
}
// --- Single state factory — only auth_service varies ---
pub fn make_test_state(auth_service: Arc<dyn AuthService>) -> crate::state::AppState {
@@ -593,6 +637,8 @@ pub fn make_test_state(auth_service: Arc<dyn AuthService>) -> crate::state::AppS
search_command: Arc::clone(&repo) as _,
remote_watchlist: Arc::clone(&repo) as _,
social_query: Arc::clone(&repo) as _,
wrapup_stats: Arc::clone(&repo) as _,
wrapup_repo: Arc::clone(&repo) as _,
},
services: Services {
auth: auth_service,

View File

@@ -415,6 +415,8 @@ async fn test_app() -> Router {
search_command: Arc::new(PanicSearchCommand),
remote_watchlist: Arc::new(PanicRemoteWatchlist),
social_query: Arc::new(PanicSocialQuery),
wrapup_stats: Arc::new(domain::testing::PanicWrapUpStatsQuery) as _,
wrapup_repo: Arc::new(domain::testing::PanicWrapUpRepository) as _,
},
services: Services {
auth: Arc::new(PanicAuth),