name === 'super_admin' && ! $user->hasRole('super_admin')) { return false; } return parent::update($user, $model); } /** * The bootstrapping roles (super_admin, and the role new logins receive) * are structural: deleting one would leave the app unable to onboard or * administer anyone. */ public function delete(User $user, Model $model): bool { if (in_array($model->name, Permissions::protectedRoles(), true)) { return false; } return parent::delete($user, $model); } }