added GetUserQueryDto

This commit is contained in:
2026-02-17 01:24:36 +01:00
parent 5c7909034f
commit 3c9d0d900a
4 changed files with 8 additions and 5 deletions

View File

@@ -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>;

View File

@@ -0,0 +1,3 @@
namespace AipsCore.Application.Models.User.Query.GetUser;
public record GetUserQueryDto(string Id, string Email, string UserName);

View File

@@ -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!);
} }
} }

View File

@@ -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);