17 lines
910 B
C#
17 lines
910 B
C#
using Mws.Domain.Tasks;
|
|||
|
|
using TaskPriority = Mws.Domain.Tasks.TaskPriority;
|
||
|
|
using TaskStatus = Mws.Domain.Tasks.TaskStatus;
|
||
|
|
|
||
|
|
namespace Mws.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<List<TaskItem>> GetForProjectAsync(
|
||
|
|
Guid projectId, TaskStatus? status, TaskPriority? priority, Guid? assigneeId, 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);
|
||
|
|
}
|