namespace ZB.MOM.WW.ScadaBridge.NotificationService;

/// <summary>
/// Configuration options for the Notification Service, bound from the
/// <c>ScadaBridge:Notification</c> configuration section.
///
/// SMTP settings are primarily carried by the deployed <c>SmtpConfiguration</c>
/// entity. These values are the fallback used by the central
/// Notification Outbox's <c>EmailNotificationDeliveryAdapter</c> when the
/// corresponding <c>SmtpConfiguration</c> field is left unset (non-positive) on a
/// partially deployed row — a value present on the row always takes precedence.
/// </summary>
public class NotificationOptions
{
    /// <summary>
    /// Connection timeout (seconds) used when <c>SmtpConfiguration.ConnectionTimeoutSeconds</c>
    /// is unset. Default 30s.
    /// </summary>
    public int ConnectionTimeoutSeconds { get; set; } = 30;

    /// <summary>
    /// Maximum concurrent SMTP connections used when
    /// <c>SmtpConfiguration.MaxConcurrentConnections</c> is unset. Default 5.
    /// </summary>
    public int MaxConcurrentConnections { get; set; } = 5;
}
