namespace JSMR.Application.Common.Search;

public sealed record SearchOptions<TCriteria, TSortField>
    where TCriteria : new()
    where TSortField : struct, Enum
{
    public int PageNumber { get; set; } = 1;
    public int PageSize { get; set; } = 100;
    public TCriteria Criteria { get; set; } = new();
    public SortOption<TSortField>[] SortOptions { get; set; } = [];
}