public async Task <string> Recover(RecoverUserPasswordDto recoverDto) { if (!await _userRepository.Exist(recoverDto.Email)) { throw new Exception(StringResource.ValidationMessageUserDontExists); } User user = await _userRepository.GetByEmailAsync(recoverDto.Email); user.UpdatePassword(recoverDto.Password); if (!user.Validate()) { throw new ArgumentException(StringResource.ValidationMessageInvalidUser); } _userRepository.Update(user); return(StringResource.RecoverMessageSuccess); }
public async Task <ActionResult> Recover([FromServices] ITokenHelper tokenHelper, [FromBody] RecoverUserPasswordDto recoverDto, string token) { try { if (string.IsNullOrEmpty(token) || !tokenHelper.Validate(token)) { return(Unauthorized()); } return(Ok(await _userService.Recover(recoverDto))); } catch (Exception ex) { throw ex; } }