From a5b95c165aee6b154cce020cfaf6bfda07f3bca8 Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Tue, 29 Sep 2026 23:36:11 -0600 Subject: [PATCH] fix(readarr): send an empty images list when adding an author --- src/cli/readarr/add_command_handler.rs | 1 + src/cli/readarr/add_command_handler_tests.rs | 1 + src/handlers/readarr_handlers/library/add_author_handler.rs | 1 + .../readarr_handlers/library/add_author_handler_tests.rs | 3 +++ src/models/readarr_models.rs | 2 ++ .../library/authors/readarr_authors_network_tests.rs | 2 ++ src/network/readarr_network/readarr_network_test_utils.rs | 1 + 7 files changed, 11 insertions(+) diff --git a/src/cli/readarr/add_command_handler.rs b/src/cli/readarr/add_command_handler.rs index b66de995..36d6e919 100644 --- a/src/cli/readarr/add_command_handler.rs +++ b/src/cli/readarr/add_command_handler.rs @@ -171,6 +171,7 @@ impl<'a, 'b> CliCommandHandler<'a, 'b, ReadarrAddCommand> for ReadarrAddCommandH quality_profile_id, metadata_profile_id, tags, + images: Vec::new(), tag_input_string: None, add_options: AddAuthorOptions { monitor, diff --git a/src/cli/readarr/add_command_handler_tests.rs b/src/cli/readarr/add_command_handler_tests.rs index 33c4698c..76f962cc 100644 --- a/src/cli/readarr/add_command_handler_tests.rs +++ b/src/cli/readarr/add_command_handler_tests.rs @@ -447,6 +447,7 @@ mod tests { quality_profile_id: 1, metadata_profile_id: 1, tags: vec![1, 2], + images: Vec::new(), tag_input_string: None, add_options: AddAuthorOptions { monitor: MonitorType::All, diff --git a/src/handlers/readarr_handlers/library/add_author_handler.rs b/src/handlers/readarr_handlers/library/add_author_handler.rs index 3510ac52..fec7dd40 100644 --- a/src/handlers/readarr_handlers/library/add_author_handler.rs +++ b/src/handlers/readarr_handlers/library/add_author_handler.rs @@ -88,6 +88,7 @@ impl AddAuthorHandler<'_, '_> { quality_profile_id, metadata_profile_id, tags: Vec::new(), + images: Vec::new(), tag_input_string: Some(tags), add_options: AddAuthorOptions { monitor, diff --git a/src/handlers/readarr_handlers/library/add_author_handler_tests.rs b/src/handlers/readarr_handlers/library/add_author_handler_tests.rs index 562f3c5b..928536b5 100644 --- a/src/handlers/readarr_handlers/library/add_author_handler_tests.rs +++ b/src/handlers/readarr_handlers/library/add_author_handler_tests.rs @@ -1237,6 +1237,7 @@ mod tests { quality_profile_id: 2222, metadata_profile_id: 4444, tags: Vec::default(), + images: Vec::new(), tag_input_string: Some("usenet, testing".to_owned()), add_options: AddAuthorOptions { monitor: MonitorType::Future, @@ -1628,6 +1629,7 @@ mod tests { quality_profile_id: 2222, metadata_profile_id: 4444, tags: Vec::default(), + images: Vec::new(), tag_input_string: Some("usenet, testing".to_owned()), add_options: AddAuthorOptions { monitor: MonitorType::Future, @@ -1795,6 +1797,7 @@ mod tests { quality_profile_id: 2222, metadata_profile_id: 4444, tags: Vec::default(), + images: Vec::new(), tag_input_string: Some("usenet, testing".to_owned()), add_options: AddAuthorOptions { monitor: MonitorType::Future, diff --git a/src/models/readarr_models.rs b/src/models/readarr_models.rs index 587f5f1b..59e58026 100644 --- a/src/models/readarr_models.rs +++ b/src/models/readarr_models.rs @@ -222,6 +222,8 @@ pub struct AddAuthorBody { pub quality_profile_id: i64, pub metadata_profile_id: i64, pub tags: Vec, + // Readarr-Resurrected persists the add body directly and rejects it when the images list is absent + pub images: Vec, #[serde(skip_serializing, skip_deserializing)] pub tag_input_string: Option, pub add_options: AddAuthorOptions, diff --git a/src/network/readarr_network/library/authors/readarr_authors_network_tests.rs b/src/network/readarr_network/library/authors/readarr_authors_network_tests.rs index eb1ed4fb..39bd0bf0 100644 --- a/src/network/readarr_network/library/authors/readarr_authors_network_tests.rs +++ b/src/network/readarr_network/library/authors/readarr_authors_network_tests.rs @@ -680,6 +680,7 @@ mod tests { "qualityProfileId": 1, "metadataProfileId": 1, "tags": [1, 2], + "images": [], "addOptions": { "monitor": "all", "monitorNewItems": "all", @@ -722,6 +723,7 @@ mod tests { "qualityProfileId": 1, "metadataProfileId": 1, "tags": [1, 2], + "images": [], "addOptions": { "monitor": "all", "monitorNewItems": "all", diff --git a/src/network/readarr_network/readarr_network_test_utils.rs b/src/network/readarr_network/readarr_network_test_utils.rs index fa7bbd34..6afc5b28 100644 --- a/src/network/readarr_network/readarr_network_test_utils.rs +++ b/src/network/readarr_network/readarr_network_test_utils.rs @@ -394,6 +394,7 @@ pub mod test_utils { quality_profile_id: 1, metadata_profile_id: 1, tags: Vec::default(), + images: Vec::new(), tag_input_string: Some("usenet, testing".to_owned()), add_options: AddAuthorOptions { monitor: MonitorType::All,