Radarr/src/Radarr.Api.V3/Qualities/QualityDefinitionResourceValidator.cs
Robert Dailey 9c8d3b679d Add 'qualitydefinition/limits' endpoint to get size limitations
(cherry picked from commit 24f03fc1e96eba215f96312c791cf167f10499c7)
2025-06-08 10:41:37 +03:00

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);
}
}