// POST api/<controller> public async Task <IHttpActionResult> Post(ActionDto actionDto) { var errorMessage = await _actionValidator.ValidateAction(actionDto); if (!string.IsNullOrEmpty(errorMessage)) { return(BadRequest(errorMessage)); } return(Ok(await _actionsService.Add(actionDto))); }
public async Task <IActionResult> ResetPassword([FromBody] ResetPasswordRequest resetPasswordRequest) { var action = await _actionsRepository.GetActionById(resetPasswordRequest.ActionId); var validationErrors = _actionValidator.ValidateAction(action, ActionType.ResetPassword); if (resetPasswordRequest.NewPassword != resetPasswordRequest.ConfirmNewPassword) { validationErrors.Add(new Error("invalid_password", "Passwords must match.")); } if (validationErrors.Any()) { return(BadRequest(validationErrors)); } await _accountsService.CompletePasswordReset(action.UserId, _cryptographyService.HashAndSaltPassword(resetPasswordRequest.NewPassword), action.Id); return(Ok()); }