mirror of
https://github.com/Radarr/Radarr.git
synced 2024-10-05 15:47:20 +02:00
Fixed: Validation when testing indexers, import lists, connections and download clients
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
This commit is contained in:
parent
4f512c5cdf
commit
9bb394f420
@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using NzbDrone.Common.EnvironmentInfo;
|
using NzbDrone.Common.EnvironmentInfo;
|
||||||
|
|
||||||
@ -24,7 +24,8 @@ public static List<string> GetSystemFolders()
|
|||||||
"/boot",
|
"/boot",
|
||||||
"/lib",
|
"/lib",
|
||||||
"/sbin",
|
"/sbin",
|
||||||
"/proc"
|
"/proc",
|
||||||
|
"/usr/bin"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,15 +12,5 @@ public DownloadClientController(IDownloadClientFactory downloadClientFactory)
|
|||||||
: base(downloadClientFactory, "downloadclient", ResourceMapper)
|
: base(downloadClientFactory, "downloadclient", ResourceMapper)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Validate(DownloadClientDefinition definition, bool includeWarnings)
|
|
||||||
{
|
|
||||||
if (!definition.Enable)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
base.Validate(definition, includeWarnings);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,15 +20,5 @@ public ImportListController(IImportListFactory importListFactory,
|
|||||||
SharedValidator.RuleFor(c => c.QualityProfileId).ValidId();
|
SharedValidator.RuleFor(c => c.QualityProfileId).ValidId();
|
||||||
SharedValidator.RuleFor(c => c.QualityProfileId).SetValidator(profileExistsValidator);
|
SharedValidator.RuleFor(c => c.QualityProfileId).SetValidator(profileExistsValidator);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Validate(ImportListDefinition definition, bool includeWarnings)
|
|
||||||
{
|
|
||||||
if (!definition.Enable)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
base.Validate(definition, includeWarnings);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,15 +12,5 @@ public IndexerController(IndexerFactory indexerFactory)
|
|||||||
: base(indexerFactory, "indexer", ResourceMapper)
|
: base(indexerFactory, "indexer", ResourceMapper)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Validate(IndexerDefinition definition, bool includeWarnings)
|
|
||||||
{
|
|
||||||
if (!definition.Enable)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
base.Validate(definition, includeWarnings);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,15 +12,5 @@ public MetadataController(IMetadataFactory metadataFactory)
|
|||||||
: base(metadataFactory, "metadata", ResourceMapper)
|
: base(metadataFactory, "metadata", ResourceMapper)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Validate(MetadataDefinition definition, bool includeWarnings)
|
|
||||||
{
|
|
||||||
if (!definition.Enable)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
base.Validate(definition, includeWarnings);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,15 +12,5 @@ public NotificationController(NotificationFactory notificationFactory)
|
|||||||
: base(notificationFactory, "notification", ResourceMapper)
|
: base(notificationFactory, "notification", ResourceMapper)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Validate(NotificationDefinition definition, bool includeWarnings)
|
|
||||||
{
|
|
||||||
if (!definition.OnGrab && !definition.OnDownload)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
base.Validate(definition, includeWarnings);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ public List<TProviderResource> GetAll()
|
|||||||
[RestPostById]
|
[RestPostById]
|
||||||
public ActionResult<TProviderResource> CreateProvider(TProviderResource providerResource)
|
public ActionResult<TProviderResource> CreateProvider(TProviderResource providerResource)
|
||||||
{
|
{
|
||||||
var providerDefinition = GetDefinition(providerResource, false);
|
var providerDefinition = GetDefinition(providerResource, true, false, false);
|
||||||
|
|
||||||
if (providerDefinition.Enable)
|
if (providerDefinition.Enable)
|
||||||
{
|
{
|
||||||
@ -76,7 +76,7 @@ public ActionResult<TProviderResource> CreateProvider(TProviderResource provider
|
|||||||
[RestPutById]
|
[RestPutById]
|
||||||
public ActionResult<TProviderResource> UpdateProvider(TProviderResource providerResource)
|
public ActionResult<TProviderResource> UpdateProvider(TProviderResource providerResource)
|
||||||
{
|
{
|
||||||
var providerDefinition = GetDefinition(providerResource, false);
|
var providerDefinition = GetDefinition(providerResource, true, false, false);
|
||||||
var forceSave = Request.GetBooleanQueryParameter("forceSave");
|
var forceSave = Request.GetBooleanQueryParameter("forceSave");
|
||||||
|
|
||||||
// Only test existing definitions if it is enabled and forceSave isn't set.
|
// Only test existing definitions if it is enabled and forceSave isn't set.
|
||||||
@ -90,11 +90,11 @@ public ActionResult<TProviderResource> UpdateProvider(TProviderResource provider
|
|||||||
return Accepted(providerResource.Id);
|
return Accepted(providerResource.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
private TProviderDefinition GetDefinition(TProviderResource providerResource, bool includeWarnings = false, bool validate = true)
|
private TProviderDefinition GetDefinition(TProviderResource providerResource, bool validate, bool includeWarnings, bool forceValidate)
|
||||||
{
|
{
|
||||||
var definition = _resourceMapper.ToModel(providerResource);
|
var definition = _resourceMapper.ToModel(providerResource);
|
||||||
|
|
||||||
if (validate)
|
if (validate && (definition.Enable || forceValidate))
|
||||||
{
|
{
|
||||||
Validate(definition, includeWarnings);
|
Validate(definition, includeWarnings);
|
||||||
}
|
}
|
||||||
@ -135,7 +135,7 @@ public List<TProviderResource> GetTemplates()
|
|||||||
[HttpPost("test")]
|
[HttpPost("test")]
|
||||||
public object Test([FromBody] TProviderResource providerResource)
|
public object Test([FromBody] TProviderResource providerResource)
|
||||||
{
|
{
|
||||||
var providerDefinition = GetDefinition(providerResource, true);
|
var providerDefinition = GetDefinition(providerResource, true, true, true);
|
||||||
|
|
||||||
Test(providerDefinition, true);
|
Test(providerDefinition, true);
|
||||||
|
|
||||||
@ -168,7 +168,7 @@ public IActionResult TestAll()
|
|||||||
[HttpPost("action/{name}")]
|
[HttpPost("action/{name}")]
|
||||||
public IActionResult RequestAction(string name, [FromBody] TProviderResource resource)
|
public IActionResult RequestAction(string name, [FromBody] TProviderResource resource)
|
||||||
{
|
{
|
||||||
var providerDefinition = GetDefinition(resource, true, false);
|
var providerDefinition = GetDefinition(resource, false, false, false);
|
||||||
|
|
||||||
var query = Request.Query.ToDictionary(x => x.Key, x => x.Value.ToString());
|
var query = Request.Query.ToDictionary(x => x.Key, x => x.Value.ToString());
|
||||||
|
|
||||||
@ -177,7 +177,7 @@ public IActionResult RequestAction(string name, [FromBody] TProviderResource res
|
|||||||
return Content(data.ToJson(), "application/json");
|
return Content(data.ToJson(), "application/json");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void Validate(TProviderDefinition definition, bool includeWarnings)
|
private void Validate(TProviderDefinition definition, bool includeWarnings)
|
||||||
{
|
{
|
||||||
var validationResult = definition.Settings.Validate();
|
var validationResult = definition.Settings.Validate();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user