diff --git a/app/Services/Nordigen/Request/GetAccountBasicRequest.php b/app/Services/Nordigen/Request/GetAccountBasicRequest.php new file mode 100644 index 00000000..867b2239 --- /dev/null +++ b/app/Services/Nordigen/Request/GetAccountBasicRequest.php @@ -0,0 +1,95 @@ +. + */ + +declare(strict_types=1); + + +namespace App\Services\Nordigen\Request; + +use App\Exceptions\ImporterErrorException; +use App\Services\Nordigen\Response\ArrayResponse; +use App\Services\Shared\Response\Response; + +/** + * Class GetAccountBasicRequest + */ +class GetAccountBasicRequest extends Request +{ + private string $identifier; + + /** + * @param string $url + * @param string $token + * @param string $identifier + */ + public function __construct(string $url, string $token, string $identifier) + { + $this->setParameters([]); + $this->setBase($url); + $this->setToken($token); + $this->setIdentifier($identifier); + $this->setUrl(sprintf('api/v2/accounts/%s', $identifier)); + } + + /** + * @return string + */ + public function getIdentifier(): string + { + return $this->identifier; + } + + /** + * @param string $identifier + */ + public function setIdentifier(string $identifier): void + { + $this->identifier = $identifier; + } + + /** + * @inheritDoc + * @throws ImporterErrorException + */ + public function get(): Response + { + + $array = $this->authenticatedGet(); + return new ArrayResponse($array); + } + + /** + * @inheritDoc + */ + public function post(): Response + { + // Implement post() method. + } + + /** + * @inheritDoc + */ + public function put(): Response + { + // Implement put() method. + } +} diff --git a/app/Services/Nordigen/Services/AccountInformationCollector.php b/app/Services/Nordigen/Services/AccountInformationCollector.php index 9d850e8c..cc233b72 100644 --- a/app/Services/Nordigen/Services/AccountInformationCollector.php +++ b/app/Services/Nordigen/Services/AccountInformationCollector.php @@ -74,6 +74,10 @@ class AccountInformationCollector $balanceAccount->setStatus('no-balance'); } } + + // also collect some extra information, but don't use it right now. + self::getBasicDetails($balanceAccount); + return $balanceAccount; } @@ -150,4 +154,21 @@ class AccountInformationCollector return $account; } + /** + * @param Account $account + */ + private static function getBasicDetails(Account $account): void + { + app('log')->debug(sprintf('Now in %s(%s)', __METHOD__, $account->getIdentifier())); + + $url = config('nordigen.url'); + $accessToken = TokenManager::getAccessToken(); + $request = new GetAccountBasicRequest($url, $accessToken, $account->getIdentifier()); + /** @var ArrayResponse $response */ + $response = $request->get(); + $array = $response->data; + + app('log')->debug('Response for basic information request:', $array); + } + }