From 02114785d0021508d5a451acf2b80bce3adab95d Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 12 Aug 2025 12:37:34 +0000 Subject: [PATCH] Refactor query processing to handle subquery attributes more efficiently Co-authored-by: jakeb994 --- app/controllers/api/users.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index f21e184a8d..5a81618726 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -661,28 +661,28 @@ App::get('/v1/users') $requestedSubQueryAttributes = []; $processedQueries = []; + $allSelectedAttributes = []; foreach ($queries as $query) { if ($query->getMethod() === Query::TYPE_SELECT) { $selectedAttributes = $query->getValues(); - $filteredAttributes = []; foreach ($selectedAttributes as $attribute) { if (array_key_exists($attribute, $subQueryAttributes)) { $requestedSubQueryAttributes[] = $subQueryAttributes[$attribute]; } else { - $filteredAttributes[] = $attribute; + $allSelectedAttributes[] = $attribute; } } - - if (!empty($filteredAttributes)) { - $processedQueries[] = Query::select($filteredAttributes); - } } else { $processedQueries[] = $query; } } + if (!empty($allSelectedAttributes)) { + $processedQueries[] = Query::select(array_unique($allSelectedAttributes)); + } + $queries = $processedQueries; $skipFilters = array_diff($skipFilters, $requestedSubQueryAttributes);