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/beaconStatus.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

60 lines
1.5 KiB
Text

<cfsetting showdebugoutput="false">
<cfsetting enablecfoutputonly="true">
<cfcontent type="application/json; charset=utf-8" reset="true">
<cfscript>
// Show all beacons with their current business/service point assignments
q = queryTimed("
SELECT
b.ID,
b.UUID,
b.Name,
sp_link.BusinessID AS BusinessID,
sp_link.ID AS ServicePointID,
biz.Name,
sp.Name AS Name
FROM Beacons b
LEFT JOIN ServicePoints sp_link ON sp_link.BeaconID = b.ID
LEFT JOIN Businesses biz ON biz.ID = sp_link.BusinessID
LEFT JOIN ServicePoints sp ON sp.ID = sp_link.ID
WHERE b.IsActive = 1
ORDER BY b.ID
", {}, { datasource: "payfrit" });
rows = [];
for (row in q) {
arrayAppend(rows, {
"BeaconID": row.ID,
"UUID": row.UUID,
"Name": row.Name ?: "",
"BusinessID": row.BusinessID ?: 0,
"Name": row.Name ?: "",
"ServicePointID": row.ServicePointID ?: 0,
"Name": row.Name ?: ""
});
}
// Also get service points for reference
spQuery = queryTimed("
SELECT sp.ID, sp.Name AS Name, sp.BusinessID AS BusinessID, b.Name AS Name
FROM ServicePoints sp
JOIN Businesses b ON b.ID = sp.BusinessID
ORDER BY sp.BusinessID, sp.ID
", {}, { datasource: "payfrit" });
servicePoints = [];
for (sp in spQuery) {
arrayAppend(servicePoints, {
"ServicePointID": sp.ID,
"Name": sp.Name,
"BusinessID": sp.BusinessID,
"Name": sp.Name
});
}
writeOutput(serializeJSON({
"OK": true,
"BEACONS": rows,
"SERVICE_POINTS": servicePoints
}));
</cfscript>