Ejemplo n.º 1
0
        public async Task <IActionResult> ConfirmAccountAsync([FromBody] ConfirmAccountRequest request)
        {
            var confirmAccountCommand = _mapper.Map <ConfirmAccountRequest, ConfirmAccountCommand>(request);
            await _communicationBus.SendCommandAsync(confirmAccountCommand);

            return(NoContent());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> ConfirmAccount([FromQuery] ConfirmAccountRequest request)
        {
            var response = await mediator.Send(request);

            Log.Information($"User {request.Email} confirmed their account");

            return(this.CreateResponse(response));
        }
Ejemplo n.º 3
0
        public void SetUp()
        {
            authService   = new Mock <IAuthService>();
            cryptoService = new Mock <ICryptoService>();
            request       = new ConfirmAccountRequest();

            confirmAccountCommand = new ConfirmAccountCommand(authService.Object, cryptoService.Object);
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> ConfirmAccount([FromQuery] ConfirmAccountRequest request)
        {
            var response = await mediator.Send(request);

            logger.LogResponse($"User #{request.UserId} confirmed account", response.Error);

            return(response.IsSucceeded ? (IActionResult)Ok(response) : BadRequest(response));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> ConfirmAccount([FromQuery] ConfirmAccountRequest request)
        {
            var response = await mediator.Send(request);

            logger.LogResponse($"User #{request.UserId} confirmed account", response.Error);

            return(this.CreateResponse(response));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> ConfirmAccount(ConfirmAccountRequest request)
        {
            var response = await mediator.Send(request);

            logger.LogResponse($"Admin #{HttpContext.GetCurrentUserId()} confirmed user #{request.UserId} account",
                               response.Error);

            return(this.CreateResponse(response));
        }
Ejemplo n.º 7
0
        public Task ConfirmAccount(ConfirmAccountRequest request)
        {
            var uri = string.Format("/account/confirm/{0}/{1}/{2}",
                                    request.EmailAddress,
                                    request.ConfirmationToken,
                                    request.IsSMSConfirmation);

            return(Client.GetAsync <string>(uri, logger: Logger));
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> ConfirmAccount(ConfirmAccountRequest request, CancellationToken cancellationToken)
        {
            var command = new ConfirmAccountCommand
            {
                Token  = request.Token,
                UserId = request.UserId
            };

            var result = await _mediator.Send(command, cancellationToken);

            return(this.GetResponseFromResult(result));
        }
Ejemplo n.º 9
0
        public object Get(ConfirmAccountRequest request)
        {
            var account = _accountDao.FindByEmail(request.EmailAddress);

            if (account == null)
            {
                throw new HttpError(HttpStatusCode.NotFound, "No account matching this email address");
            }

            if (request.IsSMSConfirmation.HasValue && request.IsSMSConfirmation.Value)
            {
                if (account.ConfirmationToken != request.ConfirmationToken)
                {
                    throw new HttpError(ErrorCode.CreateAccount_InvalidConfirmationToken.ToString());
                }

                _commandBus.Send(new ConfirmAccount
                {
                    AccountId        = account.Id,
                    ConfimationToken = request.ConfirmationToken
                });
                return(new HttpResult(HttpStatusCode.OK));
            }
            else
            {
                _commandBus.Send(new ConfirmAccount
                {
                    AccountId        = account.Id,
                    ConfimationToken = request.ConfirmationToken
                });

                // Determine the root path to the app
                var root = ApplicationPathResolver.GetApplicationPath(RequestContext);

                var template     = _templateService.Find("AccountConfirmationSuccess", account.Language);
                var templateData = new
                {
                    RootUrl         = root,
                    PackageName     = _serverSettings.ServerData.GCM.PackageName,
                    ApplicationName = _serverSettings.ServerData.TaxiHail.ApplicationName,
                    AccentColor     = _serverSettings.ServerData.TaxiHail.AccentColor
                };

                var body = _templateService.Render(template, templateData);
                return(new HttpResult(body, ContentType.Html));
            }
        }
Ejemplo n.º 10
0
        public async Task ConfirmAccountAsync_Should_Return_NoContentResult()
        {
            var confirmAccountRequest = new ConfirmAccountRequest
            {
                Email = "*****@*****.**",
                Code  = "123456"
            };
            var confirmAccountCommand = new ConfirmAccountCommand(confirmAccountRequest.Email, confirmAccountRequest.Code);

            _mapperMock.Setup(x =>
                              x.Map <ConfirmAccountRequest, ConfirmAccountCommand>(It.IsAny <ConfirmAccountRequest>()))
            .Returns(confirmAccountCommand);
            _communicationBusMock.Setup(x => x.SendCommandAsync(It.IsAny <ConfirmAccountCommand>(), It.IsAny <CancellationToken>()))
            .Returns(Task.CompletedTask);

            var result = await _controller.ConfirmAccountAsync(confirmAccountRequest);

            var noContentResult = result.As <NoContentResult>();

            noContentResult.Should().NotBeNull();
        }
Ejemplo n.º 11
0
        public async Task Should_Confirm_Account_When_Requesting_By_Anonymous_Client()
        {
            const string token         = "12345";
            var          accountEntity = await InsertAccountEntityAsync(_fixture.AnonymousDbContext, token);

            var confirmAccountRequest = new ConfirmAccountRequest
            {
                Code  = token,
                Email = accountEntity.Email
            };
            var confirmAccountRequestString = JsonConvert.SerializeObject(confirmAccountRequest);
            var requestContent = new StringContent(confirmAccountRequestString, Encoding.UTF8, "application/json");

            _fixture.AnonymousHttpClient.DefaultRequestHeaders.Add("api-version", "1");

            var response = await _fixture.AnonymousHttpClient.PostAsync("api/accounts/confirmations", requestContent);

            response.StatusCode.Should().BeEquivalentTo(HttpStatusCode.NoContent);
            await _fixture.AnonymousDbContext.Entry(accountEntity).ReloadAsync();

            accountEntity.Confirmed.Should().BeTrue();
        }
Ejemplo n.º 12
0
        public async Task <ActionResult> Confirm(ConfirmAccountRequest request)
        {
            await mediator.Send(request);

            return(OkNoContent());
        }
Ejemplo n.º 13
0
 public ConfirmAccountResponse ConfirmAccount(ConfirmAccountRequest request)
 {
     return(new ConfirmAccount().Execute(request.Code));
 }