. */ declare(strict_types=1); namespace FireflyIII\Services\Ynab\Request; use Log; /** * Class GetBudgetsRequest */ class GetBudgetsRequest extends YnabRequest { /** @var array */ public $budgets; public function __construct() { parent::__construct(); $this->budgets = []; } /** * */ public function call(): void { Log::debug('Now in GetBudgetsRequest::call()'); $uri = $this->api . '/budgets'; Log::debug(sprintf('URI is %s', $uri)); $result = $this->authenticatedGetRequest($uri, []); //Log::debug('Raw GetBudgetsRequest result', $result); // expect data in [data][budgets] $rawBudgets = $result['data']['budgets'] ?? []; $freshBudgets = []; foreach ($rawBudgets as $rawBudget) { Log::debug('Raw content of budget is:', $rawBudget); $freshBudgets[] = [ 'id' => $rawBudget['id'], 'name' => $rawBudget['name'], 'currency_code' => $rawBudget['currency_format']['iso_code'] ?? 'EUR', ]; } $this->budgets = $freshBudgets; } }