From ddda929049ba855df3c916c5d9bc704ac5af4264 Mon Sep 17 00:00:00 2001 From: Dillon Ngo Date: Mon, 17 Nov 2025 06:06:28 +0800 Subject: [PATCH] Period Lock - prototype (code refactor) --- .../V2/ProcessCreditNoteReportV2CommandJob.php | 4 ++-- .../V2/ProcessPaymentReportV2CommandJob.php | 4 ++-- .../V2/ProcessSalesInvoiceReportV2CommandJob.php | 4 ++-- app/Classes/Jobs/SendWelcomeVoucherEmail.php | 2 +- .../Banks/Processors/UpdateBankProcessor.php | 2 +- .../ControllersLogic/CreateBookingLockLogic.php | 2 +- .../UpdateBookingAmountOnHoldLogic.php | 4 ++-- .../Imports/ControllersLogic/ImportExcelLogic.php | 4 ++-- .../Services/CreatesKeyValuePair.php | 13 ++++++++++--- .../Services/UpdatesKeyValuePair.php | 2 +- .../ControllersLogic/CreateVoucherLogic.php | 4 ++-- .../Wallets/Processors/CreditWalletProcessor.php | 4 ++-- 12 files changed, 28 insertions(+), 21 deletions(-) rename app/Classes/Modules/{Accounts => Settings}/Services/CreatesKeyValuePair.php (68%) rename app/Classes/Modules/{Accounts => Settings}/Services/UpdatesKeyValuePair.php (92%) diff --git a/app/Classes/Jobs/Commands/V2/ProcessCreditNoteReportV2CommandJob.php b/app/Classes/Jobs/Commands/V2/ProcessCreditNoteReportV2CommandJob.php index 41e2fe8b..0dcf6837 100644 --- a/app/Classes/Jobs/Commands/V2/ProcessCreditNoteReportV2CommandJob.php +++ b/app/Classes/Jobs/Commands/V2/ProcessCreditNoteReportV2CommandJob.php @@ -3,8 +3,8 @@ namespace App\Classes\Jobs\Commands\V2; use App\Classes\Modules\Accounts\DataTransferObjects\KeyValuePairObject; -use App\Classes\Modules\Accounts\Services\CreatesKeyValuePair; -use App\Classes\Modules\Accounts\Services\UpdatesKeyValuePair; +use App\Classes\Modules\Settings\Services\CreatesKeyValuePair; +use App\Classes\Modules\Settings\Services\UpdatesKeyValuePair; use App\Classes\Modules\Bookings\Processors\RegenerateInvoiceBookingProcessor; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\KVPKey; diff --git a/app/Classes/Jobs/Commands/V2/ProcessPaymentReportV2CommandJob.php b/app/Classes/Jobs/Commands/V2/ProcessPaymentReportV2CommandJob.php index 6537670d..480f4abe 100644 --- a/app/Classes/Jobs/Commands/V2/ProcessPaymentReportV2CommandJob.php +++ b/app/Classes/Jobs/Commands/V2/ProcessPaymentReportV2CommandJob.php @@ -3,8 +3,8 @@ namespace App\Classes\Jobs\Commands\V2; use App\Classes\Modules\Accounts\DataTransferObjects\KeyValuePairObject; -use App\Classes\Modules\Accounts\Services\CreatesKeyValuePair; -use App\Classes\Modules\Accounts\Services\UpdatesKeyValuePair; +use App\Classes\Modules\Settings\Services\CreatesKeyValuePair; +use App\Classes\Modules\Settings\Services\UpdatesKeyValuePair; use App\Classes\ValueObjects\Constants\KVPKey; use Carbon\Carbon; use Illuminate\Bus\Queueable; diff --git a/app/Classes/Jobs/Commands/V2/ProcessSalesInvoiceReportV2CommandJob.php b/app/Classes/Jobs/Commands/V2/ProcessSalesInvoiceReportV2CommandJob.php index a5b3871a..a7bf14c9 100644 --- a/app/Classes/Jobs/Commands/V2/ProcessSalesInvoiceReportV2CommandJob.php +++ b/app/Classes/Jobs/Commands/V2/ProcessSalesInvoiceReportV2CommandJob.php @@ -3,8 +3,8 @@ namespace App\Classes\Jobs\Commands\V2; use App\Classes\Modules\Accounts\DataTransferObjects\KeyValuePairObject; -use App\Classes\Modules\Accounts\Services\CreatesKeyValuePair; -use App\Classes\Modules\Accounts\Services\UpdatesKeyValuePair; +use App\Classes\Modules\Settings\Services\CreatesKeyValuePair; +use App\Classes\Modules\Settings\Services\UpdatesKeyValuePair; use App\Classes\ValueObjects\Constants\KVPKey; use Carbon\Carbon; use Illuminate\Bus\Queueable; diff --git a/app/Classes/Jobs/SendWelcomeVoucherEmail.php b/app/Classes/Jobs/SendWelcomeVoucherEmail.php index b6ef687e..a6e9eede 100644 --- a/app/Classes/Jobs/SendWelcomeVoucherEmail.php +++ b/app/Classes/Jobs/SendWelcomeVoucherEmail.php @@ -3,7 +3,7 @@ namespace App\Classes\Jobs; use App\Classes\Modules\Accounts\DataTransferObjects\KeyValuePairObject; -use App\Classes\Modules\Accounts\Services\CreatesKeyValuePair; +use App\Classes\Modules\Settings\Services\CreatesKeyValuePair; use App\Classes\Notifications\WelcomeVoucherEmail; use App\Models\User; use App\Models\Voucher; diff --git a/app/Classes/Modules/Banks/Processors/UpdateBankProcessor.php b/app/Classes/Modules/Banks/Processors/UpdateBankProcessor.php index 6030c11d..bd6564d9 100644 --- a/app/Classes/Modules/Banks/Processors/UpdateBankProcessor.php +++ b/app/Classes/Modules/Banks/Processors/UpdateBankProcessor.php @@ -8,7 +8,7 @@ use App\Classes\Modules\Banks\Services\UpdatesBank; use App\Classes\Modules\Banks\Services\CreatesOrUpdateBank; use App\Classes\Modules\Banks\DataTransferObjects\BankObject; use App\Classes\Modules\Accounts\DataTransferObjects\KeyValuePairObject; -use App\Classes\Modules\Accounts\Services\CreatesKeyValuePair; +use App\Classes\Modules\Settings\Services\CreatesKeyValuePair; use Illuminate\Database\Eloquent\Model; use App\Models\Bank; diff --git a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingLockLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingLockLogic.php index 42fb4a76..8a3a4912 100644 --- a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingLockLogic.php +++ b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingLockLogic.php @@ -6,7 +6,7 @@ use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Companies\Services\FetchesCompany; use App\Classes\Modules\Bookings\Standards\Rules\CanCreateBooking; use App\Classes\Modules\Bookings\Services\FetchesBooking; -use App\Classes\Modules\Accounts\Services\CreatesKeyValuePair; +use App\Classes\Modules\Settings\Services\CreatesKeyValuePair; use App\Classes\ValueObjects\Constants\KVPKey; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; diff --git a/app/Classes/Modules/Bookings/ControllersLogic/UpdateBookingAmountOnHoldLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/UpdateBookingAmountOnHoldLogic.php index 39dc6674..760aa488 100644 --- a/app/Classes/Modules/Bookings/ControllersLogic/UpdateBookingAmountOnHoldLogic.php +++ b/app/Classes/Modules/Bookings/ControllersLogic/UpdateBookingAmountOnHoldLogic.php @@ -6,8 +6,8 @@ use App\Classes\Modules\Bookings\Services\UpdatesBookingFixedAmount; use App\Classes\Modules\Transactions\Services\UpdatesTransactionStatus; use App\Classes\Modules\Bookings\Services\FetchesBooking; use App\Classes\Modules\Bookings\Standards\Rules\CanUpdateBooking; -use App\Classes\Modules\Accounts\Services\CreatesKeyValuePair; -use App\Classes\Modules\Accounts\Services\UpdatesKeyValuePair; +use App\Classes\Modules\Settings\Services\CreatesKeyValuePair; +use App\Classes\Modules\Settings\Services\UpdatesKeyValuePair; use App\Classes\Modules\Bookings\Services\CalculatesBookingOutstanding; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\TransactionType; diff --git a/app/Classes/Modules/Imports/ControllersLogic/ImportExcelLogic.php b/app/Classes/Modules/Imports/ControllersLogic/ImportExcelLogic.php index 377407a2..911dd319 100644 --- a/app/Classes/Modules/Imports/ControllersLogic/ImportExcelLogic.php +++ b/app/Classes/Modules/Imports/ControllersLogic/ImportExcelLogic.php @@ -7,8 +7,8 @@ use App\Classes\Exceptions\MalformedRequestException; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Jobs\Commands\V2\ProcessPaymentReportV2CommandJob; use App\Classes\Jobs\Commands\V2\ProcessSalesInvoiceReportV2CommandJob; -use App\Classes\Modules\Accounts\Services\CreatesKeyValuePair; -use App\Classes\Modules\Accounts\Services\UpdatesKeyValuePair; +use App\Classes\Modules\Settings\Services\CreatesKeyValuePair; +use App\Classes\Modules\Settings\Services\UpdatesKeyValuePair; use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject; use App\Classes\Modules\Accounts\DataTransferObjects\KeyValuePairObject; use App\Classes\Modules\Imports\Services\AutoCountDataImport; diff --git a/app/Classes/Modules/Accounts/Services/CreatesKeyValuePair.php b/app/Classes/Modules/Settings/Services/CreatesKeyValuePair.php similarity index 68% rename from app/Classes/Modules/Accounts/Services/CreatesKeyValuePair.php rename to app/Classes/Modules/Settings/Services/CreatesKeyValuePair.php index 6634bed2..2dbcfc26 100644 --- a/app/Classes/Modules/Accounts/Services/CreatesKeyValuePair.php +++ b/app/Classes/Modules/Settings/Services/CreatesKeyValuePair.php @@ -1,6 +1,6 @@ key = $object->getKey(); $model->value = $object->getValue(); - return $this->handler($kv->attributesKVP(), $model); + // Owner-less + if (is_null($kv)) { + $model->owner_type = null; + $model->owner_id = null; + $model->save(); + return $model; + } + return $this->handler($kv->attributesKVP(), $model); } } diff --git a/app/Classes/Modules/Accounts/Services/UpdatesKeyValuePair.php b/app/Classes/Modules/Settings/Services/UpdatesKeyValuePair.php similarity index 92% rename from app/Classes/Modules/Accounts/Services/UpdatesKeyValuePair.php rename to app/Classes/Modules/Settings/Services/UpdatesKeyValuePair.php index 0a800d79..7bbebf6d 100644 --- a/app/Classes/Modules/Accounts/Services/UpdatesKeyValuePair.php +++ b/app/Classes/Modules/Settings/Services/UpdatesKeyValuePair.php @@ -1,6 +1,6 @@