2026-08-14 08:46:06 +07:00
|
|
|
using AutoMapper;
|
|
|
|
|
using MediatR;
|
2026-08-19 23:25:08 +07:00
|
|
|
using mws.backend.dotnet.application.Common;
|
2026-08-14 08:46:06 +07:00
|
|
|
|
2026-08-19 23:25:08 +07:00
|
|
|
namespace mws.backend.dotnet.application.Projects;
|
2026-08-14 08:46:06 +07:00
|
|
|
|
|
|
|
|
public record SearchProjectsQuery(Guid UserId, string Term) : IRequest<List<ProjectDto>>;
|
|
|
|
|
|
|
|
|
|
public class SearchProjectsHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler<SearchProjectsQuery, List<ProjectDto>>
|
|
|
|
|
{
|
|
|
|
|
public async Task<List<ProjectDto>> Handle(SearchProjectsQuery query, CancellationToken ct)
|
|
|
|
|
{
|
|
|
|
|
var projects = await uow.Projects.SearchForUserAsync(query.UserId, query.Term, ct);
|
|
|
|
|
return mapper.Map<List<ProjectDto>>(projects);
|
|
|
|
|
}
|
|
|
|
|
}
|