mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Transform accounts
This commit is contained in:
parent
dc176aa3f8
commit
b7fbfe6531
@ -12,61 +12,79 @@
|
|||||||
namespace App\Helpers\Bank\Yodlee\Transformer;
|
namespace App\Helpers\Bank\Yodlee\Transformer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
[account] => Array
|
[0] => stdClass Object
|
||||||
(
|
(
|
||||||
[0] => stdClass Object
|
[CONTAINER] => bank
|
||||||
(
|
[providerAccountId] => 11308693
|
||||||
[CONTAINER] => bank
|
[accountName] => My CD - 8878
|
||||||
[providerAccountId] => 11308693
|
[accountStatus] => ACTIVE
|
||||||
[accountName] => My CD - 8878
|
[accountNumber] => xxxx8878
|
||||||
[accountStatus] => ACTIVE
|
[aggregationSource] => USER
|
||||||
[accountNumber] => xxxx8878
|
[isAsset] => 1
|
||||||
[aggregationSource] => USER
|
[balance] => stdClass Object
|
||||||
[isAsset] => 1
|
(
|
||||||
[balance] => stdClass Object
|
[currency] => USD
|
||||||
(
|
[amount] => 49778.07
|
||||||
[currency] => USD
|
)
|
||||||
[amount] => 49778.07
|
|
||||||
)
|
|
||||||
|
|
||||||
[id] => 12331861
|
[id] => 12331861
|
||||||
[includeInNetWorth] => 1
|
[includeInNetWorth] => 1
|
||||||
[providerId] => 18769
|
[providerId] => 18769
|
||||||
[providerName] => Dag Site Captcha
|
[providerName] => Dag Site Captcha
|
||||||
[isManual] =>
|
[isManual] =>
|
||||||
[currentBalance] => stdClass Object
|
[currentBalance] => stdClass Object
|
||||||
(
|
(
|
||||||
[currency] => USD
|
[currency] => USD
|
||||||
[amount] => 49778.07
|
[amount] => 49778.07
|
||||||
)
|
)
|
||||||
|
|
||||||
[accountType] => CD
|
[accountType] => CD
|
||||||
[displayedName] => LORETTA
|
[displayedName] => LORETTA
|
||||||
[createdDate] => 2022-07-28T06:55:33Z
|
[createdDate] => 2022-07-28T06:55:33Z
|
||||||
[lastUpdated] => 2022-07-28T06:56:09Z
|
[lastUpdated] => 2022-07-28T06:56:09Z
|
||||||
[dataset] => Array
|
[dataset] => Array
|
||||||
(
|
(
|
||||||
[0] => stdClass Object
|
[0] => stdClass Object
|
||||||
(
|
(
|
||||||
[name] => BASIC_AGG_DATA
|
[name] => BASIC_AGG_DATA
|
||||||
[additionalStatus] => AVAILABLE_DATA_RETRIEVED
|
[additionalStatus] => AVAILABLE_DATA_RETRIEVED
|
||||||
[updateEligibility] => ALLOW_UPDATE
|
[updateEligibility] => ALLOW_UPDATE
|
||||||
[lastUpdated] => 2022-07-28T06:55:50Z
|
[lastUpdated] => 2022-07-28T06:55:50Z
|
||||||
[lastUpdateAttempt] => 2022-07-28T06:55:50Z
|
[lastUpdateAttempt] => 2022-07-28T06:55:50Z
|
||||||
)
|
)
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class AccountTransformer
|
class AccountTransformer
|
||||||
{
|
{
|
||||||
|
|
||||||
public static function transform(array $account)
|
public function transform($yodlee_account){
|
||||||
|
|
||||||
|
$data = [];
|
||||||
|
|
||||||
|
foreach($yodlee_account->account as $account)
|
||||||
|
{
|
||||||
|
$data[] = $this->transformAccount($account);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function transformAccount($account)
|
||||||
{
|
{
|
||||||
|
nlog($account);
|
||||||
return [
|
return [
|
||||||
|
'id' => $account->id,
|
||||||
|
'account_type' => $account->CONTAINER,
|
||||||
|
'account_name' => $account->accountName,
|
||||||
|
'account_status' => $account->accountStatus,
|
||||||
|
'account_number' => $account->accountNumber,
|
||||||
|
'current_balance' => property_exists($account, 'currentBalance') ? $account->currentBalance->amount : 0,
|
||||||
|
'account_currency' => property_exists($account, 'currency') ? $account->currentBalance->currency : '',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
namespace App\Helpers\Bank\Yodlee;
|
namespace App\Helpers\Bank\Yodlee;
|
||||||
|
|
||||||
|
use App\Helpers\Bank\Yodlee\Transformer\AccountTransformer;
|
||||||
use Illuminate\Support\Facades\Http;
|
use Illuminate\Support\Facades\Http;
|
||||||
|
|
||||||
class Yodlee
|
class Yodlee
|
||||||
@ -137,8 +138,13 @@ class Yodlee
|
|||||||
|
|
||||||
$response = Http::withHeaders($this->getHeaders(["Authorization" => "Bearer {$token}"]))->get($this->getEndpoint(). "/accounts", $params);
|
$response = Http::withHeaders($this->getHeaders(["Authorization" => "Bearer {$token}"]))->get($this->getEndpoint(). "/accounts", $params);
|
||||||
|
|
||||||
if($response->successful())
|
|
||||||
return $response->object();
|
if($response->successful()){
|
||||||
|
|
||||||
|
$at = new AccountTransformer();
|
||||||
|
return $at->transform($response->object());
|
||||||
|
// return $response->object();
|
||||||
|
}
|
||||||
|
|
||||||
if($response->failed())
|
if($response->failed())
|
||||||
return $response->body();
|
return $response->body();
|
||||||
|
@ -350,7 +350,9 @@ class YodleeApiTest extends TestCase
|
|||||||
|
|
||||||
$accounts = $yodlee->getAccounts();
|
$accounts = $yodlee->getAccounts();
|
||||||
|
|
||||||
$this->assertIsArray($accounts->account);
|
nlog($accounts);
|
||||||
|
|
||||||
|
$this->assertIsArray($accounts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user