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); } }