Files
mws.backend.dotnet/mws.application/Documents/Queries/SearchDocuments.cs
T
namdhandClaude Sonnet 5 c3384d76d9 Convert Documents module to MediatR commands/queries
Replaces IDocumentService/DocumentService. The permission-check and
descendant-deletion logic moves to a shared DocumentAccess static
helper used by all seven handlers.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 21:03:16 +07:00

18 lines
693 B
C#

using AutoMapper;
using MediatR;
using Mws.Application.Common;
namespace Mws.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);
}
}