lotteryAdmin(); abort_if($admin === null, 401); $sites = AdminIntegrationSiteAccess::queryFor($admin)->get(); $rootSiteIds = AgentNode::query() ->where('depth', 0) ->whereIn('admin_site_id', $sites->pluck('id')) ->pluck('admin_site_id') ->flip(); $items = $sites ->map(static fn ($site): array => AdminIntegrationSitePresenter::listItem( $site, isset($rootSiteIds[(int) $site->id]), )) ->all(); return ApiResponse::success(['items' => $items]); } }