Files
hoshpoint-backend/app/Policies/PermissionPolicy.php

45 lines
917 B
PHP

<?php
namespace App\Policies;
use App\Models\Permission;
use App\Models\User;
class PermissionPolicy
{
public function viewAny(User $user): bool
{
return $this->canManage($user);
}
public function view(User $user, Permission $permission): bool
{
return $this->canManage($user);
}
public function create(User $user): bool
{
return $this->canManage($user);
}
public function update(User $user, Permission $permission): bool
{
return $this->canManage($user);
}
public function delete(User $user, Permission $permission): bool
{
return $this->canManage($user);
}
public function deleteAny(User $user): bool
{
return $this->canManage($user);
}
private function canManage(User $user): bool
{
return $user->hasRole('admin') || $user->hasPermission('permissions.manage');
}
}