. */ declare(strict_types=1); namespace App\Services\Nordigen\Request; use App\Exceptions\AgreementExpiredException; use App\Exceptions\ImporterErrorException; use App\Exceptions\ImporterHttpException; use App\Exceptions\RateLimitException; use App\Services\Nordigen\Response\ArrayResponse; use App\Services\Shared\Response\Response; /** * Class GetAccountBasicRequest */ class GetAccountBasicRequest extends Request { private 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)); } /** * @throws AgreementExpiredException * @throws ImporterErrorException * @throws ImporterHttpException * @throws RateLimitException */ public function get(): Response { $array = $this->authenticatedGet(); return new ArrayResponse($array); } public function getIdentifier(): string { return $this->identifier; } public function setIdentifier(string $identifier): void { $this->identifier = $identifier; } public function post(): Response { // Implement post() method. } public function put(): Response { // Implement put() method. } }