using TaskTracker.Core.Entities; using TaskTracker.Core.Enums; namespace TaskTracker.Core.Interfaces; public interface ITaskRepository { Task> GetAllAsync(WorkTaskStatus? status = null, int? parentId = null, bool includeSubTasks = false); Task GetByIdAsync(int id); Task GetActiveTaskAsync(); Task> GetSubTasksAsync(int parentId); Task CreateAsync(WorkTask task); Task UpdateAsync(WorkTask task); Task DeleteAsync(int id); }