using FrameworkDAL.DTO.AuditQuery;
using GB5Shared.DTO.Framework.Login;
using System.Collections.Generic;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
namespace FrameworkBLL.AuditQuery
{
public interface IAuditQueryBLL
{
/// Returns all audit events for a specific entity, newest-first, paginated.
Task GetByEntityAsync(int entityType, int entityId, int pageOffset, int pageSize, LoginDTO login, CancellationToken ct = default);
/// Returns all audit events for a user, with optional date range, paginated.
Task GetByUserAsync(AuditSearchCriteriaDTO criteria, LoginDTO login, CancellationToken ct = default);
///
/// Full-featured search across TEVENTLOG (and TEVENTLOG_ARCHIVE when date range spans retention boundary).
///
Task SearchAsync(AuditSearchCriteriaDTO criteria, LoginDTO login, CancellationToken ct = default);
}
}