1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-09-11 03:52:33 +02:00

Fixed: Better NetImport Validation (Don't Allow Bad ProfileIds)

This commit is contained in:
Qstick 2020-07-09 21:26:57 -04:00
parent aa6c8f493e
commit 9bf50d4493
2 changed files with 8 additions and 4 deletions

View File

@ -1,17 +1,19 @@
using FluentValidation;
using NzbDrone.Core.NetImport;
using NzbDrone.Core.Validation;
using NzbDrone.Core.Validation.Paths;
namespace NzbDrone.Api.NetImport
{
public class NetImportModule : ProviderModuleBase<NetImportResource, INetImport, NetImportDefinition>
{
public NetImportModule(NetImportFactory netImportFactory)
public NetImportModule(NetImportFactory netImportFactory, ProfileExistsValidator profileExistsValidator)
: base(netImportFactory, "netimport")
{
PostValidator.RuleFor(c => c.RootFolderPath).IsValidPath();
PostValidator.RuleFor(c => c.MinimumAvailability).NotNull();
PostValidator.RuleFor(c => c.ProfileId).NotNull();
SharedValidator.RuleFor(c => c.ProfileId).ValidId();
SharedValidator.RuleFor(c => c.ProfileId).SetValidator(profileExistsValidator);
}
protected override void MapToResource(NetImportResource resource, NetImportDefinition definition)

View File

@ -1,5 +1,6 @@
using FluentValidation;
using NzbDrone.Core.NetImport;
using NzbDrone.Core.Validation;
using NzbDrone.Core.Validation.Paths;
namespace Radarr.Api.V3.NetImport
@ -8,12 +9,13 @@ public class NetImportModule : ProviderModuleBase<NetImportResource, INetImport,
{
public static readonly NetImportResourceMapper ResourceMapper = new NetImportResourceMapper();
public NetImportModule(NetImportFactory netImportFactory)
public NetImportModule(NetImportFactory netImportFactory, ProfileExistsValidator profileExistsValidator)
: base(netImportFactory, "netimport", ResourceMapper)
{
SharedValidator.RuleFor(c => c.RootFolderPath).IsValidPath();
SharedValidator.RuleFor(c => c.MinimumAvailability).NotNull();
SharedValidator.RuleFor(c => c.QualityProfileId).NotNull();
SharedValidator.RuleFor(c => c.QualityProfileId).ValidId();
SharedValidator.RuleFor(c => c.QualityProfileId).SetValidator(profileExistsValidator);
}
protected override void Validate(NetImportDefinition definition, bool includeWarnings)