Fixed: Validate provider's settings in Test All endpoint

pull/9937/head
Bogdan 1 month ago
parent 3191a883dc
commit 02518e2116

@ -48,6 +48,7 @@ namespace Radarr.Api.V3
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<TProviderResource> GetAll() public List<TProviderResource> GetAll()
{ {
var providerDefinitions = _providerFactory.All(); var providerDefinitions = _providerFactory.All();
@ -165,6 +166,7 @@ namespace Radarr.Api.V3
public object DeleteProvider(int id) public object DeleteProvider(int id)
{ {
_providerFactory.Delete(id); _providerFactory.Delete(id);
return new { }; return new { };
} }
@ -178,6 +180,7 @@ namespace Radarr.Api.V3
} }
[HttpGet("schema")] [HttpGet("schema")]
[Produces("application/json")]
public List<TProviderResource> GetTemplates() public List<TProviderResource> GetTemplates()
{ {
var defaultDefinitions = _providerFactory.GetDefaultDefinitions().OrderBy(p => p.ImplementationName).ToList(); var defaultDefinitions = _providerFactory.GetDefaultDefinitions().OrderBy(p => p.ImplementationName).ToList();
@ -201,6 +204,7 @@ namespace Radarr.Api.V3
[SkipValidation(true, false)] [SkipValidation(true, false)]
[HttpPost("test")] [HttpPost("test")]
[Consumes("application/json")]
public object Test([FromBody] TProviderResource providerResource) public object Test([FromBody] TProviderResource providerResource)
{ {
var existingDefinition = providerResource.Id > 0 ? _providerFactory.Find(providerResource.Id) : null; var existingDefinition = providerResource.Id > 0 ? _providerFactory.Find(providerResource.Id) : null;
@ -222,12 +226,15 @@ namespace Radarr.Api.V3
foreach (var definition in providerDefinitions) foreach (var definition in providerDefinitions)
{ {
var validationResult = _providerFactory.Test(definition); var validationFailures = new List<ValidationFailure>();
validationFailures.AddRange(definition.Settings.Validate().Errors);
validationFailures.AddRange(_providerFactory.Test(definition).Errors);
result.Add(new ProviderTestAllResult result.Add(new ProviderTestAllResult
{ {
Id = definition.Id, Id = definition.Id,
ValidationFailures = validationResult.Errors.ToList() ValidationFailures = validationFailures
}); });
} }

Loading…
Cancel
Save