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

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
EventKedy sa spustíDáta
ConnectionCreatedVznikne nové prepojenie alebo sa soft-deleted dvojica oživí nanovo — connect, invite, grant/sync nad chýbajúcou dvojicou, hromadné a sync pripojenia.$connection
ConnectionUpdatedconnect() zmení existujúcu dvojicu alebo extend() zmení expiráciu.$connection
ConnectionRemoveddisconnect(), disconnectAll() alebo odpojenie pri sync vykoná soft delete.$connection
ConnectionPermissionsChangedgrant, revoke, sync alebo clear skutočne zmení existujúcu sadu.$connection, $previous, $current
ConnectionInvitedVznikne nové prepojenie v stave pending.$connection
ConnectionAcceptedStav sa zmení na accepted.$connection
ConnectionBlockedStav sa zmení na blocked.$connection
ConnectionRestoredreconnect() / restore() / reconnectTo() obnoví soft-deleted riadok, alebo connect() obnoví soft-deleted zablokovanú dvojicu stále zablokovanú.$connection
ConnectionExpiringBeh 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 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.