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, }, },