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')); } }