using mws.backend.dotnet.domain.Documents; namespace mws.backend.dotnet.application.Common.Repositories; public interface IDocumentRepository : IRepository { Task GetByIdAsync(Guid id, CancellationToken ct = default); Task> GetTreeForProjectAsync(Guid projectId, CancellationToken ct = default); Task GetInProjectAsync(Guid parentId, Guid projectId, CancellationToken ct = default); Task GetParentIdAsync(Guid documentId, CancellationToken ct = default); Task> GetChildrenAsync(Guid parentId, CancellationToken ct = default); Task> SearchAsync(List projectIds, string? term, int take, CancellationToken ct = default); Task CountByTypeForProjectAsync(Guid projectId, DocumentType type, CancellationToken ct = default); Task> GetRecentForProjectAsync(Guid projectId, DocumentType type, int take, CancellationToken ct = default); }