added GetUserQueryDto
This commit is contained in:
@@ -2,4 +2,4 @@ using AipsCore.Application.Abstract.Query;
|
|||||||
|
|
||||||
namespace AipsCore.Application.Models.User.Query.GetUser;
|
namespace AipsCore.Application.Models.User.Query.GetUser;
|
||||||
|
|
||||||
public record GetUserQuery(string UserId) : IQuery<Infrastructure.Persistence.User.User>;
|
public record GetUserQuery(string UserId) : IQuery<GetUserQueryDto>;
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
namespace AipsCore.Application.Models.User.Query.GetUser;
|
||||||
|
|
||||||
|
public record GetUserQueryDto(string Id, string Email, string UserName);
|
||||||
@@ -7,7 +7,7 @@ using Microsoft.EntityFrameworkCore;
|
|||||||
|
|
||||||
namespace AipsCore.Application.Models.User.Query.GetUser;
|
namespace AipsCore.Application.Models.User.Query.GetUser;
|
||||||
|
|
||||||
public class GetUserQueryHandler : IQueryHandler<GetUserQuery, Infrastructure.Persistence.User.User>
|
public class GetUserQueryHandler : IQueryHandler<GetUserQuery, GetUserQueryDto>
|
||||||
{
|
{
|
||||||
private readonly AipsDbContext _context;
|
private readonly AipsDbContext _context;
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ public class GetUserQueryHandler : IQueryHandler<GetUserQuery, Infrastructure.Pe
|
|||||||
_context = context;
|
_context = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Infrastructure.Persistence.User.User> Handle(GetUserQuery query, CancellationToken cancellationToken = default)
|
public async Task<GetUserQueryDto> Handle(GetUserQuery query, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
var result = await _context.Users
|
var result = await _context.Users
|
||||||
.Where(u => u.Id.ToString() == query.UserId)
|
.Where(u => u.Id.ToString() == query.UserId)
|
||||||
@@ -27,6 +27,6 @@ public class GetUserQueryHandler : IQueryHandler<GetUserQuery, Infrastructure.Pe
|
|||||||
throw new ValidationException(UserErrors.NotFound(new UserId(query.UserId)));
|
throw new ValidationException(UserErrors.NotFound(new UserId(query.UserId)));
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return new GetUserQueryDto(result.Id.ToString(), result.Email!, result.UserName!);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -84,7 +84,7 @@ public class UserController : ControllerBase
|
|||||||
|
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<ActionResult<User>> GetUser(string userId, CancellationToken cancellationToken)
|
public async Task<ActionResult<GetUserQueryDto>> GetUser(string userId, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var query = new GetUserQuery(userId);
|
var query = new GetUserQuery(userId);
|
||||||
var result = await _dispatcher.Execute(query, cancellationToken);
|
var result = await _dispatcher.Execute(query, cancellationToken);
|
||||||
|
|||||||
Reference in New Issue
Block a user