You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Prowlarr/src/NzbDrone.Core/Indexers/IndexerBaseSettings.cs

41 lines
1.5 KiB

using Equ;
using FluentValidation;
using NzbDrone.Core.Annotations;
namespace NzbDrone.Core.Indexers
{
public class IndexerCommonSettingsValidator : AbstractValidator<IndexerBaseSettings>
{
public IndexerCommonSettingsValidator()
{
RuleFor(c => c.QueryLimit)
.GreaterThan(0)
.When(c => c.QueryLimit.HasValue)
.WithMessage("Should be greater than zero");
RuleFor(c => c.GrabLimit)
.GreaterThan(0)
.When(c => c.GrabLimit.HasValue)
.WithMessage("Should be greater than zero");
}
}
public class IndexerBaseSettings : MemberwiseEquatable<IndexerBaseSettings>
{
[FieldDefinition(1, Type = FieldType.Number, Label = "IndexerSettingsQueryLimit", HelpText = "IndexerSettingsQueryLimitHelpText", Advanced = true)]
public int? QueryLimit { get; set; }
[FieldDefinition(2, Type = FieldType.Number, Label = "IndexerSettingsGrabLimit", HelpText = "IndexerSettingsGrabLimitHelpText", Advanced = true)]
public int? GrabLimit { get; set; }
[FieldDefinition(3, Type = FieldType.Select, Label = "IndexerSettingsLimitsUnit", SelectOptions = typeof(IndexerLimitsUnit), HelpText = "IndexerSettingsLimitsUnitHelpText", Advanced = true)]
public int LimitsUnit { get; set; } = (int)IndexerLimitsUnit.Day;
}
public enum IndexerLimitsUnit
{
Day = 0,
Hour = 1
}
}