public async Task ValidateEmailLinkAsync(ValidateConfirmEmailDTO confirmEmailDto) { var user = await _unitOfWork.UserRepository.SingleOrDefaultAsync(u => u.Id == confirmEmailDto.UserId); if (user == null) { throw new ApiException(HttpStatusCode.NotFound, "User was not found."); } if (user.IsEmailConfirmed == false) { var token = confirmEmailDto.AccessToken; if (_jwtManager.IsValid(token) && !_jwtManager.IsExpired(token)) { user.IsEmailConfirmed = true; await _unitOfWork.Complete(); } else { throw new ApiException(HttpStatusCode.Forbidden, "Validation failed."); } } }
public async Task <IActionResult> ValidateEmailLinkAsync(ValidateConfirmEmailDTO confirmEmailDto) { await _emailConfirmationService.ValidateEmailLinkAsync(confirmEmailDto); return(Ok()); }