NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

RoundlyConsulting\Credits\Events\CreditsModified sa spustí po každej zaznamenanej zmene. Nesie entitu s kreditmi, nový záznam Credit a výsledný zostatok:

use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Credits\Events\CreditsModified;

Event::listen(function (CreditsModified $event): void {
    // $event->creditable, $event->credit, $event->balance
});

Obsah udalosti

final class CreditsModified
{
    use Dispatchable;

    public function __construct(
        public readonly Model&Creditable $creditable,
        public readonly Credit $credit,
        public readonly int $balance,   // the bucket's balance this change produced
    ) {}
}

balance je zostatok skupiny, ktorá sa zmenila — zistíte ju z $event->credit->bucket — nie súčet naprieč skupinami. Je to zostatok, ktorý táto zmena vytvorila, načítaný pod zámkom vlastníka v transakcii zmeny, takže doň nikdy nepresiakne súbežná zmena.

Kedy sa spúšťa

  • Po každom úspešnom zápise — add(), deduct(), modify(), setTo() a ich podobách pre Money na scope, ako aj príslušných metódach traitu — a pre každú entitu, ktorú zmení credits:modify.
  • Nie, keď je setCreditsTo() bez účinku, lebo zostatok už sedí.
  • Nie, keď zmenu odmietne ochrana pred prečerpaním alebo kontrola meny — nič sa nezapísalo.

Listener

Pošlite potvrdenie, aktualizujte dashboard alebo upozornite na nízky zostatok:

use Illuminate\Support\Facades\Log;

Event::listen(function (CreditsModified $event): void {
    Log::info("Balance for {$event->creditable->getKey()} is now {$event->balance}");

    if ($event->credit->amount < 0 && $event->balance < 10) {
        // $event->credit->bucket is running low — notify the owner
    }
});

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.