From 02518e211615e369c4d66ee88525c533a96b4fff Mon Sep 17 00:00:00 2001 From: Bogdan Date: Tue, 16 Apr 2024 11:39:35 +0300 Subject: [PATCH] Fixed: Validate provider's settings in Test All endpoint --- src/Radarr.Api.V3/ProviderControllerBase.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Radarr.Api.V3/ProviderControllerBase.cs b/src/Radarr.Api.V3/ProviderControllerBase.cs index f432a8274..d5405f0b1 100644 --- a/src/Radarr.Api.V3/ProviderControllerBase.cs +++ b/src/Radarr.Api.V3/ProviderControllerBase.cs @@ -48,6 +48,7 @@ namespace Radarr.Api.V3 } [HttpGet] + [Produces("application/json")] public List GetAll() { var providerDefinitions = _providerFactory.All(); @@ -165,6 +166,7 @@ namespace Radarr.Api.V3 public object DeleteProvider(int id) { _providerFactory.Delete(id); + return new { }; } @@ -178,6 +180,7 @@ namespace Radarr.Api.V3 } [HttpGet("schema")] + [Produces("application/json")] public List GetTemplates() { var defaultDefinitions = _providerFactory.GetDefaultDefinitions().OrderBy(p => p.ImplementationName).ToList(); @@ -201,6 +204,7 @@ namespace Radarr.Api.V3 [SkipValidation(true, false)] [HttpPost("test")] + [Consumes("application/json")] public object Test([FromBody] TProviderResource providerResource) { var existingDefinition = providerResource.Id > 0 ? _providerFactory.Find(providerResource.Id) : null; @@ -222,12 +226,15 @@ namespace Radarr.Api.V3 foreach (var definition in providerDefinitions) { - var validationResult = _providerFactory.Test(definition); + var validationFailures = new List(); + + validationFailures.AddRange(definition.Settings.Validate().Errors); + validationFailures.AddRange(_providerFactory.Test(definition).Errors); result.Add(new ProviderTestAllResult { Id = definition.Id, - ValidationFailures = validationResult.Errors.ToList() + ValidationFailures = validationFailures }); }