Kým je events.enabled nastavené na true (predvolene), balík odosiela tieto eventy. Každý nesie dotknuté Connection:
use RoundlyConsulting\Connections\Events\ConnectionCreated;
use RoundlyConsulting\Connections\Events\ConnectionUpdated;
use RoundlyConsulting\Connections\Events\ConnectionRemoved;
use RoundlyConsulting\Connections\Events\ConnectionPermissionsChanged;
use RoundlyConsulting\Connections\Events\ConnectionInvited; // a pending connection was created
use RoundlyConsulting\Connections\Events\ConnectionAccepted; // status → accepted
use RoundlyConsulting\Connections\Events\ConnectionBlocked; // status → blocked
use RoundlyConsulting\Connections\Events\ConnectionRestored; // a soft-deleted link was restored
use RoundlyConsulting\Connections\Events\ConnectionExpiring; // dispatched by notify-expiring| Event | Kedy sa spustí | Dáta |
|---|---|---|
ConnectionCreated | Vznikne nové prepojenie alebo sa soft-deleted dvojica oživí nanovo — connect, invite, grant/sync nad chýbajúcou dvojicou, hromadné a sync pripojenia. | $connection |
ConnectionUpdated | connect() zmení existujúcu dvojicu alebo extend() zmení expiráciu. | $connection |
ConnectionRemoved | disconnect(), disconnectAll() alebo odpojenie pri sync vykoná soft delete. | $connection |
ConnectionPermissionsChanged | grant, revoke, sync alebo clear skutočne zmení existujúcu sadu. | $connection, $previous, $current |
ConnectionInvited | Vznikne nové prepojenie v stave pending. | $connection |
ConnectionAccepted | Stav sa zmení na accepted. | $connection |
ConnectionBlocked | Stav sa zmení na blocked. | $connection |
ConnectionRestored | reconnect() / restore() / reconnectTo() obnoví soft-deleted riadok, alebo connect() obnoví soft-deleted zablokovanú dvojicu stále zablokovanú. | $connection |
ConnectionExpiring | Beh connections:notify-expiring — jeden event pre každý riadok Connections::expiring($days). | $connection, $daysUntilExpiry |
Eventy využite na audit a notifikácie — balík nemá vlastnú auditnú tabuľku. Napríklad listenery, ktoré zapíšu prijatie a rozdiel v oprávneniach:
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Connections\Events\ConnectionAccepted;
use RoundlyConsulting\Connections\Events\ConnectionPermissionsChanged;
// In a service provider's boot() method.
Event::listen(function (ConnectionAccepted $event): void {
logger()->info('Connection accepted', ['connection' => $event->connection->id]);
});
Event::listen(function (ConnectionPermissionsChanged $event): void {
$added = array_diff($event->current, $event->previous);
$removed = array_diff($event->previous, $event->current);
// write $added / $removed to your own audit log
});- connections:prune soft-deletuje expirované riadky jediným dopytom, preto nespúšťa žiadne ConnectionRemoved.
- Hromadné slovesá aj syncConnections() spúšťajú event pre každé dotknuté prepojenie zvlášť.
- Nastavením events.enabled na false vypnete všetky eventy balíka vrátane ConnectionExpiring.
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 kryptomienOdoslaní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.