diff --git a/app/Helpers/Bank/Nordigen/Nordigen.php b/app/Helpers/Bank/Nordigen/Nordigen.php index f5f663c1a985..33c62d076c8d 100644 --- a/app/Helpers/Bank/Nordigen/Nordigen.php +++ b/app/Helpers/Bank/Nordigen/Nordigen.php @@ -19,6 +19,7 @@ namespace App\Helpers\Bank\Nordigen; +use App\Models\Company; use App\Services\Email\Email; use App\Models\BankIntegration; use App\Services\Email\EmailObject; @@ -138,11 +139,11 @@ class Nordigen * @param string $dateFrom * @return array */ - public function getTransactions(string $accountId, string $dateFrom = null): array + public function getTransactions(Company $company, string $accountId, string $dateFrom = null): array { $transactionResponse = $this->client->account($accountId)->getAccountTransactions($dateFrom); - $it = new TransactionTransformer(); + $it = new TransactionTransformer($company); return $it->transform($transactionResponse); } diff --git a/app/Helpers/Bank/Nordigen/Transformer/TransactionTransformer.php b/app/Helpers/Bank/Nordigen/Transformer/TransactionTransformer.php index 4f787c5798b8..d7aaf5f5887c 100644 --- a/app/Helpers/Bank/Nordigen/Transformer/TransactionTransformer.php +++ b/app/Helpers/Bank/Nordigen/Transformer/TransactionTransformer.php @@ -12,6 +12,10 @@ namespace App\Helpers\Bank\Nordigen\Transformer; use App\Helpers\Bank\BankRevenueInterface; +use App\Models\Company; +use App\Models\DateFormat; +use App\Models\Timezone; +use Carbon\Carbon; use App\Utils\Traits\AppSetup; use Illuminate\Support\Facades\Cache; use Log; @@ -65,6 +69,13 @@ class TransactionTransformer implements BankRevenueInterface { use AppSetup; + private Company $company; + + function __construct(Company $company) + { + $this->company = $company; + } + public function transform($transactionResponse) { $data = []; @@ -163,4 +174,24 @@ class TransactionTransformer implements BankRevenueInterface } + private function formatDate(string $input) + { + $timezone = Timezone::find($this->company->settings->timezone_id); + $timezone_name = 'US/Eastern'; + + if ($timezone) { + $timezone_name = $timezone->name; + } + + $date_format_default = 'Y-m-d'; + + $date_format = DateFormat::find($this->company->settings->date_format_id); + + if ($date_format) { + $date_format_default = $date_format->format; + } + + return Carbon::createFromTimeStamp($input)->setTimezone($timezone_name)->format($date_format_default); + } + } diff --git a/app/Jobs/Bank/ProcessBankTransactionsNordigen.php b/app/Jobs/Bank/ProcessBankTransactionsNordigen.php index 2db5effd1016..d23e78659cec 100644 --- a/app/Jobs/Bank/ProcessBankTransactionsNordigen.php +++ b/app/Jobs/Bank/ProcessBankTransactionsNordigen.php @@ -138,7 +138,7 @@ class ProcessBankTransactionsNordigen implements ShouldQueue private function processTransactions() { //Get transaction count object - $transactions = $this->nordigen->getTransactions($this->bank_integration->nordigen_account_id, $this->from_date); + $transactions = $this->nordigen->getTransactions($this->company, $this->bank_integration->nordigen_account_id, $this->from_date); //if no transactions, update the from_date and move on if (count($transactions) == 0) {