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

Každá zmena stavu spustí obyčajnú udalosť v RoundlyConsulting\Teams\Events, takže môžete posielať notifikácie, zapisovať audit či synchronizovať iné systémy bez zásahu do balíka:

UdalosťVlastnostiKedy
TeamMemberAdded$memberVznikne nové členstvo.
TeamMemberRoleChanged$member, $previousRoleZmení sa rola člena.
TeamMemberDeleted$memberČlenstvo sa odstráni (soft delete).
InviteCreated$inviteVytvorí sa pozvánka.
InviteAccepted$invite, $memberPozvánka je prijatá.
InviteResent$invitePozvánke sa vymení kód a predĺži platnosť.
InviteRevoked$invitePozvánka je zrušená.
TeamOwnershipTransferred$team, $previousOwner, $newOwnerVlastníctvo sa prevedie.
JoinRequestCreated$joinRequestPoužívateľ požiada o pripojenie.
JoinRequestApproved$joinRequestŽiadosť je schválená (aj automaticky).
JoinRequestDenied$joinRequestŽiadosť je zamietnutá.
JoinRequestExpired$requestČakajúca žiadosť sa po expirácii automaticky zamietne.
MembershipExpiringSoon$memberČlenstvo vyprší v rámci okna reportu (--notify).
MembershipExpired$memberExpirované členstvo sa odstráni — cez teams:members:prune, Teams::members()->prune() alebo model:prune.

Pozor na názov vlastnosti: JoinRequestExpired nesie $request, ostatné udalosti žiadostí $joinRequest.

use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Teams\Events\InviteAccepted;
use RoundlyConsulting\Teams\Events\TeamMemberRoleChanged;

Event::listen(function (InviteAccepted $event): void {
    logger()->info('Invite accepted', [
        'invite' => $event->invite->id,
        'member' => $event->member->id,
    ]);
});

Event::listen(function (TeamMemberRoleChanged $event): void {
    // $event->member->role is the new role; $event->previousRole the old one
});

Most k notifikáciám

Publikovaním teams-stubs získate App\Listeners\TeamEventSubscriber — subscriber bežiaci cez frontu s handlermi pre TeamMemberAdded, TeamMemberRoleChanged a InviteCreated. Do handlerov doplňte vlastné triedy Notification; beží na notifications.queue_connection, inak na queue.default. Zaregistrujte ho:

// app/Providers/AppServiceProvider.php → boot()
use App\Listeners\TeamEventSubscriber;
use Illuminate\Support\Facades\Event;

Event::subscribe(TeamEventSubscriber::class);

Ak chcete reagovať na ďalšie udalosti, rozšírte jeho mapu subscribe(). Balík dodáva prepojenie, obsah notifikácií je na vašej aplikácii.

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.