mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-23 20:00:33 -04:00
latest changes
This commit is contained in:
parent
f3dfdc4d80
commit
fa5edbc29c
@ -114,10 +114,17 @@ class Nordigen
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* this method returns booked transactions from the bank_account, pending transactions are not part of the result
|
||||
* @todo @turbo124 should we include pending transactions within the integration-process and mark them with a specific category?!
|
||||
*/
|
||||
public function getTransactions(string $accountId, string $dateFrom = null)
|
||||
{
|
||||
|
||||
return $this->client->account($accountId)->getAccountTransactions($dateFrom);
|
||||
$transactionResponse = $this->client->account($accountId)->getAccountTransactions($dateFrom);
|
||||
|
||||
$it = new IncomeTransformer();
|
||||
return $it->transform($transactionResponse);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -65,7 +65,22 @@ class IncomeTransformer implements BankRevenueInterface
|
||||
{
|
||||
use AppSetup;
|
||||
|
||||
public function transform(BankIntegration $bank_integration, $transaction)
|
||||
public function transform($transaction)
|
||||
{
|
||||
|
||||
$data = [];
|
||||
|
||||
if (!property_exists($transaction, 'transactions') || !property_exists($transaction->transactions, 'booked'))
|
||||
throw new \Exception('invalid dataset');
|
||||
|
||||
foreach ($transaction->transactions->booked as $transaction) {
|
||||
$data[] = $this->transformTransaction($transaction);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function transformTransaction($transaction)
|
||||
{
|
||||
|
||||
if (!property_exists($transaction, 'transactionId') || !property_exists($transaction, 'transactionAmount') || !property_exists($transaction, 'balances') || !property_exists($transaction, 'institution'))
|
||||
@ -75,11 +90,9 @@ class IncomeTransformer implements BankRevenueInterface
|
||||
'transaction_id' => $transaction->transactionId,
|
||||
'amount' => abs($transaction->transactionAmount->amount),
|
||||
'currency_id' => $this->convertCurrency($transaction->transactionAmount->currency),
|
||||
'account_type' => 'bank',
|
||||
'category_id' => $transaction->highLevelCategoryId,
|
||||
'category_type' => $transaction->categoryType,
|
||||
'category_id' => $transaction->highLevelCategoryId, // TODO
|
||||
'category_type' => $transaction->categoryType, // TODO
|
||||
'date' => $transaction->bookingDate,
|
||||
'bank_account_id' => $bank_integration->id,
|
||||
'description' => $transaction->remittanceInformationUnstructured,
|
||||
'base_type' => $transaction->transactionAmount->amount > 0 ? 'DEBIT' : 'CREDIT',
|
||||
];
|
||||
|
@ -99,18 +99,11 @@ class ProcessBankTransactionsNordigen implements ShouldQueue
|
||||
return;
|
||||
}
|
||||
|
||||
$data = [
|
||||
'top' => 500,
|
||||
'fromDate' => $this->from_date,
|
||||
'accountId' => $this->bank_integration->bank_account_id,
|
||||
'skip' => $this->skip,
|
||||
];
|
||||
|
||||
//Get transaction count object
|
||||
$transactions = $nordigen->getTransactions($this->bank_integration->bank_account_id, $this->from_date);
|
||||
|
||||
//Get int count
|
||||
$count = sizeof($transactions->transactions->booked);
|
||||
$count = sizeof($transactions);
|
||||
|
||||
//if no transactions, update the from_date and move on
|
||||
if (count($transactions) == 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user