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


    }

}