role, ['superuser', 'manager']); } /** * Determine whether the user can update the model. */ public function update(User $user, TeamMember $teamMember): bool { // Only superusers and managers can update team members return in_array($user->role, ['superuser', 'manager']); } /** * Determine whether the user can delete the model. */ public function delete(User $user, TeamMember $teamMember): bool { // Only superusers and managers can delete team members return in_array($user->role, ['superuser', 'manager']); } /** * Determine whether the user can restore the model. */ public function restore(User $user, TeamMember $teamMember): bool { // Only superusers and managers can restore team members return in_array($user->role, ['superuser', 'manager']); } /** * Determine whether the user can permanently delete the model. */ public function forceDelete(User $user, TeamMember $teamMember): bool { // Only superusers can force delete team members return $user->role === 'superuser'; } }