/
home
/
techb158
/
ileadtechnology.com
/
SSM
/
vendor
/
spatie
/
laravel-permission
/
src
/
Models
/
/home/techb158/ileadtechnology.com/SSM/vendor/spatie/laravel-permission/src/Models
mkdir
upload
Name
Size
Mode
Actions
Permission.php
4618
0644
edit
dl
rm
Role.php
4868
0644
edit
dl
rm
Edit:
/home/techb158/ileadtechnology.com/SSM/vendor/spatie/laravel-permission/src/Models/Permission.php
(4618B)
<?php namespace Spatie\Permission\Models; use Spatie\Permission\Guard; use Illuminate\Support\Collection; use Spatie\Permission\Traits\HasRoles; use Illuminate\Database\Eloquent\Model; use Spatie\Permission\PermissionRegistrar; use Spatie\Permission\Traits\RefreshesPermissionCache; use Illuminate\Database\Eloquent\Relations\MorphToMany; use Spatie\Permission\Exceptions\PermissionDoesNotExist; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Spatie\Permission\Exceptions\PermissionAlreadyExists; use Spatie\Permission\Contracts\Permission as PermissionContract; class Permission extends Model implements PermissionContract { use HasRoles; use RefreshesPermissionCache; protected $guarded = ['id']; public function __construct(array $attributes = []) { $attributes['guard_name'] = $attributes['guard_name'] ?? config('auth.defaults.guard'); parent::__construct($attributes); $this->setTable(config('permission.table_names.permissions')); } public static function create(array $attributes = []) { $attributes['guard_name'] = $attributes['guard_name'] ?? Guard::getDefaultName(static::class); $permission = static::getPermissions(['name' => $attributes['name'], 'guard_name' => $attributes['guard_name']])->first(); if ($permission) { throw PermissionAlreadyExists::create($attributes['name'], $attributes['guard_name']); } return static::query()->create($attributes); } /** * A permission can be applied to roles. */ public function roles(): BelongsToMany { return $this->belongsToMany( config('permission.models.role'), config('permission.table_names.role_has_permissions'), 'permission_id', 'role_id' ); } /** * A permission belongs to some users of the model associated with its guard. */ public function users(): MorphToMany { return $this->morphedByMany( getModelForGuard($this->attributes['guard_name']), 'model', config('permission.table_names.model_has_permissions'), 'permission_id', config('permission.column_names.model_morph_key') ); } /** * Find a permission by its name (and optionally guardName). * * @param string $name * @param string|null $guardName * * @throws \Spatie\Permission\Exceptions\PermissionDoesNotExist * * @return \Spatie\Permission\Contracts\Permission */ public static function findByName(string $name, $guardName = null): PermissionContract { $guardName = $guardName ?? Guard::getDefaultName(static::class); $permission = static::getPermissions(['name' => $name, 'guard_name' => $guardName])->first(); if (! $permission) { throw PermissionDoesNotExist::create($name, $guardName); } return $permission; } /** * Find a permission by its id (and optionally guardName). * * @param int $id * @param string|null $guardName * * @throws \Spatie\Permission\Exceptions\PermissionDoesNotExist * * @return \Spatie\Permission\Contracts\Permission */ public static function findById(int $id, $guardName = null): PermissionContract { $guardName = $guardName ?? Guard::getDefaultName(static::class); $permission = static::getPermissions(['id' => $id, 'guard_name' => $guardName])->first(); if (! $permission) { throw PermissionDoesNotExist::withId($id, $guardName); } return $permission; } /** * Find or create permission by its name (and optionally guardName). * * @param string $name * @param string|null $guardName * * @return \Spatie\Permission\Contracts\Permission */ public static function findOrCreate(string $name, $guardName = null): PermissionContract { $guardName = $guardName ?? Guard::getDefaultName(static::class); $permission = static::getPermissions(['name' => $name, 'guard_name' => $guardName])->first(); if (! $permission) { return static::query()->create(['name' => $name, 'guard_name' => $guardName]); } return $permission; } /** * Get the current cached permissions. */ protected static function getPermissions(array $params = []): Collection { return app(PermissionRegistrar::class) ->setPermissionClass(static::class) ->getPermissions($params); } }
Save
cmd:
run