vernova/ItemPolicy.php
Kazem Alghasi b6b2057df2
Some checks failed
Tests / PHP ${{ matrix.php }} (8.2) (push) Has been cancelled
Tests / PHP ${{ matrix.php }} (8.3) (push) Has been cancelled
اولین کامیت پروژه vernova
2026-07-26 19:58:27 +03:30

64 lines
1.7 KiB
PHP

<?php
namespace App\Policies;
use App\Models\User;
use App\Models\Item;
class ItemPolicy
{
/**
* Determine whether the user can view any items.
*/
public function viewAny(User $user): bool
{
return $user->tenant_id === session('tenant_id')
&& ($user->hasRole('admin')
|| $user->hasRole('manager')
|| $user->hasPermissionTo('manage inventory'));
}
/**
* Determine whether the user can view the item.
*/
public function view(User $user, Item $item): bool
{
return $user->tenant_id === $item->tenant_id
&& ($user->hasRole('admin')
|| $user->hasRole('manager')
|| $user->hasPermissionTo('manage inventory'));
}
/**
* Determine whether the user can create items.
*/
public function create(User $user): bool
{
return $user->tenant_id === session('tenant_id')
&& ($user->hasRole('admin')
|| $user->hasRole('manager')
|| $user->hasPermissionTo('manage inventory'));
}
/**
* Determine whether the user can update the item.
*/
public function update(User $user, Item $item): bool
{
return $user->tenant_id === $item->tenant_id
&& ($user->hasRole('admin')
|| $user->hasRole('manager')
|| $user->hasPermissionTo('manage inventory'));
}
/**
* Determine whether the user can delete the item.
*/
public function delete(User $user, Item $item): bool
{
return $user->tenant_id === $item->tenant_id
&& ($user->hasRole('admin')
|| $user->hasPermissionTo('manage inventory'));
}
}