mirror of
https://github.com/Radarr/Radarr
synced 2025-12-06 08:28:50 +01:00
31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using FluentValidation;
|
|
using NzbDrone.Core.Qualities;
|
|
|
|
namespace Radarr.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);
|
|
}
|
|
}
|