Exemple #1
0
        // 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)));
        }
Exemple #2
0
        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());
        }