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

Prepínanie a obnova

disconnect() prepojenie soft-deletuje a spustí ConnectionRemoved; ak prepojenie neexistuje, vyhodí ConnectionNotFound. Zmazaný riadok si ponechá miesto v unikátnom indexe dvojice, preto sa odpojená dvojica vždy oživí na mieste — nikdy sa nevloží druhýkrát:

Connections::between($user, $team)->disconnect();   // soft delete, fires ConnectionRemoved
$user->disconnectFrom($team);                        // the trait equivalent

Toggle, reconnect a restore

// Disconnect an active connection, otherwise connect — as often as you like. Over a pending,
// blocked or expired row the "connect" keeps that status and expiry (it never lifts a block
// or renews an expiry — use accept() / extend() for that).
Connections::between($user, $team)->toggle();   // ?Connection
$user->toggleConnection($team);

// Restore a previously soft-deleted connection with the permissions, expiry and meta it had
// (connect() would start it fresh), firing ConnectionRestored — or connect afresh if none trashed.
Connections::between($user, $team)->reconnect();
Connections::between($user, $team)->restore();  // alias
$user->reconnectTo($team);
  • toggle() aktívne prepojenie odpojí a vráti null; inak prepojí a vráti Connection — a to ľubovoľne veľakrát. toggleConnection() je metóda traitu a prijíma aj oprávnenia.
  • Kontrola aktívneho prepojenia sa riadi enforce_active_on_check, takže prepojenie v stave pending, blocked alebo po expirácii sa počíta ako neprepojené. toggle() ho potom prepojí, ale stav aj expiráciu ponechá — blokovanie nezruší a expiráciu neobnoví; na to slúžia accept() a extend().
  • Opätovné zapnutie dvojice po vypnutí cez toggle oživí soft-deleted riadok ako nové prepojenie.
  • reconnect() obnoví soft-deleted riadok s oprávneniami, expiráciou a meta, ktoré mal, a spustí ConnectionRestored. Ak nie je čo obnoviť, vytvorí nové prepojenie a spustí ConnectionCreated. restore() je alias; reconnectTo() je metóda traitu.

Obnoviť, alebo začať nanovo

Po disconnect() alebo upratovaní si vyberiete, ako sa dvojica vráti: reconnect() obnoví pôvodné prepojenie, connect() — rovnako ako grant(), permissions()->sync(), invite(), toggle() a sync() — oživí riadok ako nové prepojenie len s tým, čo pripravíte, a s predvolenými hodnotami z konfigurácie. Zablokovaná dvojica zostane v oboch prípadoch zablokovaná:

Connections::between($user, $team)->disconnect();

// Restore it as it was — permissions, expiry and meta (ConnectionRestored).
Connections::between($user, $team)->reconnect();

// Or start over: connect() revives the soft-deleted row as a fresh connection (ConnectionCreated),
// with what you stage plus the config defaults — a blocked pair is restored still blocked.
Connections::between($user, $team)->withPermissions('view')->connect();

Obnovené tak, ako bolo

Obnovené prepojenie sa vráti presne v pôvodnej podobe — vrátane oprávnení, stavu, meta aj expirácie. Obnoviť môžete aj prepojenia, ktoré upratal connections:prune, ich expirácia je však stále v minulosti, preto ju predĺžte:

Connections::between($user, $team)->disconnect();

// Later — bring the same connection back, then renew a lapsed expiry.
Connections::between($user, $team)->reconnect();
Connections::between($user, $team)->extend(now()->addMonth());

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.