using System.ComponentModel.DataAnnotations;

namespace TakeoutSaaS.Infrastructure.Identity.Options;

/// <summary>
/// 登录限流配置选项。
/// </summary>
public sealed class LoginRateLimitOptions
{
    /// <summary>
    /// 时间窗口（秒），范围：1-3600。
    /// </summary>
    [Range(1, 3600)]
    public int WindowSeconds { get; set; } = 60;

    /// <summary>
    /// 时间窗口内允许的最大尝试次数，范围：1-100。
    /// </summary>
    [Range(1, 100)]
    public int MaxAttempts { get; set; } = 5;
}
