lotteryAdmin(); abort_if($admin === null, 401); $siteId = AdminAgentNodeAccess::resolveAdminSiteId( $admin, $request->integer('admin_site_id') ?: null, ); $denied = AdminAgentNodeAccess::denyUnlessSiteResolved($admin, $siteId); if ($denied !== null) { return $denied; } $nodes = AdminAgentScope::visibleNodesQuery($admin, (int) $siteId)->get(); return ApiResponse::success([ 'admin_site_id' => (int) $siteId, 'tree' => AgentNodePresenter::tree($nodes), ]); } }