using System.ComponentModel.DataAnnotations;

namespace Tiku.Api.Options;

public sealed class ApiRateLimitOptions
{
    public const string SectionName = "RateLimiting";

    public bool Enabled { get; set; } = true;

    [Range(1, 100_000)] public int PermitLimit { get; set; } = 600;

    [Range(1, 86_400)] public int WindowSeconds { get; set; } = 60;

    [Range(0, 10_000)] public int QueueLimit { get; set; }
}