Files
mws.backend.dotnet/application/Documents/Queries/SearchDocuments.cs
T

18 lines
723 B
C#
Raw Normal View History

using AutoMapper;
using MediatR;
2026-08-19 23:25:08 +07:00
using mws.backend.dotnet.application.Common;
2026-08-19 23:25:08 +07:00
namespace mws.backend.dotnet.application.Documents;
public record SearchDocumentsQuery(Guid UserId, string Term) : IRequest<List<DocumentNodeDto>>;
public class SearchDocumentsHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler<SearchDocumentsQuery, List<DocumentNodeDto>>
{
public async Task<List<DocumentNodeDto>> Handle(SearchDocumentsQuery query, CancellationToken ct)
{
var projectIds = await uow.Projects.GetDocumentViewableProjectIdsAsync(query.UserId, ct);
var results = await uow.Documents.SearchAsync(projectIds, query.Term, 20, ct);
return mapper.Map<List<DocumentNodeDto>>(results);
}
}