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

Inštalácia

Pridajte balík, potom publikujte a spustite jeho migrácie — aj migrácie balíkov Roundly, na ktorých stavia. Service provider aj alias fasády Teams sa zaregistrujú automaticky:

composer require roundly-consulting/teams-for-laravel

php artisan vendor:publish --tag="options-migrations"
php artisan vendor:publish --tag="contacts-migrations"
php artisan vendor:publish --tag="addresses-migrations"
php artisan vendor:publish --tag="connections-migrations"
php artisan vendor:publish --tag="approvals-migrations"
php artisan vendor:publish --tag="teams-migrations"
php artisan migrate

Publikovanie je povinné — žiadny z týchto balíkov svoje migrácie sám nenačíta, takže samotné php artisan migrate nevytvorí žiadne tabuľky. Osem migrácií teams sa publikuje s časovou pečiatkou a v poradí závislostí (najprv teams, potom tabuľky s cudzími kľúčmi naň), takže sa správne zoradia aj voči vašim migráciám. Opätovné publikovanie mieri na tie isté súbory, takže --force ich prepíše na mieste. Migrácie idú len dopredu: rollback tabuľky ponechá.

Prečo migrácie sesterských balíkov

Teams číta nastavenia tímu — pravidlo vstupu, limit miest, predvolenú rolu — z options-for-laravel pri každom pridaní člena a každej žiadosti o pripojenie, takže tabuľku options potrebujete už pri prvom Teams::create(). Tabuľky contacts, addresses, connections a approvals stoja za Teams::for($team)->contacts(), ->addresses(), ->connections() a za schvaľovaním žiadostí viacerými adminmi — pozrite Integrácie.

Voliteľné publikovanie

php artisan vendor:publish --tag="teams-config"         # config/teams.php
php artisan vendor:publish --tag="teams-translations"   # error messages
php artisan vendor:publish --tag="teams-stubs"          # controller, routes, subscriber, Pest file
TagPublikujeCieľ
teams-migrationsOsem migrácií (povinné)database/migrations/
teams-configconfig/teams.phpconfig/teams.php
teams-translationsChybové hlášky (angličtina a slovenčina)lang/vendor/teams/
teams-stubsAcceptInviteControllerapp/Http/Controllers/AcceptInviteController.php
teams-stubsRouta na prijatie pozvánkyroutes/teams.php
teams-stubsTeamEventSubscriberapp/Listeners/TeamEventSubscriber.php
teams-stubsRegistrácia Pest matcherovtests/Teams.php

Prechod z verzie 2.0

Každá novinka z 2.x je voliteľná a kým ju nezapnete, nič nemení. Dve z nich potrebujú stĺpec: vnorené tímy čítajú teams.parent_id (0007_add_parent_id_to_teams_table) a dátumy začiatku čítajú team_members.starts_at (0008_add_starts_at_to_team_members_table). Migrácie publikujte znova — už publikované súbory sa preskočia a pribudnú len chýbajúce — a spustite ich skôr, než niektorú z týchto možností zapnete:

php artisan vendor:publish --tag="teams-migrations"   # files published before are skipped
php artisan migrate

Ak ste tímom dali kľúče cez podtriedu Team s HasUlids alebo HasUuids a publikované migrácie ste upravili ručne, nastavte TEAMS_PRIMARY_KEY_TYPE na ten istý typ a spustite php artisan teams:doctor — overí, že nastavenie, model aj vaše stĺpce sa zhodujú. Podtrieda môže zostať aj zmiznúť; pri tímoch s kľúčmi bigint sa nemení nič.

Team::hasMember() a members()->has() sú zastarané v prospech hasActiveMember() a members()->hasActive(), ktoré expirované členstvá ignorujú — pozrite Členovia.

Pred prvým tímom

  • Majú vaši členovia UUID alebo ULID kľúče? Nastavte TEAMS_KEY_TYPE ešte pred migráciou. Majú UUID či ULID kľúče aj samotné tímy? Nastavte aj TEAMS_PRIMARY_KEY_TYPE — pozrite Konfigurácia.
  • Pridajte trait HasTeams na model používateľa — pozrite Traity modelov.
  • Zaregistrujte roly v service provideri vrátane kľúčov owner, admin a member, ktoré balík predvolene prideľuje — pozrite Roly.

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.