mirror of
https://github.com/Sonarr/Sonarr
synced 2026-05-04 02:52:27 +02:00
31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using FluentValidation;
|
|
using NzbDrone.Core.Qualities;
|
|
|
|
namespace Sonarr.Api.V3.Qualities;
|
|
|
|
public class QualityDefinitionResourceValidator : AbstractValidator<QualityDefinitionResource>
|
|
{
|
|
public QualityDefinitionResourceValidator()
|
|
{
|
|
RuleFor(c => c.MinSize)
|
|
.GreaterThanOrEqualTo(QualityDefinitionLimits.Min)
|
|
.WithErrorCode("GreaterThanOrEqualTo")
|
|
.LessThanOrEqualTo(c => c.PreferredSize ?? QualityDefinitionLimits.Max)
|
|
.WithErrorCode("LessThanOrEqualTo")
|
|
.When(c => c.MinSize is not null);
|
|
|
|
RuleFor(c => c.PreferredSize)
|
|
.GreaterThanOrEqualTo(c => c.MinSize ?? QualityDefinitionLimits.Min)
|
|
.WithErrorCode("GreaterThanOrEqualTo")
|
|
.LessThanOrEqualTo(c => c.MaxSize ?? QualityDefinitionLimits.Max)
|
|
.WithErrorCode("LessThanOrEqualTo")
|
|
.When(c => c.PreferredSize is not null);
|
|
|
|
RuleFor(c => c.MaxSize)
|
|
.GreaterThanOrEqualTo(c => c.PreferredSize ?? QualityDefinitionLimits.Min)
|
|
.WithErrorCode("GreaterThanOrEqualTo")
|
|
.LessThanOrEqualTo(QualityDefinitionLimits.Max)
|
|
.WithErrorCode("LessThanOrEqualTo")
|
|
.When(c => c.MaxSize is not null);
|
|
}
|
|
}
|