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

Publikovaný config/permissions.php v plnom znení:

return [
    'models' => [
        'role' => RoundlyConsulting\Permissions\Models\Role::class,
        'permission' => RoundlyConsulting\Permissions\Models\Permission::class,
    ],

    'table_names' => [
        'roles' => 'roles',
        'permissions' => 'permissions',
        'permission_role' => 'permission_role',
        'model_roles' => 'model_roles',
        'model_permissions' => 'model_permissions',
    ],

    'key_type' => env('PERMISSIONS_KEY_TYPE', 'bigint'),

    'register_gate_check' => true,

    'description_fallback' => env('PERMISSIONS_DESCRIPTION_FALLBACK', RoundlyConsulting\Translatable\Enums\FallbackMode::Fallback),

    'cache' => [
        'store' => env('PERMISSIONS_CACHE_STORE', 'default'),
        'key' => 'permissions.cache',
        'ttl' => env('PERMISSIONS_CACHE_TTL', 300), // seconds (at least 1)
    ],
];

Všetky kľúče

KľúčPredvolenéEnvÚčel
models.roleRole::class—Model roly; nahraďte ho podtriedou, ak ho chcete rozšíriť. Čokoľvek iné vyhodí InvalidConfigurationException.
models.permissionPermission::class—Model oprávnenia; nahraďte ho podtriedou. Čokoľvek iné vyhodí InvalidConfigurationException.
table_names.rolesroles—Tabuľka rolí.
table_names.permissionspermissions—Tabuľka oprávnení.
table_names.permission_rolepermission_role—Pivot rola ↔ oprávnenie.
table_names.model_rolesmodel_roles—Polymorfný pivot držiteľ ↔ rola.
table_names.model_permissionsmodel_permissions—Polymorfný pivot držiteľ ↔ oprávnenie.
key_typebigintPERMISSIONS_KEY_TYPETyp kľúča držiteľov — bigint, uuid alebo ulid. Určuje typ model_id; nastavte ho pred migráciou. Nenastavená alebo prázdna hodnota znamená bigint; akákoľvek iná hodnota vyhodí InvalidConfigurationException.
register_gate_checktrue—Zaregistruje hook Gate::before, aby can:<oprávnenie> fungovalo. Prijíma true/false, 1/0, on/off, yes/no; prázdna hodnota sa považuje za nenastavenú, takže platí true; čokoľvek iné vyhodí pri štarte InvalidConfigurationException.
description_fallbackFallbackPERMISSIONS_DESCRIPTION_FALLBACKAko sa preložiteľný popis vracia na iný jazyk — Fallback, None alebo Any. Prípad enumu alebo jeho reťazcová hodnota (fallback, none, any); prázdna hodnota sa považuje za nenastavenú, takže platí Fallback; neznáma hodnota vyhodí InvalidConfigurationException, namiesto toho, aby sa prečítala ako Fallback.
cache.storedefaultPERMISSIONS_CACHE_STORECache úložisko pre katalóg; default — alebo prázdna hodnota, ktorá sa považuje za nenastavenú — použije predvolené úložisko aplikácie. Hodnota, ktorá nie je reťazcom, vyhodí výnimku.
cache.keypermissions.cache—Kľúč katalógu v cache. Prázdna hodnota sa považuje za nenastavenú, takže platí predvolená; hodnota, ktorá nie je reťazcom, vyhodí výnimku.
cache.ttl300PERMISSIONS_CACHE_TTLŽivotnosť katalógu v sekundách, aspoň 1 — zámerne krátka, ohraničí vynechanú invalidáciu. int alebo kanonický celočíselný reťazec; prázdna hodnota sa považuje za nenastavenú, takže platí 300; „five“, „1.5“ či 0 vyhodí InvalidConfigurationException.

Balík nepozná guardy — nemá stĺpec guard_name, konfiguračný kľúč ani parameter. Je zámerne navrhnutý pre jeden guard.

Prostredie (env)

Kľúče, ktoré sa líšia podľa nasadenia, sa nastavujú cez env:

# bigint | uuid | ulid — set before you publish and run the migrations
PERMISSIONS_KEY_TYPE=bigint

# fallback | none | any
PERMISSIONS_DESCRIPTION_FALLBACK=fallback

# "default" uses the app's default cache store
PERMISSIONS_CACHE_STORE=default
PERMISSIONS_CACHE_TTL=300

table_names a key_type nastavte pred migráciou — oba sa čítajú pri spustení migrácií a názvy stĺpcov sú pevné. Prázdny názov tabuľky sa považuje za nenastavený, takže platí jeho predvolená hodnota; názov, ktorý nie je reťazcom, vyhodí InvalidConfigurationException.

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.