public async Task <AcountResponse> ResetPassword(AcountResetPasswordRequest acountResetPassword) { var user = await _identityService.FindByEmailAsync(acountResetPassword.Email); if (user is null) { return new AcountResponse { Message = "One or more validation errors occurred.", Erros = new string[1] { "User not found!" } } } ; var encodedToken = WebEncoders.Base64UrlDecode(acountResetPassword.Token); var validToken = Encoding.UTF8.GetString(encodedToken); var result = await _identityService.ResetPasswordAsync(user, validToken, acountResetPassword.Password); if (result.Succeeded) { _acountHistoryRepository.Add(_entityHistoryFactory.GetEntityHistory(user, Domain.Domain.DomainHistory.Enums.RequestActionEnum.Update) as AcountHistory); return(new AcountResponse { Message = "Password has been reset successfuly" }); } return(new AcountResponse { Message = "One or more validation errors occurred.", Erros = result.Errors.Select(e => e.Description) }); }
public async Task <ActionResult> ResetPassword(AcountResetPasswordRequest acountResetPassword) { if (ModelState.IsValid) { var result = await _acountServices.ResetPassword(acountResetPassword); if (result.IsSuccess) { return(Ok(result)); } return(BadRequest(result)); } return(BadRequest("Some properties are not valid")); }