namespace SIGCM2.Application.Audit;

/// Filter criteria for GET /api/v1/audit/events.
/// Cursor is opaque to the caller (base64-encoded {OccurredAt, Id} tuple for stable DESC pagination).
/// Limit is clamped between 1 and 100 at the validation layer; default 50 is the sane middle.
public sealed record AuditEventFilter(
    int? ActorUserId,
    string? TargetType,
    string? TargetId,
    DateTime? From,
    DateTime? To,
    string? Cursor,
    int Limit = 50);
