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

Vytváranie tímov

Tím vytvoríte z DTO CreateTeamData cez fasádu — tá pridá vlastníka a Teams::fake() volanie zaznamená:

use RoundlyConsulting\Teams\DataTransferObjects\CreateTeamData;
use RoundlyConsulting\Teams\Facades\Teams;

$team = Teams::create(new CreateTeamData(
    name: 'Acme Inc',
    isPublic: false,           // default false
    owner: $user,              // default null — added as a member with the owner role
    meta: ['plan' => 'pro'],   // default []
));

Ak zadáte vlastníka, tím dostane jeho morph a vlastník sa pridá ako člen s rolou roles.owner (predvolene owner). Bez vlastníka tím nemá vlastníka ani žiadneho úvodného člena. Všetko po vytvorení ide cez Teams::for($team) — pozrite Fasáda Teams.

Priame vytvorenie tímu

Team je bežný Eloquent model, takže funguje aj Team::create() — vytvorí však len riadok, bez vlastníka ako člena:

use RoundlyConsulting\Teams\Models\Team;

$team = Team::create([
    'name' => 'Acme Design',
    'is_public' => false,
    'meta' => ['pricing' => 'per_member'],
]);

// Scopes
Team::query()->public()->get();            // only public teams
Team::query()->withMember($user)->get();   // teams the model belongs to

Relácie tímu

$team->members();        // HasMany<Member>
$team->invites();        // HasMany<Invite>
$team->joinRequests();   // HasMany<JoinRequest>
$team->teamRoles();      // HasMany<TeamRole> — per-team role overrides
$team->owner();          // MorphTo — the owning model (nullable)

$team->name;             // string
$team->is_public;        // bool
$team->meta;             // Collection, cast from JSON

Vyhľadávanie cez fasádu

Teams::roles()->find('admin');   // ?Role
Teams::roles()->all();           // array<string, Role>
Teams::permissions()->all();     // array<string, Permission>

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.