From 38fc8e0113d30731142a6f71dd94c00bd94abfd9 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 13 Jun 2025 14:18:45 +1000 Subject: [PATCH] Adjustments for transaction imports --- .../Transformer/Bank/BankTransformer.php | 6 +- composer.json | 3 +- composer.lock | 103 ++++++++++++++---- 3 files changed, 88 insertions(+), 24 deletions(-) diff --git a/app/Import/Transformer/Bank/BankTransformer.php b/app/Import/Transformer/Bank/BankTransformer.php index d2cb899239..dea603bd0b 100644 --- a/app/Import/Transformer/Bank/BankTransformer.php +++ b/app/Import/Transformer/Bank/BankTransformer.php @@ -85,11 +85,15 @@ class BankTransformer extends BaseTransformer return 'DEBIT'; } + if (array_key_exists('transaction.base_type', $transaction) && in_array(strtolower($transaction['transaction.base_type']), ['income', 'credit'])) { + return 'CREDIT'; + } + if (array_key_exists('transaction.category_id', $transaction)) { return 'DEBIT'; } - if (array_key_exists('transaction.category_type', $transaction) && $transaction['transaction.category_type'] == 'Income') { + if (array_key_exists('transaction.category_type', $transaction) && in_array(strtolower($transaction['transaction.category_type']), ['income', 'credit'])) { return 'CREDIT'; } diff --git a/composer.json b/composer.json index 17a06e6b32..776e063dfa 100644 --- a/composer.json +++ b/composer.json @@ -116,7 +116,8 @@ "twig/twig": "^3.14", "twilio/sdk": "^6.40", "wikimedia/composer-merge-plugin": "^2.1", - "wildbit/postmark-php": "^4.0" + "wildbit/postmark-php": "^4.0", + "invoiceninja/admin-api": "dev-main" }, "require-dev": { "barryvdh/laravel-debugbar": "^3.6", diff --git a/composer.lock b/composer.lock index ee48b0958d..0bd1866b31 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4361272676d998d08fb1926198065b39", + "content-hash": "f6635e28eff8ba2e1ba889d1ef9dd2d6", "packages": [ { "name": "adrienrn/php-mimetyper", @@ -4667,6 +4667,65 @@ ], "time": "2022-05-21T17:30:32+00:00" }, + { + "name": "invoiceninja/admin-api", + "version": "dev-main", + "dist": { + "type": "path", + "url": "../admin-api", + "reference": "f2756b6f5f33ce0002badbb0076b19642c444708" + }, + "require": { + "afosto/yaac": "^1.5", + "asm/php-ansible": "dev-main", + "ext-curl": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-simplexml": "*", + "illuminate/database": "^11", + "illuminate/support": "^11", + "imdhemy/laravel-purchases": "^1.7", + "php": "^8.2|^8.3|^8.4" + }, + "require-dev": { + "larastan/larastan": "^3.0", + "orchestra/testbench": "^9.0", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "InvoiceNinja\\AdminApi\\Providers\\AdminApiServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "InvoiceNinja\\AdminApi\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "InvoiceNinja\\AdminApi\\Tests\\": "tests/" + } + }, + "license": [ + "Elastic" + ], + "authors": [ + { + "name": "David Bomba", + "email": "turbo124@gmail.com" + } + ], + "description": "API endpoints for the admin interface", + "transport-options": { + "relative": true + } + }, { "name": "invoiceninja/einvoice", "version": "dev-main", @@ -8133,16 +8192,16 @@ }, { "name": "nesbot/carbon", - "version": "3.9.1", + "version": "3.10.0", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "ced71f79398ece168e24f7f7710462f462310d4d" + "reference": "c1397390dd0a7e0f11660f0ae20f753d88c1f3d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/ced71f79398ece168e24f7f7710462f462310d4d", - "reference": "ced71f79398ece168e24f7f7710462f462310d4d", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/c1397390dd0a7e0f11660f0ae20f753d88c1f3d9", + "reference": "c1397390dd0a7e0f11660f0ae20f753d88c1f3d9", "shasum": "" }, "require": { @@ -8150,9 +8209,9 @@ "ext-json": "*", "php": "^8.1", "psr/clock": "^1.0", - "symfony/clock": "^6.3 || ^7.0", + "symfony/clock": "^6.3.12 || ^7.0", "symfony/polyfill-mbstring": "^1.0", - "symfony/translation": "^4.4.18 || ^5.2.1|| ^6.0 || ^7.0" + "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0" }, "provide": { "psr/clock-implementation": "1.0" @@ -8160,14 +8219,13 @@ "require-dev": { "doctrine/dbal": "^3.6.3 || ^4.0", "doctrine/orm": "^2.15.2 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.57.2", + "friendsofphp/php-cs-fixer": "^3.75.0", "kylekatarnls/multi-tester": "^2.5.3", - "ondrejmirtes/better-reflection": "^6.25.0.4", "phpmd/phpmd": "^2.15.0", - "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^1.11.2", - "phpunit/phpunit": "^10.5.20", - "squizlabs/php_codesniffer": "^3.9.0" + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.17", + "phpunit/phpunit": "^10.5.46", + "squizlabs/php_codesniffer": "^3.13.0" }, "bin": [ "bin/carbon" @@ -8235,7 +8293,7 @@ "type": "tidelift" } ], - "time": "2025-05-01T19:51:51+00:00" + "time": "2025-06-12T10:24:28+00:00" }, { "name": "nette/schema", @@ -11450,23 +11508,23 @@ }, { "name": "sentry/sentry-laravel", - "version": "4.14.1", + "version": "4.15.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "8b71a9209e8a01cb5728e743e99299d87d688010" + "reference": "481398f05e4b0f5886f6092e1b95b626a438deff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/8b71a9209e8a01cb5728e743e99299d87d688010", - "reference": "8b71a9209e8a01cb5728e743e99299d87d688010", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/481398f05e4b0f5886f6092e1b95b626a438deff", + "reference": "481398f05e4b0f5886f6092e1b95b626a438deff", "shasum": "" }, "require": { "illuminate/support": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0", "nyholm/psr7": "^1.0", "php": "^7.2 | ^8.0", - "sentry/sentry": "^4.10", + "sentry/sentry": "^4.13", "symfony/psr-http-message-bridge": "^1.0 | ^2.0 | ^6.0 | ^7.0" }, "require-dev": { @@ -11523,7 +11581,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/4.14.1" + "source": "https://github.com/getsentry/sentry-laravel/tree/4.15.0" }, "funding": [ { @@ -11535,7 +11593,7 @@ "type": "custom" } ], - "time": "2025-06-07T07:52:41+00:00" + "time": "2025-06-12T20:56:36+00:00" }, { "name": "setasign/fpdf", @@ -21398,7 +21456,8 @@ "beganovich/snappdf": 20, "horstoeko/orderx": 20, "invoiceninja/einvoice": 20, - "socialiteproviders/apple": 20 + "socialiteproviders/apple": 20, + "invoiceninja/admin-api": 20 }, "prefer-stable": true, "prefer-lowest": false,