Files
2026-08-19 23:25:08 +07:00

16 lines
973 B
C#

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