From cf2f4a1b4f27808d26eaa057fe95717a61dac2ab Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Thu, 4 Jun 2026 02:47:55 +0200 Subject: [PATCH] feat: watchlist add accepts title/year/imdb for movies not in DB --- crates/api-types/src/watchlist.rs | 9 ++++++++- crates/presentation/src/handlers/api.rs | 8 ++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/crates/api-types/src/watchlist.rs b/crates/api-types/src/watchlist.rs index 2a28471..9f85bfb 100644 --- a/crates/api-types/src/watchlist.rs +++ b/crates/api-types/src/watchlist.rs @@ -20,7 +20,14 @@ pub struct WatchlistResponse { #[derive(Debug, Clone, Deserialize, utoipa::ToSchema)] pub struct AddToWatchlistRequest { - pub movie_id: Uuid, + #[serde(skip_serializing_if = "Option::is_none")] + pub movie_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub external_metadata_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub manual_title: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub manual_release_year: Option, } #[derive(Debug, Clone, Serialize, utoipa::ToSchema)] diff --git a/crates/presentation/src/handlers/api.rs b/crates/presentation/src/handlers/api.rs index 03c050b..7568f95 100644 --- a/crates/presentation/src/handlers/api.rs +++ b/crates/presentation/src/handlers/api.rs @@ -1411,10 +1411,10 @@ pub async fn post_watchlist_add( AddToWatchlistCommand { user_id: user.0.value(), input: MovieInput { - movie_id: Some(req.movie_id), - external_metadata_id: None, - manual_title: None, - manual_release_year: None, + movie_id: req.movie_id, + external_metadata_id: req.external_metadata_id, + manual_title: req.manual_title, + manual_release_year: req.manual_release_year, manual_director: None, }, },