diff --git a/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php index d47f5530..ab829f5f 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php @@ -7,8 +7,12 @@ use App\Classes\Modules\Transactions\Services\FetchesGroup; use App\Classes\Modules\Transactions\Services\DeletesTransaction; use App\Classes\Modules\Transactions\Services\DeletesGroup; use App\Classes\Modules\Transactions\Services\UpdatesTransactionStatus; +use App\Classes\ValueObjects\Constants\ApprovalStatus; +use App\Classes\ValueObjects\Constants\TransactionType; +use App\Models\Transaction; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Log; class DeleteGroupLogic extends AbstractControllerLogic { @@ -48,7 +52,7 @@ class DeleteGroupLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { - ini_set('memory_limit', '-1'); + ini_set('memory_limit', '-1'); $group = $this->fetchesGroup->execute(['id' => $request->route('id')]); @@ -59,7 +63,12 @@ class DeleteGroupLogic extends AbstractControllerLogic $this->deletesGroup->execute($group); + $topUpTransaction = Transaction::where('payment_reference', $group->reference)->first(); + if($topUpTransaction && $topUpTransaction->type === TransactionType::TOP_UP && $topUpTransaction->status !== ApprovalStatus::APPROVED && $topUpTransaction->status !== ApprovalStatus::COMPLETED){ + $topUpTransaction->delete(); + } + return $this->response([]); } -} \ No newline at end of file +}