diff --git a/src/NzbDrone.Core/AutoTagging/Specifications/StatusSpecification.cs b/src/NzbDrone.Core/AutoTagging/Specifications/StatusSpecification.cs new file mode 100644 index 000000000..a77af9f36 --- /dev/null +++ b/src/NzbDrone.Core/AutoTagging/Specifications/StatusSpecification.cs @@ -0,0 +1,32 @@ +using FluentValidation; +using NzbDrone.Core.Annotations; +using NzbDrone.Core.Tv; +using NzbDrone.Core.Validation; + +namespace NzbDrone.Core.AutoTagging.Specifications +{ + public class StatusSpecificationValidator : AbstractValidator + { + } + + public class StatusSpecification : AutoTaggingSpecificationBase + { + private static readonly StatusSpecificationValidator Validator = new (); + + public override int Order => 1; + public override string ImplementationName => "Status"; + + [FieldDefinition(1, Label = "Status", Type = FieldType.Select, SelectOptions = typeof(SeriesStatusType))] + public int Status { get; set; } + + protected override bool IsSatisfiedByWithoutNegate(Series series) + { + return series.Status == (SeriesStatusType)Status; + } + + public override NzbDroneValidationResult Validate() + { + return new NzbDroneValidationResult(Validator.Validate(this)); + } + } +}