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/beaconStatus.cfm
John Mizerek 8acf2f3249 Complete DB column normalization: strip redundant table-name prefixes from all SQL queries
Updated 70 files to match the payfrit_dev schema where columns like
BusinessName→Name, UserFirstName→FirstName, AddressCity→City, etc.
PKs renamed to ID, FKs keep referenced table name (e.g. BusinessID).
SQL aliases preserve original JSON response keys for API compatibility.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:03:40 -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 = queryExecute("
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 = queryExecute("
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>