Files
kulakpos_web/vendor/spatie/laravel-permission/src/Contracts/Role.php

52 lines
1.2 KiB
PHP
Raw Normal View History

2026-03-30 14:54:57 +07:00
<?php
namespace Spatie\Permission\Contracts;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
2026-04-18 20:32:18 +07:00
use Spatie\Permission\Exceptions\RoleDoesNotExist;
2026-03-30 14:54:57 +07:00
/**
* @property int|string $id
* @property string $name
* @property string|null $guard_name
*
* @mixin \Spatie\Permission\Models\Role
*
* @phpstan-require-extends \Spatie\Permission\Models\Role
*/
interface Role
{
/**
* A role may be given various permissions.
*/
public function permissions(): BelongsToMany;
/**
* Find a role by its name and guard name.
*
*
2026-04-18 20:32:18 +07:00
* @throws RoleDoesNotExist
2026-03-30 14:54:57 +07:00
*/
public static function findByName(string $name, ?string $guardName): self;
/**
* Find a role by its id and guard name.
*
*
2026-04-18 20:32:18 +07:00
* @throws RoleDoesNotExist
2026-03-30 14:54:57 +07:00
*/
public static function findById(int|string $id, ?string $guardName): self;
/**
* Find or create a role by its name and guard name.
*/
public static function findOrCreate(string $name, ?string $guardName): self;
/**
* Determine if the user may perform the given permission.
*
2026-04-18 20:32:18 +07:00
* @param string|int|Permission|\BackedEnum $permission
2026-03-30 14:54:57 +07:00
*/
public function hasPermissionTo($permission, ?string $guardName): bool;
}