CRM/backend/app/Policies/UserPolicy.php

34 خطوط
836 B
PHP

<?php
namespace App\Policies;
use App\Models\User;
class UserPolicy
{
public function viewAny(User $user): bool
{
return $user->hasRole('admin') || $user->can('manage_users');
}
public function view(User $user, User $target): bool
{
return $user->id === $target->id || $user->hasRole('admin') || $user->can('manage_users');
}
public function create(User $user): bool
{
return $user->hasRole('admin') || $user->can('manage_users');
}
public function update(User $user, User $target): bool
{
return ($user->hasRole('admin') || $user->can('manage_users')) && $target->exists;
}
public function delete(User $user, User $target): bool
{
return ($user->hasRole('admin') || $user->can('manage_users')) && $user->id !== $target->id;
}
}