using AutoMapper; using MediatR; using Mws.Application.Common; namespace Mws.Application.Projects; public record GetProjectQuery(Guid UserId, Guid ProjectId) : IRequest; public class GetProjectHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler { public async Task Handle(GetProjectQuery query, CancellationToken ct) { var project = await ProjectAccess.GetForUserOrThrowAsync(uow, query.UserId, query.ProjectId, ct); return mapper.Map(project); } }