. */ declare(strict_types=1); namespace FireflyIII\Services\Bunq\Request; use FireflyIII\Services\Bunq\Object\DeviceServer; use FireflyIII\Services\Bunq\Token\InstallationToken; use Illuminate\Support\Collection; /** * Class ListDeviceServerRequest. */ class ListDeviceServerRequest extends BunqRequest { /** @var Collection */ private $devices; /** @var InstallationToken */ private $installationToken; public function __construct() { parent::__construct(); $this->devices = new Collection; } /** * @throws \Exception */ public function call(): void { $uri = '/v1/device-server'; $data = []; $headers = $this->getDefaultHeaders(); $headers['X-Bunq-Client-Authentication'] = $this->installationToken->getToken(); $response = $this->sendSignedBunqGet($uri, $data, $headers); // create device server objects: $raw = $this->getArrayFromResponse('DeviceServer', $response); /** @var array $entry */ foreach ($raw as $entry) { $this->devices->push(new DeviceServer($entry)); } return; } /** * @return Collection */ public function getDevices(): Collection { return $this->devices; } /** * @param InstallationToken $installationToken */ public function setInstallationToken(InstallationToken $installationToken) { $this->installationToken = $installationToken; } }