/** * Cleanup Lazy Daisy Beacons * - Unassigns beacons 7, 8, 9 from service points * - Deletes beacons 7, 8, 9 * - Updates original beacons with proper names */ response = { "OK": false, "steps": [] }; try { lazyDaisyID = 37; // Unassign beacons 7, 8, 9 from any service points queryExecute(" UPDATE ServicePoints SET BeaconID = NULL, AssignedByUserID = NULL WHERE BeaconID IN (7, 8, 9) AND ServicePointBusinessID = :bizId ", { bizId: lazyDaisyID }, { datasource: "payfrit" }); response.steps.append("Unassigned beacons 7, 8, 9 from service points"); // Delete duplicate beacons 7, 8, 9 queryExecute(" DELETE FROM Beacons WHERE ID IN (7, 8, 9) AND BusinessID = :bizId ", { bizId: lazyDaisyID }, { datasource: "payfrit" }); response.steps.append("Deleted duplicate beacons 7, 8, 9"); // Update original beacons with names based on their service point assignments queryExecute(" UPDATE Beacons SET Name = 'Beacon - Table 1' WHERE ID = 4 AND BusinessID = :bizId ", { bizId: lazyDaisyID }, { datasource: "payfrit" }); response.steps.append("Updated Beacon 4 name to 'Beacon - Table 1'"); queryExecute(" UPDATE Beacons SET Name = 'Beacon - Table 2' WHERE ID = 5 AND BusinessID = :bizId ", { bizId: lazyDaisyID }, { datasource: "payfrit" }); response.steps.append("Updated Beacon 5 name to 'Beacon - Table 2'"); queryExecute(" UPDATE Beacons SET Name = 'Beacon - Table 3' WHERE ID = 6 AND BusinessID = :bizId ", { bizId: lazyDaisyID }, { datasource: "payfrit" }); response.steps.append("Updated Beacon 6 name to 'Beacon - Table 3'"); // Get final status qFinal = queryExecute(" SELECT sp.ServicePointID AS ServicePointID, sp.BeaconID, sp.ServicePointBusinessID AS BusinessID, b.Name AS BeaconName, b.UUID, sp.ServicePointName AS ServicePointName, biz.BusinessName AS BusinessName FROM ServicePoints sp JOIN Beacons b ON b.ID = sp.BeaconID JOIN Businesses biz ON biz.BusinessID = sp.ServicePointBusinessID WHERE sp.ServicePointBusinessID = :bizId AND sp.BeaconID IS NOT NULL ORDER BY sp.BeaconID ", { bizId: lazyDaisyID }, { datasource: "payfrit" }); beacons = []; for (i = 1; i <= qFinal.recordCount; i++) { arrayAppend(beacons, { "BeaconID": qFinal.BeaconID[i], "BeaconName": qFinal.BeaconName[i], "UUID": qFinal.UUID[i], "BusinessName": qFinal.BusinessName[i], "ServicePointID": qFinal.ServicePointID[i], "ServicePointName": qFinal.ServicePointName[i] }); } response.OK = true; response.beacons = beacons; } catch (any e) { response.error = e.message; if (len(e.detail)) { response.detail = e.detail; } } writeOutput(serializeJSON(response));