diff --git a/src/NzbDrone.Core/Qualities/QualityDefinitionLimits.cs b/src/NzbDrone.Core/Qualities/QualityDefinitionLimits.cs new file mode 100644 index 000000000..1146a523c --- /dev/null +++ b/src/NzbDrone.Core/Qualities/QualityDefinitionLimits.cs @@ -0,0 +1,11 @@ +using System.Diagnostics.CodeAnalysis; + +namespace NzbDrone.Core.Qualities; + +[SuppressMessage("Performance", "CA1822:Mark members as static", Justification = + "Serializable properties of a DTO")] +public record QualityDefinitionLimits +{ + public int MinLimit => 0; + public int MaxLimit => 1000; +} diff --git a/src/NzbDrone.Core/Qualities/QualityDefinitionService.cs b/src/NzbDrone.Core/Qualities/QualityDefinitionService.cs index 0b5096ff9..ddfc5df1d 100644 --- a/src/NzbDrone.Core/Qualities/QualityDefinitionService.cs +++ b/src/NzbDrone.Core/Qualities/QualityDefinitionService.cs @@ -17,6 +17,7 @@ namespace NzbDrone.Core.Qualities List All(); QualityDefinition GetById(int id); QualityDefinition Get(Quality quality); + QualityDefinitionLimits GetLimits(); } public class QualityDefinitionService : IQualityDefinitionService, IExecute, IHandle @@ -64,6 +65,11 @@ namespace NzbDrone.Core.Qualities return GetAll()[quality]; } + public QualityDefinitionLimits GetLimits() + { + return new QualityDefinitionLimits(); + } + private void InsertMissingDefinitions() { var insertList = new List(); diff --git a/src/Sonarr.Api.V3/Qualities/QualityDefinitionController.cs b/src/Sonarr.Api.V3/Qualities/QualityDefinitionController.cs index 5910ee896..19aab3d68 100644 --- a/src/Sonarr.Api.V3/Qualities/QualityDefinitionController.cs +++ b/src/Sonarr.Api.V3/Qualities/QualityDefinitionController.cs @@ -55,6 +55,12 @@ namespace Sonarr.Api.V3.Qualities .ToResource()); } + [HttpGet("limits")] + public ActionResult GetLimits() + { + return Ok(_qualityDefinitionService.GetLimits()); + } + [NonAction] public void Handle(CommandExecutedEvent message) {