From 38fb55523af92562139db345a60a4db44b97919b Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 23 Sep 2024 07:27:28 +1000 Subject: [PATCH] Fixes for castables --- app/Casts/ClientSyncCast.php | 2 +- app/Casts/EncryptedCast.php | 2 +- app/Casts/InvoiceSyncCast.php | 2 +- app/Casts/ProductSyncCast.php | 2 +- app/Casts/QuickbooksSettingsCast.php | 4 ++-- app/Helpers/Mail/Office365MailTransport.php | 2 +- app/PaymentDrivers/BTCPayPaymentDriver.php | 2 +- app/PaymentDrivers/BlockonomicsPaymentDriver.php | 2 +- app/PaymentDrivers/Factory/ForteCustomerFactory.php | 2 +- .../Factory/PaytraceCustomerFactory.php | 2 +- .../Factory/SquareCustomerFactory.php | 2 +- app/PaymentDrivers/Forte/ACH.php | 2 +- app/PaymentDrivers/Forte/CreditCard.php | 2 +- app/PaymentDrivers/FortePaymentDriver.php | 2 +- app/Services/Quickbooks/Models/QbProduct.php | 13 ++++++++----- .../Quickbooks/Transformers/ClientTransformer.php | 1 + .../Quickbooks/Transformers/ProductTransformer.php | 3 +-- 17 files changed, 25 insertions(+), 22 deletions(-) diff --git a/app/Casts/ClientSyncCast.php b/app/Casts/ClientSyncCast.php index 736022b3053a..aaeb153680c2 100644 --- a/app/Casts/ClientSyncCast.php +++ b/app/Casts/ClientSyncCast.php @@ -4,7 +4,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/Casts/EncryptedCast.php b/app/Casts/EncryptedCast.php index a8c11f3ad397..5600fa7b7d52 100644 --- a/app/Casts/EncryptedCast.php +++ b/app/Casts/EncryptedCast.php @@ -4,7 +4,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/Casts/InvoiceSyncCast.php b/app/Casts/InvoiceSyncCast.php index 8776637a709e..713322a35181 100644 --- a/app/Casts/InvoiceSyncCast.php +++ b/app/Casts/InvoiceSyncCast.php @@ -4,7 +4,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/Casts/ProductSyncCast.php b/app/Casts/ProductSyncCast.php index ca2172c13b14..e3c491015201 100644 --- a/app/Casts/ProductSyncCast.php +++ b/app/Casts/ProductSyncCast.php @@ -4,7 +4,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/Casts/QuickbooksSettingsCast.php b/app/Casts/QuickbooksSettingsCast.php index 815725213590..4de9333564bd 100644 --- a/app/Casts/QuickbooksSettingsCast.php +++ b/app/Casts/QuickbooksSettingsCast.php @@ -4,7 +4,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ @@ -18,7 +18,7 @@ class QuickbooksSettingsCast implements CastsAttributes { public function get($model, string $key, $value, array $attributes) { - if (is_null($value)) { + if (is_null($value)) return new QuickbooksSettings(); $data = json_decode($value, true); diff --git a/app/Helpers/Mail/Office365MailTransport.php b/app/Helpers/Mail/Office365MailTransport.php index 4a6f49a70b65..6d345f03968b 100644 --- a/app/Helpers/Mail/Office365MailTransport.php +++ b/app/Helpers/Mail/Office365MailTransport.php @@ -4,7 +4,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/PaymentDrivers/BTCPayPaymentDriver.php b/app/PaymentDrivers/BTCPayPaymentDriver.php index 4d1c02b273c9..801241e006e0 100644 --- a/app/PaymentDrivers/BTCPayPaymentDriver.php +++ b/app/PaymentDrivers/BTCPayPaymentDriver.php @@ -5,7 +5,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://opensource.org/licenses/AAL */ diff --git a/app/PaymentDrivers/BlockonomicsPaymentDriver.php b/app/PaymentDrivers/BlockonomicsPaymentDriver.php index a53ddc4bb612..05db691d2648 100644 --- a/app/PaymentDrivers/BlockonomicsPaymentDriver.php +++ b/app/PaymentDrivers/BlockonomicsPaymentDriver.php @@ -5,7 +5,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://opensource.org/licenses/AAL */ diff --git a/app/PaymentDrivers/Factory/ForteCustomerFactory.php b/app/PaymentDrivers/Factory/ForteCustomerFactory.php index e7c535221627..277d536f5c39 100644 --- a/app/PaymentDrivers/Factory/ForteCustomerFactory.php +++ b/app/PaymentDrivers/Factory/ForteCustomerFactory.php @@ -5,7 +5,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/PaymentDrivers/Factory/PaytraceCustomerFactory.php b/app/PaymentDrivers/Factory/PaytraceCustomerFactory.php index 3f05dbf84d06..5308bc4ab6e0 100644 --- a/app/PaymentDrivers/Factory/PaytraceCustomerFactory.php +++ b/app/PaymentDrivers/Factory/PaytraceCustomerFactory.php @@ -5,7 +5,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/PaymentDrivers/Factory/SquareCustomerFactory.php b/app/PaymentDrivers/Factory/SquareCustomerFactory.php index c62eac3d8055..00070b93a793 100644 --- a/app/PaymentDrivers/Factory/SquareCustomerFactory.php +++ b/app/PaymentDrivers/Factory/SquareCustomerFactory.php @@ -5,7 +5,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/PaymentDrivers/Forte/ACH.php b/app/PaymentDrivers/Forte/ACH.php index 1fa4c4a2ab07..09071ac39c8d 100644 --- a/app/PaymentDrivers/Forte/ACH.php +++ b/app/PaymentDrivers/Forte/ACH.php @@ -5,7 +5,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/PaymentDrivers/Forte/CreditCard.php b/app/PaymentDrivers/Forte/CreditCard.php index cc4256171f27..9b3bd359c73f 100644 --- a/app/PaymentDrivers/Forte/CreditCard.php +++ b/app/PaymentDrivers/Forte/CreditCard.php @@ -5,7 +5,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/PaymentDrivers/FortePaymentDriver.php b/app/PaymentDrivers/FortePaymentDriver.php index 90efcfa0c18b..3daa71dfefe1 100644 --- a/app/PaymentDrivers/FortePaymentDriver.php +++ b/app/PaymentDrivers/FortePaymentDriver.php @@ -4,7 +4,7 @@ * * @link https://github.com/invoiceninja/invoiceninja source repository * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://opensource.org/licenses/AAL */ diff --git a/app/Services/Quickbooks/Models/QbProduct.php b/app/Services/Quickbooks/Models/QbProduct.php index 33a0c61b68ac..4c5ca8d2b835 100644 --- a/app/Services/Quickbooks/Models/QbProduct.php +++ b/app/Services/Quickbooks/Models/QbProduct.php @@ -13,25 +13,24 @@ namespace App\Services\Quickbooks\Models; use App\DataMapper\ProductSync; use App\Services\Quickbooks\QuickbooksService; - use App\Models\Product; use App\Factory\ProductFactory; use App\Services\Quickbooks\Transformers\ProductTransformer; +use App\Interfaces\SyncInterface; -class QbProduct +class QbProduct implements SyncInterface { public function __construct(public QuickbooksService $service) { } - public function find(int $id) + public function find(string $id): mixed { return $this->service->sdk->FindById('Item', $id); } - - public function syncToNinja(array $records) + public function syncToNinja(array $records): void { $product_transformer = new ProductTransformer($this->service->company); @@ -48,6 +47,10 @@ class QbProduct } + public function syncToForeign(array $records): void + { + } + private function findProduct(string $key): ?Product { $search = Product::query() diff --git a/app/Services/Quickbooks/Transformers/ClientTransformer.php b/app/Services/Quickbooks/Transformers/ClientTransformer.php index 998f12a1543c..69b0566ded99 100644 --- a/app/Services/Quickbooks/Transformers/ClientTransformer.php +++ b/app/Services/Quickbooks/Transformers/ClientTransformer.php @@ -40,6 +40,7 @@ class ClientTransformer extends BaseTransformer ]; $client = [ + 'id' => data_get($data, 'Id.value', null), 'name' => data_get($data,'CompanyName', ''), 'address1' => data_get($data, 'BillAddr.Line1', ''), 'address2' => data_get($data, 'BillAddr.Line2', ''), diff --git a/app/Services/Quickbooks/Transformers/ProductTransformer.php b/app/Services/Quickbooks/Transformers/ProductTransformer.php index 5cab5b45f1a1..8a93d607fe85 100644 --- a/app/Services/Quickbooks/Transformers/ProductTransformer.php +++ b/app/Services/Quickbooks/Transformers/ProductTransformer.php @@ -30,8 +30,7 @@ class ProductTransformer extends BaseTransformer public function transform(mixed $data): array { - nlog(data_get($data, 'Id', null)); - + return [ 'id' => data_get($data, 'Id.value', null), 'product_key' => data_get($data, 'Name', data_get($data, 'FullyQualifiedName','')),