namespace ROLAC.API.Services.Notifications;

/// <summary>SMTP transport settings (bound from the "Smtp" config section).</summary>
public sealed class SmtpOptions
{
    public string Host        { get; set; } = "";
    public int    Port        { get; set; } = 587;
    public bool   UseSsl      { get; set; } = true;   // true → STARTTLS
    public string User        { get; set; } = "";
    public string Password    { get; set; } = "";
    public string FromAddress { get; set; } = "";
    public string FromName    { get; set; } = "";
}

/// <summary>Line Messaging API settings (bound from the "Line" config section).</summary>
public sealed class LineOptions
{
    public string ChannelAccessToken { get; set; } = "";
    public string ChannelSecret      { get; set; } = "";
}

/// <summary>VAPID settings for Web Push. Sourced from the NotificationSetting row at runtime.</summary>
public sealed class WebPushOptions
{
    public string PublicKey  { get; set; } = "";
    public string PrivateKey { get; set; } = "";
    public string Subject    { get; set; } = "";
}
