using Mws.Application.Common; using TaskPriority = Mws.Domain.Tasks.TaskPriority; using TaskStatus = Mws.Domain.Tasks.TaskStatus; namespace Mws.Application.Tasks; public interface ITaskService { Task> GetTasksAsync(Guid userId, Guid projectId, TaskStatus? status, TaskPriority? priority, Guid? assigneeId, CancellationToken ct = default); Task GetAsync(Guid userId, Guid taskId, CancellationToken ct = default); Task CreateAsync(Guid userId, Guid projectId, CreateTaskRequest request, CancellationToken ct = default); Task UpdateAsync(Guid userId, Guid taskId, UpdateTaskRequest request, CancellationToken ct = default); Task DeleteAsync(Guid userId, Guid taskId, CancellationToken ct = default); Task> SearchAsync(Guid userId, string term, CancellationToken ct = default); }