This repository has been archived on 2026-03-21. You can view files and clone it, but cannot push or open issues or pull requests.
payfrit-biz/api/admin/_scripts/debugBigDeansMenu.cfm
John 16a3b7c9a3 Replace queryExecute with queryTimed across all endpoints for perf tracking
Converts 200+ endpoint files to use queryTimed() wrapper which tracks
DB query count and execution time. Restores perf dashboard files that
were accidentally moved to _scripts/. Includes portal UI updates.
2026-02-02 00:28:37 -08:00

53 lines
1.4 KiB
Text

<cfsetting showdebugoutput="false">
<cfsetting enablecfoutputonly="true">
<cfcontent type="application/json; charset=utf-8" reset="true">
<cfscript>
businessID = 27;
// Run the EXACT query from getForBuilder.cfm
qCategories = queryTimed("
SELECT DISTINCT
p.ItemID as CategoryID,
p.Name as Name,
p.SortOrder
FROM Items p
INNER JOIN Items c ON c.ParentItemID = p.ItemID
WHERE p.BusinessID = :businessID
AND p.ParentItemID = 0
AND p.IsActive = 1
AND NOT EXISTS (
SELECT 1 FROM lt_ItemID_TemplateItemID tl WHERE tl.TemplateItemID = p.ItemID
)
ORDER BY p.SortOrder, p.Name
", { businessID: businessID });
cats = [];
for (c in qCategories) {
arrayAppend(cats, {
"CategoryID": c.ID,
"Name": c.Name
});
}
// Also check raw counts
rawCount = queryTimed("
SELECT COUNT(*) as cnt FROM Items
WHERE BusinessID = :bizId AND ParentItemID = 0 AND IsActive = 1
", { bizId: businessID });
childrenCount = queryTimed("
SELECT COUNT(DISTINCT c.ParentItemID) as cnt
FROM Items c
INNER JOIN Items p ON p.ItemID = c.ParentItemID
WHERE p.BusinessID = :bizId AND p.ParentItemID = 0
", { bizId: businessID });
writeOutput(serializeJSON({
"OK": true,
"CategoriesFromQuery": cats,
"CategoryCount": arrayLen(cats),
"TotalTopLevelItems": rawCount.cnt,
"TopLevelItemsWithChildren": childrenCount.cnt
}));
</cfscript>