vernova/app/Policies/DocumentPolicy.php
2026-07-26 19:58:27 +03:30

41 lines
1.1 KiB
PHP

<?php
namespace App\Policies;
use App\Models\User;
use App\Models\Document;
use Illuminate\Auth\Access\HandlesAuthorization;
class DocumentPolicy
{
use HandlesAuthorization;
public function viewAny(User $user): bool
{
return $user->can('documents.view') || $user->can('documents.manage');
}
public function view(User $user, Document $document): bool
{
return $user->tenant_id === $document->tenant_id
&& ($user->can('documents.view') || $user->can('documents.manage'));
}
public function create(User $user): bool
{
return $user->can('documents.create') || $user->can('documents.manage');
}
public function update(User $user, Document $document): bool
{
return $user->tenant_id === $document->tenant_id
&& ($user->can('documents.update') || $user->can('documents.manage'));
}
public function delete(User $user, Document $document): bool
{
return $user->tenant_id === $document->tenant_id
&& ($user->can('documents.delete') || $user->can('documents.manage'));
}
}