Initial commit

This commit is contained in:
Ronald Huynen
2026-03-23 21:37:59 +01:00
commit 2547717edb
2193 changed files with 972171 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Observers;
use App\Models\Transaction;
use App\Services\CallCreditService;
class TransactionObserver
{
/**
* After a transaction is created, check if the spending profile
* still has sufficient credits. If not, pause all their active calls.
*/
public function created(Transaction $transaction): void
{
$fromAccount = $transaction->accountFrom;
if (!$fromAccount) {
return;
}
$accountable = $fromAccount->accountable;
if (!$accountable) {
return;
}
$profileType = get_class($accountable);
$profileId = $accountable->id;
if (!CallCreditService::profileHasCredits($profileType, $profileId)) {
CallCreditService::pauseAllActiveCalls($profileType, $profileId);
}
}
}