Esempio n. 1
0
        public Task Update(AccountAccessConsentAggregate accountAccessConsent, CancellationToken cancellationToken)
        {
            var record = _accountAccessConsents.First(_ => _.AggregateId == accountAccessConsent.AggregateId);

            _accountAccessConsents.Remove(record);
            _accountAccessConsents.Add(accountAccessConsent);
            return(Task.CompletedTask);
        }
        public async Task Handle(AccountAccessConsentAddedEvent evt, CancellationToken cancellationToken)
        {
            var result = AccountAccessConsentAggregate.Build(new List <DomainEvent>
            {
                evt
            });
            await _accountAccessConsentRepository.Add(result, cancellationToken);

            await _accountAccessConsentRepository.SaveChanges(cancellationToken);
        }
        public async Task <AccountAccessContentResult> Handle(AddAccountAccessContentCommand request, CancellationToken cancellationToken)
        {
            var risk = request.Risk == null ? string.Empty : request.Risk.ToString();
            var accountAccessConsent = AccountAccessConsentAggregate.Create(request.Data.Permissions, request.Data.ExpirationDateTime, request.Data.TransactionFromDateTime, request.Data.TransactionToDateTime, risk);
            await _commandRepository.Commit(accountAccessConsent, cancellationToken);

            var url = $"{request.Issuer}/{Constants.RouteNames.AccountAccessContents}/{accountAccessConsent.AggregateId}";

            return(AccountAccessContentResult.ToDto(accountAccessConsent, url, 1));
        }
Esempio n. 4
0
        public async Task GivenAddRejectedAccountAccessConsent()
        {
            var accountAccessConsentRepository = _factory.Server.Host.Services.GetService(typeof(IAccountAccessConsentRepository)) as IAccountAccessConsentRepository;
            var accountAccessConsent           = AccountAccessConsentAggregate.Create(new List <string>
            {
                AccountAccessConsentPermission.ReadAccountsBasic.Name
            }, null, null, null, null);

            accountAccessConsent.Reject();
            await accountAccessConsentRepository.Add(accountAccessConsent, CancellationToken.None);

            _scenarioContext.Set(accountAccessConsent.AggregateId, "consentId");
        }
        public async Task GivenAddAuthorizedAccountAccessConsent(string clientId)
        {
            clientId = ParseValue(clientId).ToString();
            var accountAccessConsentRepository = _factory.Server.Host.Services.GetService(typeof(IAccountAccessConsentRepository)) as IAccountAccessConsentRepository;
            var accountAccessConsent           = AccountAccessConsentAggregate.Create(clientId, new List <string>
            {
                AccountAccessConsentPermission.ReadAccountsBasic.Name
            }, null, null, null, null);

            accountAccessConsent.Confirm(new List <string> {
            });
            await accountAccessConsentRepository.Add(accountAccessConsent, CancellationToken.None);

            _scenarioContext.Set(accountAccessConsent.AggregateId, "consentId");
        }
Esempio n. 6
0
        public static AccountAccessContentResult ToDto(AccountAccessConsentAggregate accountAccessConsent, string self, int totalPages)
        {
            JObject risk = string.IsNullOrEmpty(accountAccessConsent.Risk) ? null : JObject.Parse(accountAccessConsent.Risk);

            return(new AccountAccessContentResult(self, totalPages)
            {
                Data = new AddAccountAccessContentData
                {
                    ConsentId = accountAccessConsent.AggregateId,
                    Status = accountAccessConsent.Status.Name,
                    ExpirationDateTime = accountAccessConsent.ExpirationDateTime,
                    Permissions = accountAccessConsent.Permissions.Select(p => p.Name).ToList(),
                    TransactionFromDateTime = accountAccessConsent.TransactionFromDateTime,
                    TransactionToDateTime = accountAccessConsent.TransactionToDateTime
                },
                Risk = risk
            });
        }
        public async Task <AccountAccessContentResult> Handle(AddAccountAccessContentCommand request, CancellationToken cancellationToken)
        {
            var risk  = request.Risk == null ? string.Empty : request.Risk.ToString();
            var token = await _tokenRepository.Get(request.Token, cancellationToken);

            if (token == null)
            {
                _logger.LogError($"Access token '{request.Token}' is invalid or has been revoked");
                throw new UnauthorizedException(string.Format(Global.AccessTokenInvalid, token));
            }

            var accountAccessConsent = AccountAccessConsentAggregate.Create(token.ClientId, request.Data.Permissions, request.Data.ExpirationDateTime, request.Data.TransactionFromDateTime, request.Data.TransactionToDateTime, risk);
            await _commandRepository.Commit(accountAccessConsent, cancellationToken);

            var url = $"{request.Issuer}/{Constants.RouteNames.AccountAccessContents}/{accountAccessConsent.AggregateId}";

            return(AccountAccessContentResult.ToDto(accountAccessConsent, url, 1));
        }
Esempio n. 8
0
 public Task Add(AccountAccessConsentAggregate accountAccessConsent, CancellationToken cancellationToken)
 {
     _accountAccessConsents.Add(accountAccessConsent);
     return(Task.CompletedTask);
 }
Esempio n. 9
0
 public Task Update(AccountAccessConsentAggregate accountAccessConsent, CancellationToken cancellationToken)
 {
     _dbContext.AccountAccessConsents.Update(accountAccessConsent);
     return(Task.CompletedTask);
 }