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

Open source

Teams for Laravel

Inštalácia
composer require roundly-consulting/teams-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľad

Tímy, roly, oprávnenia a pozvánky pre Laravel. Akýkoľvek Eloquent model môže tímy vlastniť aj byť ich členom; členovia majú rolu, roly majú oprávnenia a tímy vydávajú pozvánky s expiráciou na konkrétny e-mail alebo prijímajú žiadosti o pripojenie. Prehľadná fasáda Teams s handlami pre jednotlivé tímy zvládne bežné operácie na jednom riadku, každá operácia je testovateľná akčná trieda a autorizácia beží cez Gate a Blade priamo v Laraveli. Licencia MIT a minimum závislostí — Laravel a niekoľko malých sesterských balíkov Roundly, ktoré Composer nainštaluje za vás.

Čo získate

Tímy, členovia a vlastníctvo

Akýkoľvek Eloquent model môže vlastniť viacero tímov a byť ich členom. Pri prevode vlastníctva zostáva pôvodný vlastník v tíme ako admin.

Roly, aj pre konkrétny tím

Roly registrujte v kóde alebo v databáze s voliteľnou cache — a Editor v jednom tíme môže mať viac práv ako v inom.

Fasáda, DI alebo akcie

Handle Teams::for($team) pokryje každú operáciu — alebo si injektujte TeamsManager či volajte akcie. Teams::fake() všetko zaznamená.

Natívny Gate a Blade

$user->can('teams.<oprávnenie>', $team), vstavaná ability pre vlastníka a direktívy @teamPermission, @teamRole a @teamOwner.

Pozvánky pre viacerých

Pozvánky s expiráciou, na konkrétny e-mail, jednorazové aj viacnásobné — s evidenciou miest, opätovným odoslaním, zrušením a prijatím cez kód.

Žiadosti o pripojenie a nastavenia

Používatelia žiadajú o vstup, admini rozhodujú. Pravidlá vstupu, limit miest a voliteľné schvaľovanie viacerými adminmi pre každý tím.

Časovo obmedzené členstvo

Nastavte členstvu dátum konca, zistite, komu čoskoro vyprší, a expirované členstvá plánovane odstráňte.

Dokumentácia

Inštalácia

Inštalácia cez Composer, publikovanie a spustenie migrácií teams aj piatich sesterských balíkov, voliteľne konfigurácia a stuby.

Konfigurácia

Každý konfiguračný kľúč a jeho predvolená hodnota — modely, typ morph kľúča, driver a cache rolí, životný cyklus pozvánok a členstiev, Gate.

Traity modelov

HasTeams dá ľubovoľnému modelu členstvá, vlastníctvo, roly a oprávnenia; BelongsToTeam pridá prepínateľný aktuálny tím.

Fasáda Teams

Jeden vstupný bod: handle Teams::for($team) pre členov, pozvánky, žiadosti a roly, plus globálne roly, oprávnenia a upratovanie.

DI, akcie a DTO

Namiesto fasády si injektujte TeamsManager, alebo volajte 17 samostatných akcií s typovanými DTO z vlastných jobov a príkazov.

Vytváranie tímov

Vytvorte tím a jeho vlastníka cez Teams::create(), v prípade potreby vytvárajte riadky priamo a filtrujte tímy cez scopes a relácie.

Vlastníctvo

Overujte a prevádzajte vlastníctvo tímu; pôvodný vlastník zostáva ako admin a vstavaná ability nahrádza oprávnenia len pre vlastníka.

Členovia

Pridávajte, odoberajte a overujte členov; jeden riadok na člena, idempotentné pridanie s obnovou odobratých, udalosti pri zmene roly a soft delete.

Časovo obmedzené členstvo

Nastavte členom dátum konca, predlžujte na mieste, zistite, komu čoskoro vyprší, s voliteľnými pripomienkami a expirované riadky odstráňte.

Roly

Registrujte roly s oprávneniami v kóde alebo v databáze, používajte zástupný znak * a zapnite cache pre databázový driver.

Roly pre konkrétny tím

Každý tím si môže upraviť oprávnenia roly nad globálnymi rolami — pre každého tenanta zvlášť, predvolene vypnuté, bez dopytov navyše.

Oprávnenia

Register oprávnení pre výberové UI so skupinami a zberom z rolí, plus programové overovanie oprávnení a rolí.

Gate, Blade a policies

Autorizujte cez $user->can('teams.<oprávnenie>', $team), @teamPermission / @teamRole / @teamOwner a vygenerované tímové policies.

Pozvánky

Vydávajte pozvánky s expiráciou aj na konkrétny e-mail, prijímajte ich cez kód, posielajte znova či rušte a napojte hotovú routu.

Pozvánky pre viacerých

Vydávajte odkazy použiteľné N-krát alebo bez limitu, sledujte obsadené a voľné miesta a presne auditujte, kto sa cez odkaz pridal.

Žiadosti o pripojenie

Používatelia žiadajú o vstup do tímu, admini schvaľujú alebo zamietajú s náhradnou rolou; voliteľné termíny a automatické zamietnutie.

Nastavenia tímu

Typované pravidlá pre každý tím: pravidlo vstupu, limit miest, predvolená rola a povinné schválenie, uložené cez options-for-laravel.

Integrácie

Schvaľovanie žiadostí viacerými adminmi cez approvals, plus kontakty, adresy a prepojenia tímov zo sesterských balíkov Roundly.

Udalosti

Štrnásť udalostí pokrýva členov, pozvánky, vlastníctvo, žiadosti a expiráciu — plus stub subscribera na notifikácie cez frontu.

Artisan príkazy

Osem príkazov vypíše roly a oprávnenia, pošle znova a vyčistí pozvánky, reportuje a čistí členstvá, zamieta žiadosti a generuje policies.

Výnimky

Typované výnimky pre pozvánky, žiadosti a členov — vypršané, vyčerpané, zrušené, už vybavené — všetky odvodené od TeamsException.

Modely a schéma

Šesť tabuliek a modelov, nahradenie modelov vlastnými podtriedami a výmena role providera.

Testovanie

Teams::fake() zaznamená každú operáciu a pritom ju vykoná, s aserciou pre každú operáciu; Pest matchery a factories skracujú testy.

Požiadavky

PHP 8.4+, Laravel 12 alebo 13 a sedem malých sesterských balíkov Roundly, ktoré Composer nainštaluje za vás.

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.