Files

18 lines
666 B
C#
Raw Permalink 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.Tasks;
public record SearchTasksQuery(Guid UserId, string Term) : IRequest<List<TaskDto>>;
public class SearchTasksHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler<SearchTasksQuery, List<TaskDto>>
{
public async Task<List<TaskDto>> Handle(SearchTasksQuery query, CancellationToken ct)
{
var projectIds = await uow.Projects.GetProjectIdsForUserAsync(query.UserId, ct);
var tasks = await uow.Tasks.SearchWithAssigneeAsync(projectIds, query.Term, 20, ct);
return mapper.Map<List<TaskDto>>(tasks);
}
}