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>
46 lines
1.3 KiB
Text
46 lines
1.3 KiB
Text
<cfsetting showdebugoutput="false">
|
|
<cfsetting enablecfoutputonly="true">
|
|
|
|
<cfcontent type="application/json; charset=utf-8" reset="true">
|
|
<cfheader name="Cache-Control" value="no-store">
|
|
|
|
<cfscript>
|
|
function apiAbort(obj) {
|
|
writeOutput(serializeJSON(obj));
|
|
abort;
|
|
}
|
|
|
|
if (!structKeyExists(request, "BusinessID") || !isNumeric(request.BusinessID) || request.BusinessID LTE 0) {
|
|
apiAbort({ OK=false, ERROR="no_business_selected" });
|
|
}
|
|
</cfscript>
|
|
|
|
<cfquery name="q" datasource="payfrit">
|
|
SELECT
|
|
sp.ID AS ServicePointID,
|
|
sp.BeaconID,
|
|
sp.BusinessID AS BusinessID,
|
|
sp.AssignedByUserID,
|
|
b.Name AS BeaconName,
|
|
b.UUID,
|
|
sp.Name AS ServicePointName
|
|
FROM ServicePoints sp
|
|
JOIN Beacons b ON b.ID = sp.BeaconID
|
|
WHERE sp.BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
|
|
AND sp.BeaconID IS NOT NULL
|
|
ORDER BY b.Name, sp.Name
|
|
</cfquery>
|
|
|
|
<cfset assignments = []>
|
|
<cfloop query="q">
|
|
<cfset arrayAppend(assignments, {
|
|
"ServicePointID" = q.ServicePointID,
|
|
"BeaconID" = q.BeaconID,
|
|
"BusinessID" = q.BusinessID,
|
|
"BeaconName" = q.BeaconName,
|
|
"UUID" = q.UUID,
|
|
"ServicePointName"= q.ServicePointName
|
|
})>
|
|
</cfloop>
|
|
|
|
<cfoutput>#serializeJSON({ OK=true, ERROR="", COUNT=arrayLen(assignments), ASSIGNMENTS=assignments })#</cfoutput>
|