From 5864a090e4e83c44bdae745eb1db07a28ec04b97 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Fri, 26 May 2023 18:35:31 +0300 Subject: [PATCH] Fixed: Enforce validation warnings (cherry picked from commit 48ee1158ad4213fd0690842e2672f52d08f7ad26) --- .../Store/Actions/Creators/createSaveProviderHandler.js | 4 ++-- src/Prowlarr.Api.V1/ProviderControllerBase.cs | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js b/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js index 5761655d2..1cccf1666 100644 --- a/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js +++ b/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js @@ -32,9 +32,9 @@ function createSaveProviderHandler(section, url, options = {}) { const params = { ...queryParams }; // If the user is re-saving the same provider without changes - // force it to be saved. Only applies to editing existing providers. + // force it to be saved. - if (id && _.isEqual(saveData, lastSaveData)) { + if (_.isEqual(saveData, lastSaveData)) { params.forceSave = true; } diff --git a/src/Prowlarr.Api.V1/ProviderControllerBase.cs b/src/Prowlarr.Api.V1/ProviderControllerBase.cs index a5faf958d..52b931956 100644 --- a/src/Prowlarr.Api.V1/ProviderControllerBase.cs +++ b/src/Prowlarr.Api.V1/ProviderControllerBase.cs @@ -59,9 +59,9 @@ namespace Prowlarr.Api.V1 [RestPostById] [Produces("application/json")] - public ActionResult CreateProvider(TProviderResource providerResource) + public ActionResult CreateProvider([FromBody] TProviderResource providerResource, [FromQuery] bool forceSave = false) { - var providerDefinition = GetDefinition(providerResource, true, false, false); + var providerDefinition = GetDefinition(providerResource, true, !forceSave, false); if (providerDefinition.Enable) { @@ -77,7 +77,7 @@ namespace Prowlarr.Api.V1 [Produces("application/json")] public ActionResult UpdateProvider([FromBody] TProviderResource providerResource, [FromQuery] bool forceSave = false) { - var providerDefinition = GetDefinition(providerResource, true, false, false); + var providerDefinition = GetDefinition(providerResource, true, !forceSave, false); // Only test existing definitions if it is enabled and forceSave isn't set. if (providerDefinition.Enable && !forceSave) @@ -195,7 +195,7 @@ namespace Prowlarr.Api.V1 protected void VerifyValidationResult(ValidationResult validationResult, bool includeWarnings) { - var result = new NzbDroneValidationResult(validationResult.Errors); + var result = validationResult as NzbDroneValidationResult ?? new NzbDroneValidationResult(validationResult.Errors); if (includeWarnings && (!result.IsValid || result.HasWarnings)) {