namespace OmsorgCore.Infrastructure.Security;

/// <summary>
/// Gebunden an denselben "Email"-Config-Abschnitt wie OmsorgCore.Email/EmailOptions - beide lesen
/// aus derselben appsettings-Sektion, bleiben aber unabhängige Klassen in ihren jeweiligen Schichten
/// (analog wie Jwt/RefreshToken je eigene Options-Klassen sind), damit Infrastructure nicht auf das
/// Email-Projekt referenzieren muss.
/// </summary>
public class PasswordResetOptions
{
    public const string SectionName = "Email";

    public int PinExpiryMinutes { get; set; } = 5;
    public int MaxAttempts { get; set; } = 3;
    public int ResetTokenExpiryMinutes { get; set; } = 10;

    /// <summary>Mindestabstand zwischen zwei Code-Anfragen desselben Users (minimaler Spam-Schutz).</summary>
    public int RequestCooldownSeconds { get; set; } = 60;
}
