public async Task <AccessRefreshTokensDto> GenerateAccessRefreshTokens(Guid userId, string userName, string email) { var refreshToken = _jwtFactory.GenerateRefreshToken(); var oldRefreshTokens = await _dbContext.RefreshTokens .Where(rt => rt.UserId == userId) .ToListAsync(); _dbContext.RemoveRange(oldRefreshTokens); _dbContext.RefreshTokens.Add(new RefreshTokenModel { Token = refreshToken, ExpiresIn = DateTime.UtcNow.AddSeconds(AuthConstants.RefreshTokenLifetimeInSeconds), UserId = userId, }); await _dbContext.SaveChangesAsync(); var accessToken = await _jwtFactory.GenerateAccessToken(userId, userName, email); return(new AccessRefreshTokensDto { AccessToken = accessToken, RefreshToken = refreshToken }); }
public async Task <UserDto> Handle(CreateUserCommand request, CancellationToken cancellationToken) { var user = new UserEntity( userName: request.UserName, email: request.Email, password: request.Password ); await _dbContext.Users.AddAsync(_mapper.Map <UserModel>(user), cancellationToken); await _dbContext.SaveChangesAsync(cancellationToken); return(_mapper.Map <UserDto>(user)); }
public async Task <JobDto> Handle(CreateJobCommand request, CancellationToken cancellationToken) { var currency = new CurrencySymbol(request.CurrencySymbol); var minSalary = new IntegerMoney(request.MinSalary, currency); var maxSalary = new IntegerMoney(request.MaxSalary, currency); var job = new JobEntity( name: request.Name, minSalary: minSalary, maxSalary: maxSalary, description: request.Description, shortDescription: request.ShortDescription ); await _dbContext.Jobs.AddAsync(_mapper.Map <JobModel>(job), cancellationToken); await _dbContext.SaveChangesAsync(cancellationToken); return(_mapper.Map <JobDto>(job)); }