using GB5Shared.DTO.Framework.Login; using System; using System.Data.Common; using System.Threading; using System.Threading.Tasks; namespace FrameworkDAL.CustomCode.Archive { public interface IEventLogArchiveDAL { /// /// Copies TEVENTLOG rows older than to TEVENTLOG_ARCHIVE. /// Must be called inside an open transaction — the caller commits/rolls back. /// Task MoveToArchiveAsync(DateTime cutoffDate, LoginDTO login, DbTransaction tx, CancellationToken ct = default); /// /// Deletes TEVENTLOG rows older than . /// Call AFTER succeeds, inside the same transaction. /// Task DeleteHotRowsAsync(DateTime cutoffDate, LoginDTO login, DbTransaction tx, CancellationToken ct = default); /// Returns hot and archive row counts for logging/health-check. Task<(int HotCount, int ArchiveCount)> GetStatsAsync(LoginDTO login, CancellationToken ct = default); } }