18 lines
1.0 KiB
C#
18 lines
1.0 KiB
C#
using mws.backend.dotnet.application.Common;
|
|
using mws.backend.dotnet.domain.Tasks;
|
|
using TaskPriority = mws.backend.dotnet.domain.Tasks.TaskPriority;
|
|
using TaskStatus = mws.backend.dotnet.domain.Tasks.TaskStatus;
|
|
|
|
namespace mws.backend.dotnet.application.Common.Repositories;
|
|
|
|
public interface ITaskRepository : IRepository<TaskItem>
|
|
{
|
|
Task<TaskItem?> GetByIdAsync(Guid id, CancellationToken ct = default);
|
|
Task<TaskItem?> GetWithAssigneeAsync(Guid id, CancellationToken ct = default);
|
|
Task<PagedResult<TaskItem>> GetForProjectAsync(
|
|
Guid projectId, TaskStatus? status, TaskPriority? priority, Guid? assigneeId, int page, int pageSize, CancellationToken ct = default);
|
|
Task<List<TaskItem>> SearchWithAssigneeAsync(List<Guid> projectIds, string? term, int take, CancellationToken ct = default);
|
|
Task<Dictionary<TaskStatus, int>> CountByStatusForProjectAsync(Guid projectId, CancellationToken ct = default);
|
|
Task<List<TaskItem>> GetRecentForProjectAsync(Guid projectId, int take, CancellationToken ct = default);
|
|
}
|