18 lines
900 B
C#
18 lines
900 B
C#
using Nexus.Api.Data;
|
|
|
|
namespace Nexus.Api.Repositories;
|
|
|
|
public interface ITaskRepository
|
|
{
|
|
Task<List<WorkTask>> GetAllAsync(CancellationToken ct = default);
|
|
ValueTask<WorkTask?> GetByIdAsync(Guid id, CancellationToken ct = default);
|
|
Task<List<WorkTask>> GetPendingApprovalAsync(CancellationToken ct = default);
|
|
Task<WorkTask> AddAsync(WorkTask task, CancellationToken ct = default);
|
|
Task<bool> TryResetStaleInProgressToBacklogAsync(Guid id, DateTimeOffset staleBefore, DateTimeOffset updatedAt, CancellationToken ct = default);
|
|
Task UpdateAsync(WorkTask task, CancellationToken ct = default);
|
|
Task DeleteAsync(WorkTask task, CancellationToken ct = default);
|
|
Task<int> CountAsync(CancellationToken ct = default);
|
|
Task<int> CountByStateAsync(string state, CancellationToken ct = default);
|
|
Task<WorkTask?> GetLastBlockedAsync(CancellationToken ct = default);
|
|
}
|