public async Task <int> CreatePassword(CreatePasswordRequest request)
        {
            var body     = Json.ToString(request);
            var response = await http.Post("api/v4/passwords.json", body);

            var created = Json.ToObject <Created>(response);

            return(Int32.Parse(created.Id));
        }
Beispiel #2
0
        public async Task <IActionResult> CreatePassword(CreatePasswordRequest createPassword)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction(nameof(Index)));
            }

            Result result = await _credentialsService.CreatePassword(createPassword);

            if (result.Failure)
            {
                SaveTempData(STATUS_ALERT_TEMP_DATA_KEY, StatusAlertViewExtension.Get(result));
            }
            else
            {
                SaveTempData(STATUS_ALERT_TEMP_DATA_KEY, StatusAlertViewExtension.Get("Password was created"));
            }

            return(RedirectToAction(nameof(Index)));
        }
Beispiel #3
0
        public async Task <Result> CreatePassword(CreatePasswordRequest createPasswordRequest)
        {
            ValidationResult validationResult = _createPasswordValidator.Validate(createPasswordRequest);

            if (!validationResult.IsValid)
            {
                _logger.LogWarning($"Invalid {nameof(CreatePasswordRequest)} model");
                return(Result.Fail(validationResult.Errors));
            }

            string userId = _httpContextAccessor.HttpContext.User.GetUserId();

            AppUserEntity appUser = await _userManager.FindByIdAsync(userId);

            if (appUser == null)
            {
                _logger.LogError($"No User. UserId {userId}");
                return(Result.Fail("no_user", "No User"));
            }

            _logger.LogTrace($"Creating password. UserId {userId}");

            IdentityResult identityResult = await _userManager.AddPasswordAsync(appUser, createPasswordRequest.NewPassword);

            if (!identityResult.Succeeded)
            {
                _logger.LogError($"Failed to add password. UserId {userId}");
                return(Result.Fail(identityResult.Errors));
            }

            Result loginResult = await _loginService.Login(userId);

            if (loginResult.Failure)
            {
                _logger.LogError($"Failed to log in user after password was added. UserId {userId}");
            }

            return(Result.Ok());
        }
        public override async Task <ProfileReply> CreatePassword(CreatePasswordRequest request,
                                                                 ServerCallContext context)
        {
            var command = new CreatePasswordCommand(
                request.Id.ToAccountId(),
                new ObjectId(request.Confirm.Id),
                request.Confirm.Code,
                request.Password
                );

            await _mediator.Send(command, context.CancellationToken);

            var data = await _mediator.Send(new GetAccountByIdQuery(request.Id.ToAccountId()));

            if (data is not null)
            {
                return(data.ToGatewayProfileReply());
            }

            context.Status = new Status(StatusCode.NotFound, ElwarkExceptionCodes.AccountNotFound);
            return(new ProfileReply());
        }