Bit.Api.Controllers.AccountsController.PutPassword C# (CSharp) Method

PutPassword() private method

private PutPassword ( [ model ) : System.Threading.Tasks.Task
model [
return System.Threading.Tasks.Task
        public async Task PutPassword([FromBody]PasswordRequestModel model)
        {
            // NOTE: It is assumed that the eventual repository call will make sure the updated
            // ciphers belong to user making this call. Therefore, no check is done here.
            var ciphers = model.Ciphers.Select(c => c.ToCipher(_userManager.GetUserId(User)));

            var result = await _userService.ChangePasswordAsync(
                _currentContext.User,
                model.MasterPasswordHash,
                model.NewMasterPasswordHash,
                ciphers);

            if(result.Succeeded)
            {
                return;
            }

            foreach(var error in result.Errors)
            {
                ModelState.AddModelError(string.Empty, error.Description);
            }

            await Task.Delay(2000);
            throw new BadRequestException(ModelState);
        }