Replaces IProjectService/ProjectService. IProjectMemberService is left in place for now — ProjectMembersController still depends on it until the next task converts it too. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
17 lines
576 B
C#
17 lines
576 B
C#
using AutoMapper;
|
|
using MediatR;
|
|
using Mws.Application.Common;
|
|
|
|
namespace Mws.Application.Projects;
|
|
|
|
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);
|
|
}
|
|
}
|