Updated FluentValidation to 8.4.0
This commit is contained in:
parent
7a94725808
commit
896e824ca1
|
@ -28,14 +28,12 @@ namespace NzbDrone.Api.Profiles.Delay
|
||||||
SharedValidator.RuleFor(d => d.UsenetDelay).GreaterThanOrEqualTo(0);
|
SharedValidator.RuleFor(d => d.UsenetDelay).GreaterThanOrEqualTo(0);
|
||||||
SharedValidator.RuleFor(d => d.TorrentDelay).GreaterThanOrEqualTo(0);
|
SharedValidator.RuleFor(d => d.TorrentDelay).GreaterThanOrEqualTo(0);
|
||||||
|
|
||||||
SharedValidator.Custom(delayProfile =>
|
SharedValidator.RuleFor(d => d).Custom((delayProfile, context) =>
|
||||||
{
|
{
|
||||||
if (!delayProfile.EnableUsenet && !delayProfile.EnableTorrent)
|
if (!delayProfile.EnableUsenet && !delayProfile.EnableTorrent)
|
||||||
{
|
{
|
||||||
return new ValidationFailure("", "Either Usenet or Torrent should be enabled");
|
context.AddFailure("Either Usenet or Torrent should be enabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using FluentValidation;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
using NzbDrone.Core.Profiles.Releases;
|
using NzbDrone.Core.Profiles.Releases;
|
||||||
|
@ -22,14 +23,12 @@ namespace NzbDrone.Api.Restrictions
|
||||||
UpdateResource = UpdateRestriction;
|
UpdateResource = UpdateRestriction;
|
||||||
DeleteResource = DeleteRestriction;
|
DeleteResource = DeleteRestriction;
|
||||||
|
|
||||||
SharedValidator.Custom(restriction =>
|
SharedValidator.RuleFor(r => r).Custom((restriction, context) =>
|
||||||
{
|
{
|
||||||
if (restriction.Ignored.IsNullOrWhiteSpace() && restriction.Required.IsNullOrWhiteSpace())
|
if (restriction.Ignored.IsNullOrWhiteSpace() && restriction.Required.IsNullOrWhiteSpace())
|
||||||
{
|
{
|
||||||
return new ValidationFailure("", "Either 'Must contain' or 'Must not contain' is required");
|
context.AddFailure("Either 'Must contain' or 'Must not contain' is required");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<Platforms>x86</Platforms>
|
<Platforms>x86</Platforms>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentValidation" Version="6.2.1.0" />
|
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||||
<PackageReference Include="Ical.Net" Version="2.2.32" />
|
<PackageReference Include="Ical.Net" Version="2.2.32" />
|
||||||
<PackageReference Include="Nancy" Version="1.4.4" />
|
<PackageReference Include="Nancy" Version="1.4.4" />
|
||||||
<PackageReference Include="Nancy.Authentication.Basic" Version="1.4.1" />
|
<PackageReference Include="Nancy.Authentication.Basic" Version="1.4.1" />
|
||||||
|
|
|
@ -37,14 +37,12 @@ namespace NzbDrone.Core.Indexers.Newznab
|
||||||
|
|
||||||
public NewznabSettingsValidator()
|
public NewznabSettingsValidator()
|
||||||
{
|
{
|
||||||
Custom(newznab =>
|
RuleFor(c => c).Custom((c, context) =>
|
||||||
{
|
{
|
||||||
if (newznab.Categories.Empty() && newznab.AnimeCategories.Empty())
|
if (c.Categories.Empty() && c.AnimeCategories.Empty())
|
||||||
{
|
{
|
||||||
return new ValidationFailure("", "Either 'Categories' or 'Anime Categories' must be provided");
|
context.AddFailure("Either 'Categories' or 'Anime Categories' must be provided");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
RuleFor(c => c.BaseUrl).ValidRootUrl();
|
RuleFor(c => c.BaseUrl).ValidRootUrl();
|
||||||
|
|
|
@ -30,14 +30,12 @@ namespace NzbDrone.Core.Indexers.Torznab
|
||||||
|
|
||||||
public TorznabSettingsValidator()
|
public TorznabSettingsValidator()
|
||||||
{
|
{
|
||||||
Custom(newznab =>
|
RuleFor(c => c).Custom((c, context) =>
|
||||||
{
|
{
|
||||||
if (newznab.Categories.Empty() && newznab.AnimeCategories.Empty())
|
if (c.Categories.Empty() && c.AnimeCategories.Empty())
|
||||||
{
|
{
|
||||||
return new ValidationFailure("", "Either 'Categories' or 'Anime Categories' must be provided");
|
context.AddFailure("Either 'Categories' or 'Anime Categories' must be provided");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
RuleFor(c => c.BaseUrl).ValidRootUrl();
|
RuleFor(c => c.BaseUrl).ValidRootUrl();
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentMigrator.Runner" Version="1.6.2" />
|
<PackageReference Include="FluentMigrator.Runner" Version="1.6.2" />
|
||||||
<PackageReference Include="FluentValidation" Version="6.2.1.0" />
|
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||||
<PackageReference Include="ImageResizer" Version="3.4.3" />
|
<PackageReference Include="ImageResizer" Version="3.4.3" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
|
||||||
<PackageReference Include="NLog" Version="4.5.3" />
|
<PackageReference Include="NLog" Version="4.5.3" />
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="CommonServiceLocator" Version="1.3" />
|
<PackageReference Include="CommonServiceLocator" Version="1.3" />
|
||||||
<PackageReference Include="FluentAssertions" Version="4.19.0" />
|
<PackageReference Include="FluentAssertions" Version="4.19.0" />
|
||||||
<PackageReference Include="FluentValidation" Version="6.2.1.0" />
|
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||||
<PackageReference Include="Moq" Version="4.0.10827" />
|
<PackageReference Include="Moq" Version="4.0.10827" />
|
||||||
<PackageReference Include="NLog" Version="4.5.3" />
|
<PackageReference Include="NLog" Version="4.5.3" />
|
||||||
<PackageReference Include="NUnit" Version="3.6.0" />
|
<PackageReference Include="NUnit" Version="3.6.0" />
|
||||||
|
|
|
@ -32,14 +32,12 @@ namespace Sonarr.Api.V3.Profiles.Delay
|
||||||
SharedValidator.RuleFor(d => d.UsenetDelay).GreaterThanOrEqualTo(0);
|
SharedValidator.RuleFor(d => d.UsenetDelay).GreaterThanOrEqualTo(0);
|
||||||
SharedValidator.RuleFor(d => d.TorrentDelay).GreaterThanOrEqualTo(0);
|
SharedValidator.RuleFor(d => d.TorrentDelay).GreaterThanOrEqualTo(0);
|
||||||
|
|
||||||
SharedValidator.Custom(delayProfile =>
|
SharedValidator.RuleFor(d => d).Custom((delayProfile, context) =>
|
||||||
{
|
{
|
||||||
if (!delayProfile.EnableUsenet && !delayProfile.EnableTorrent)
|
if (!delayProfile.EnableUsenet && !delayProfile.EnableTorrent)
|
||||||
{
|
{
|
||||||
return new ValidationFailure("", "Either Usenet or Torrent should be enabled");
|
context.AddFailure("Either Usenet or Torrent should be enabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using FluentValidation;
|
||||||
using FluentValidation.Results;
|
using FluentValidation.Results;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
using NzbDrone.Core.Profiles.Releases;
|
using NzbDrone.Core.Profiles.Releases;
|
||||||
|
@ -21,14 +22,12 @@ namespace Sonarr.Api.V3.Profiles.Release
|
||||||
UpdateResource = Update;
|
UpdateResource = Update;
|
||||||
DeleteResource = DeleteReleaseProfile;
|
DeleteResource = DeleteReleaseProfile;
|
||||||
|
|
||||||
SharedValidator.Custom(restriction =>
|
SharedValidator.RuleFor(d => d).Custom((restriction, context) =>
|
||||||
{
|
{
|
||||||
if (restriction.Ignored.IsNullOrWhiteSpace() && restriction.Required.IsNullOrWhiteSpace() && restriction.Preferred.Empty())
|
if (restriction.Ignored.IsNullOrWhiteSpace() && restriction.Required.IsNullOrWhiteSpace() && restriction.Preferred.Empty())
|
||||||
{
|
{
|
||||||
return new ValidationFailure("", "'Must contain', 'Must not contain' or 'Preferred' is required");
|
context.AddFailure("'Must contain', 'Must not contain' or 'Preferred' is required");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<Platforms>x86</Platforms>
|
<Platforms>x86</Platforms>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentValidation" Version="6.2.1.0" />
|
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||||
<PackageReference Include="Ical.Net" Version="2.2.32" />
|
<PackageReference Include="Ical.Net" Version="2.2.32" />
|
||||||
<PackageReference Include="Nancy" Version="1.4.4" />
|
<PackageReference Include="Nancy" Version="1.4.4" />
|
||||||
<PackageReference Include="Nancy.Authentication.Basic" Version="1.4.1" />
|
<PackageReference Include="Nancy.Authentication.Basic" Version="1.4.1" />
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace Sonarr.Http.REST
|
||||||
rule.DisplayName = new StaticStringSource(fieldName);
|
rule.DisplayName = new StaticStringSource(fieldName);
|
||||||
|
|
||||||
AddRule(rule);
|
AddRule(rule);
|
||||||
return new RuleBuilder<TResource, TProperty>(rule);
|
return new RuleBuilder<TResource, TProperty>(rule, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static object GetValue(object container, Func<TResource, IEnumerable<Field>> fieldListAccessor, string fieldName)
|
private static object GetValue(object container, Func<TResource, IEnumerable<Field>> fieldListAccessor, string fieldName)
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<Platforms>x86</Platforms>
|
<Platforms>x86</Platforms>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentValidation" Version="6.2.1.0" />
|
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||||
<PackageReference Include="Nancy" Version="1.4.4" />
|
<PackageReference Include="Nancy" Version="1.4.4" />
|
||||||
<PackageReference Include="Nancy.Authentication.Basic" Version="1.4.1" />
|
<PackageReference Include="Nancy.Authentication.Basic" Version="1.4.1" />
|
||||||
<PackageReference Include="Nancy.Authentication.Forms" Version="1.4.1" />
|
<PackageReference Include="Nancy.Authentication.Forms" Version="1.4.1" />
|
||||||
|
|
Loading…
Reference in New Issue