Configura los equipos
Las claves de configuración y las variables de entorno que agrega la capa de equipos, con lo que cambia cada una.
La capa de equipos se configura con un puñado de claves encima de las de la base. Todo lo de abajo tiene un valor predeterminado que funciona: cambia una clave sólo cuando tu producto necesite el otro comportamiento. Las claves propias de la base están documentadas en su sitio, en El archivo de entorno y Configura tu proyecto.
Variables de entorno
| Variable | Predeterminado | Qué hace |
|---|---|---|
APP_ENABLE_MULTI_TEAMS |
true |
Si una persona puede crear y pertenecer a varios equipos. Con false el selector se omite y la persona va a su único equipo. |
TEAM_INVITATION_MODE |
approval_required |
Qué pasa cuando se agrega un miembro que no tiene cuenta: approval_required lo invita a registrarse, auto_provision crea la cuenta. Ve Miembros e invitaciones. |
BILLING_TEAM_ENABLED |
true |
Registra el adaptador de cobros por equipo, para que los planes y los complementos se asocien al equipo. |
BILLING_USER_ENABLED |
false |
Registra el adaptador de cobros por usuario de la base junto al del equipo, para un producto que le vende a personas y a equipos. Ve Planes y cobros del equipo. |
Los FEATURE_PLANS_ENABLED y FEATURE_ADDONS_ENABLED de la base siguen decidiendo si los planes y los complementos existen siquiera.
config/app.php
'home_route' => '/app',
'enable_multi_teams' => env('APP_ENABLE_MULTI_TEAMS', true),
'permissions' => [
'dashboard admin' => 'web',
'dashboard user' => 'web',
'retrieve members' => 'team',
'create members' => 'team',
'update members' => 'team',
'delete members' => 'team',
'edit settings' => 'team',
'manage plans' => 'team',
],
'team_owner_role' => 'administrator',
'team_default_role' => 'user',
'team_roles' => [
'user' => [
'retrieve members',
],
],
| Clave | Qué hace |
|---|---|
home_route |
A dónde llega una persona con sesión iniciada: el selector de equipos. La base lo apunta a su propio tablero. |
enable_multi_teams |
Se lee de APP_ENABLE_MULTI_TEAMS, arriba. |
permissions |
Cada permiso, con su guard. Los seis del guard team son los que revisan las pantallas incluidas; agrega los tuyos aquí con 'team' como guard y siembra. |
team_owner_role |
El nombre del rol que se crea en cada equipo con todos los permisos de equipo, asignado a quien lo creó. |
team_default_role |
El rol que recibe cada miembro agregado después. Debe ser una de las claves de team_roles. |
team_roles |
Los roles que se crean dentro de cada equipo nuevo, cada uno con los permisos con los que empieza. |
Ve Roles y permisos del equipo para saber cómo juegan juntos estos tres.
config/teams.php
'invitation_mode' => env('TEAM_INVITATION_MODE', 'approval_required'),
La única clave que tiene el archivo, leída de la variable de arriba.
config/permission.php
'teams' => true,
'column_names' => [
'team_foreign_key' => 'team_id',
],
El modo de equipos de Spatie Permission, ya encendido. team_id es la columna que las migraciones del kit agregan a roles, model_has_roles y model_has_permissions, y el valor 0 en ella significa el contexto global del panel de administración. Deja ambas como están a menos que renombres la columna, en cuyo caso renómbrala también en las migraciones.
packages/billing-team/config/billing-team.php
'enabled' => env('BILLING_TEAM_ENABLED', true),
'model' => App\Models\Team::class,
'owner_resolver' => null,
'plan_limits' => App\Classes\TeamPlanLimits::class,
'plan_features' => App\Classes\TeamPlanFeatures::class,
'user_billing_enabled' => env('BILLING_USER_ENABLED', false),
| Clave | Qué hace |
|---|---|
enabled |
Se lee de BILLING_TEAM_ENABLED. |
model |
El modelo dueño de una cuenta de cobros: el equipo. |
owner_resolver |
Una clase que responde a qué equipo se le cobra en la petición actual. null usa el helper team(), que es lo correcto para cada pantalla bajo /team. |
plan_limits |
La clase cuyos métodos públicos cuentan cada límite para un equipo. |
plan_features |
La clase cuyos métodos públicos declaran las capacidades que un equipo puede comprar. |
user_billing_enabled |
Se lee de BILLING_USER_ENABLED. |
Qué se queda como en la base
Las identidades de inicio de sesión, la verificación, el correo, los SMS, el almacenamiento, el proveedor de IA, el seguimiento, los referidos y el sitio público conservan las claves y el significado de la base. Nada de un equipo cambia cómo una persona inicia sesión ni en qué idioma lee.