예제 #1
0
        public async Task <IActionResult> ChangePasswordByRestoringPassword([FromBody] ChangePasswordByRestoringPassword command)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var user = await _userService.GetActiveByEmailAsync(command.Email);

            if (user == null)
            {
                return(Unauthorized());
            }
            try {
                await _userService.ChangePasswordByRestoringPassword(user.Email, command.Token, command.NewPassword);

                return(Ok(new { message = "The password was changed" }));
            } catch (Exception e) {
                return(BadRequest(new { errorMessage = e.Message }));
            }
        }
예제 #2
0
        public async Task <IActionResult> ChangePasswordByRestoringPassword(
            [FromBody] ChangePasswordByRestoringPassword command)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var account = await _accountService.GetActiveWithAccountRestoringPasswordByTokenAsync(command.Token);

            if (account == null)
            {
                return(Unauthorized());
            }
            try {
                await _accountService.ChangePasswordByRestoringPassword(account.Email, command.Token,
                                                                        command.NewPassword);

                return(Ok(new { message = "The password was changed" }));
            } catch (Exception e) {
                return(NotFound(new { message = e.Message }));
            }
        }