/** * @param null|double $amountFrom * @param null|double $amountTo * @param null|DateTime $asAtDate * @param Pagination|null $pagination * @param null|string $onBehalfOf * * @return Balances */ public function find($amountFrom = null, $amountTo = null, $asAtDate = null, Pagination $pagination = null, $onBehalfOf = null) { if (null === $pagination) { $pagination = new Pagination(); } $response = $this->request('GET', 'balances/find', ['amount_from' => $amountFrom, 'amount_to' => $amountTo, 'as_at_date' => null === $asAtDate ? null : $asAtDate->format(DateTime::RFC3339), 'order' => $pagination->getOrder(), 'page' => $pagination->getCurrentPage(), 'per_page' => $pagination->getPerPage(), 'order_asc_desc' => $pagination->getOrderAscDesc(), 'on_behalf_of' => $onBehalfOf]); $balances = []; foreach ($response->balances as $data) { $balances[] = $this->createBalanceFromResponse($data); } return new Balances($balances, $this->createPaginationFromResponse($response)); }
/** * @param Pagination $pagination * * @return array */ protected function convertPaginationToRequest(Pagination $pagination) { return ['page' => $pagination->getCurrentPage(), 'per_page' => $pagination->getPerPage(), 'order' => $pagination->getOrder(), 'order_asc_desc' => $pagination->getOrderAscDesc()]; }