where('scope_type', AdminRole::SCOPE_SYSTEM) ->orderBy('sort_order') ->orderBy('id') ->get(); $userCounts = AdminRoleUserCounts::forRoleIds($roles->pluck('id')); return ApiResponse::success([ 'items' => $roles->map( static fn (AdminRole $role): array => AdminRoleApiPresenter::item( $role, $userCounts[(int) $role->id] ?? null, ) )->values()->all(), ]); } }