Files
raven/server/AyaNova/ControllerHelpers/ListOptions.cs
2020-01-21 23:09:57 +00:00

35 lines
891 B
C#

using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Mvc;
namespace AyaNova.Api.ControllerHelpers
{
public sealed class ListOptions
{
public const int MaxPageSize = 1000;
public const int DefaultOffset = 0;
public const int DefaultLimit = 25;
[FromQuery]
[Range(0, int.MaxValue)]
public int? Offset { get; set; }
[FromQuery]
[Range(1, MaxPageSize, ErrorMessage = "Limit must be greater than 0 and less than 1000.")]
public int? Limit { get; set; }
//Data filter id to use with this list query
//0 or less means no filter
[FromQuery]
public long DataFilterId { get; set; }
[FromQuery]
public bool Mini { get; set; }
[FromQuery, Required]
public string DataListKey { get; set; }
}
}