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.
41 lines
1.5 KiB
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
|
|
}
|
|
}
|