Files
mws.backend.dotnet/application/Common/Repositories/ITaskRepository.cs
T

18 lines
1.0 KiB
C#
Raw Normal View History

2026-08-19 23:25:08 +07:00
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;
2026-08-13 23:10:22 +07:00
2026-08-19 23:25:08 +07:00
namespace mws.backend.dotnet.application.Common.Repositories;
2026-08-13 23:10:22 +07:00
public interface ITaskRepository : IRepository<TaskItem>
{
Task<TaskItem?> GetByIdAsync(Guid id, CancellationToken ct = default);
Task<TaskItem?> GetWithAssigneeAsync(Guid id, CancellationToken ct = default);
2026-08-19 23:25:08 +07:00
Task<PagedResult<TaskItem>> GetForProjectAsync(
Guid projectId, TaskStatus? status, TaskPriority? priority, Guid? assigneeId, int page, int pageSize, CancellationToken ct = default);
2026-08-13 23:10:22 +07:00
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);
}