---
title: "Roly pre konkrétny tím — Teams for Laravel | Roundly"
description: "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."
url: https://roundly-consulting.com/sk/open-source/navody/teams-for-laravel/roly-pre-konkretny-tim
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Teams for Laravel](https://roundly-consulting.com/sk/open-source/navody/teams-for-laravel.md)

# Roly pre konkrétny tím

Zapnite roles.per\_team a každý tím sa môže odchýliť od globálnych rolí — Editor jedného tenanta tak môže mať viac práv ako u iného. Úprava pre dvojicu (tím, kľúč) má prednosť pred globálnou definíciou; ostatné kľúče sa načítajú z globálnych rolí. Keď je prepínač vypnutý, rola sa načíta priamo z globálneho providera bez dopytov navyše:

```php
// .env → TEAMS_PER_TEAM_ROLES=true
Teams::roles()->register('editor', 'Editor', ['posts.edit']);   // global baseline

Teams::for($team)->roles()->define(
    'editor',
    'Senior Editor',
    ['posts.edit', 'posts.publish'],
    'Editor with publishing rights for this workspace',
);
// or: $team->defineRole('editor', 'Senior Editor', ['posts.edit', 'posts.publish']);

$user->can('teams.posts.publish', $team);     // true for THIS team only
Teams::for($team)->roles()->all();            // effective map — global roles merged with overrides
Teams::for($team)->roles()->find('editor');   // ?Role — the override when one exists
```

roles()->define() vytvorí alebo aktualizuje riadok team\_role\_overrides podľa (team\_id, key) — opätovným volaním úpravu zmeníte; mäkko zmazaná úprava sa obnoví a nanovo definuje. Oprávnenia môžu byť reťazce aj objekty Permission; ukladajú sa len ich kľúče.

## Načítanie rolí pre tím

```php
use RoundlyConsulting\Teams\Roles\TeamRoleResolver;

$resolver = app(TeamRoleResolver::class);

$resolver->resolve($team, 'editor');   // ?Role — the team's override if any, else the global role
$resolver->all($team);                 // array<string, Role>

$team->teamRoles()->where('key', 'editor')->first()?->toRole();   // one override as a Role
```

Member::role() ide cez resolver, len kým je per\_team zapnuté — pri vypnutom sa úpravy ignorujú, aj keď riadky existujú. TeamRoleResolver je singleton v kontajneri, ktorý môžete nahradiť.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/teams-for-laravel.md)
