2021-06-26 23:23:15 +08:00
|
|
|
<?php
|
|
|
|
|
2023-05-18 00:56:55 +08:00
|
|
|
namespace BookStack\Permissions\Models;
|
2018-09-25 19:30:50 +08:00
|
|
|
|
2023-05-18 00:56:55 +08:00
|
|
|
use BookStack\App\Model;
|
|
|
|
use BookStack\Users\Models\Role;
|
2021-11-20 22:03:56 +08:00
|
|
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
2015-08-29 22:03:42 +08:00
|
|
|
|
2020-08-04 21:55:01 +08:00
|
|
|
/**
|
|
|
|
* @property int $id
|
2023-02-18 21:51:18 +08:00
|
|
|
* @property string $name
|
|
|
|
* @property string $display_name
|
2020-08-04 21:55:01 +08:00
|
|
|
*/
|
2016-05-02 04:20:50 +08:00
|
|
|
class RolePermission extends Model
|
2015-08-29 22:03:42 +08:00
|
|
|
{
|
|
|
|
/**
|
|
|
|
* The roles that belong to the permission.
|
|
|
|
*/
|
2021-11-20 22:03:56 +08:00
|
|
|
public function roles(): BelongsToMany
|
2015-08-29 22:03:42 +08:00
|
|
|
{
|
2018-01-29 00:58:52 +08:00
|
|
|
return $this->belongsToMany(Role::class, 'permission_role', 'permission_id', 'role_id');
|
2015-08-29 22:03:42 +08:00
|
|
|
}
|
2016-02-28 03:24:42 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the permission object by name.
|
|
|
|
*/
|
2021-11-20 22:03:56 +08:00
|
|
|
public static function getByName(string $name): ?RolePermission
|
2016-02-28 03:24:42 +08:00
|
|
|
{
|
|
|
|
return static::where('name', '=', $name)->first();
|
|
|
|
}
|
2015-08-29 22:03:42 +08:00
|
|
|
}
|