using Nexus.Api.Data;

namespace Nexus.Api.Repositories;

public interface IProjectRepository
{
    Task<List<Project>> GetAllAsync(CancellationToken ct = default);
    ValueTask<Project?> GetByIdAsync(Guid id, CancellationToken ct = default);
    Task<Project> AddAsync(Project project, CancellationToken ct = default);
    Task UpdateAsync(Project project, CancellationToken ct = default);
    Task DeleteAsync(Project project, CancellationToken ct = default);
    Task<bool> HasTasksAsync(Guid projectId, CancellationToken ct = default);
}
