hasRole('admin') ? true : null; } public function viewAny(User $user): bool { return $user->can('view_campaigns'); } public function view(User $user, Campaign $campaign): bool { return AccessControl::canAccessCampaign($user, $campaign); } public function create(User $user): bool { return $user->can('manage_campaigns'); } public function update(User $user, Campaign $campaign): bool { return AccessControl::canAccessCampaign($user, $campaign) && $user->can('manage_campaigns'); } public function delete(User $user, Campaign $campaign): bool { return $this->update($user, $campaign); } }