namespace ZB.MOM.WW.MxGateway.Server.Security.Audit;

/// <summary>
/// Returns the current actor name for use in audit events.
/// </summary>
/// <remarks>
/// Implementations resolve the actor from the ambient request context. For the dashboard
/// this is the authenticated LDAP operator; for non-HTTP contexts (gRPC, CLI) the caller
/// provides the actor directly and this seam is not used.
/// </remarks>
public interface IAuditActorAccessor
{
    /// <summary>
    /// Gets the current actor's username, or <see langword="null"/> when there is no
    /// authenticated principal in scope (e.g. an anonymous or unauthenticated request).
    /// </summary>
    string? CurrentActor { get; }
}
