Generator Changes at 9/27/2025 11:50:52 PM
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
namespace CMSMicroservice.Application.Common.Interfaces;
|
||||
public interface IGenerateJwtToken
|
||||
{
|
||||
Task<string> GenerateJwtToken(User user);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace CMSMicroservice.Application.UserCQ.Queries.GetJwtToken;
|
||||
public record GetJwtTokenQuery : IRequest<GetJwtTokenResponseDto>
|
||||
{
|
||||
//شناسه
|
||||
public long Id { get; init; }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace CMSMicroservice.Application.UserCQ.Queries.GetJwtToken;
|
||||
public class GetJwtTokenQueryHandler : IRequestHandler<GetJwtTokenQuery, GetJwtTokenResponseDto>
|
||||
{
|
||||
private readonly IApplicationDbContext _context;
|
||||
private readonly IGenerateJwtToken _generateJwt;
|
||||
|
||||
public GetJwtTokenQueryHandler(IApplicationDbContext context, IGenerateJwtToken generateJwt)
|
||||
{
|
||||
_context = context;
|
||||
_generateJwt = generateJwt;
|
||||
}
|
||||
|
||||
public async Task<GetJwtTokenResponseDto> Handle(GetJwtTokenQuery request, CancellationToken cancellationToken)
|
||||
{
|
||||
var user = await _context.Users
|
||||
.FirstOrDefaultAsync(x => x.Id == request.Id, cancellationToken) ?? throw new NotFoundException(nameof(User), request.Id);
|
||||
return new GetJwtTokenResponseDto()
|
||||
{
|
||||
Token = await _generateJwt.GenerateJwtToken(user),
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace CMSMicroservice.Application.UserCQ.Queries.GetJwtToken;
|
||||
public class GetJwtTokenQueryValidator : AbstractValidator<GetJwtTokenQuery>
|
||||
{
|
||||
public GetJwtTokenQueryValidator()
|
||||
{
|
||||
RuleFor(model => model.Id)
|
||||
.NotNull();
|
||||
}
|
||||
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
|
||||
{
|
||||
var result = await ValidateAsync(ValidationContext<GetJwtTokenQuery>.CreateWithOptions((GetJwtTokenQuery)model, x => x.IncludeProperties(propertyName)));
|
||||
if (result.IsValid)
|
||||
return Array.Empty<string>();
|
||||
return result.Errors.Select(e => e.ErrorMessage);
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace CMSMicroservice.Application.UserCQ.Queries.GetJwtToken;
|
||||
public class GetJwtTokenResponseDto
|
||||
{
|
||||
//توکن
|
||||
public string Token { get; set; }
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user