using System;
using static StellaOps.Localization.T;
namespace StellaOps.Configuration;
///
/// Options controlling escalation enforcement for acknowledgement flows.
///
public sealed class AuthorityEscalationOptions
{
///
/// Scope required to mint or execute escalation-bearing ack tokens.
///
public string Scope { get; set; } = "notify.escalate";
///
/// When true, escalation requires the caller to also possess notify.admin.
///
public bool RequireAdminScope { get; set; } = true;
internal void Validate()
{
if (string.IsNullOrWhiteSpace(Scope))
{
throw new InvalidOperationException(_t("config.escalation.scope_required"));
}
Scope = Scope.Trim().ToLowerInvariant();
}
}