namespace SIGCM2.Application.Audit;

/// Persists SecurityEvent rows. NOT enlisted in business TransactionScope — security
/// events are fire-and-forget writes from auth handlers and middleware.
public interface ISecurityEventRepository
{
    Task<long> InsertAsync(
        DateTime occurredAt,
        int? actorUserId,
        string? attemptedUsername,
        Guid? sessionId,
        string action,
        string result,
        string? failureReason,
        string? ipAddress,
        string? userAgent,
        string? metadata,
        CancellationToken ct = default);
}
