using GB5Shared.DTO.Framework.Login; using JobEngineDAL.DTOs; namespace JobEngineDAL.Interfaces { public interface IJobExecutionDAL { Task InsertExecutionAsync(JobExecutionDTO dto, LoginDTO login, CancellationToken ct); Task CompleteExecutionAsync(long executionId, string status, string? resultJson, string? errorDetails, LoginDTO login, CancellationToken ct); Task<(IEnumerable Items, int TotalCount)> GetHistoryPagedAsync( int tenantId, int? jobId, string? status, int page, int pageSize, LoginDTO login, CancellationToken ct); Task GetExecutionDetailAsync(long executionId, LoginDTO login, CancellationToken ct); Task> GetRunningJobsAsync(LoginDTO login, CancellationToken ct); Task<(int SuccessCount, int FailedCount, int TotalCount)> GetStats7DaysAsync(LoginDTO login, CancellationToken ct); Task> GetAvgDurationsAsync(LoginDTO login, CancellationToken ct); } }