From 1b94b5db4287c519c1a8e24bfe6a24958e001e7b Mon Sep 17 00:00:00 2001 From: Nikola Ubavic <53820106+ubavic@users.noreply.github.com> Date: Mon, 29 Nov 2021 13:45:46 +0100 Subject: [PATCH] chore: separate queries --- lib/pairing.js | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/lib/pairing.js b/lib/pairing.js index 7eb683a6..d919300d 100644 --- a/lib/pairing.js +++ b/lib/pairing.js @@ -19,21 +19,25 @@ function pullToken (token) { // TODO new-admin: We should remove all configs related to that device. This can get tricky. function unpair (deviceId) { - const sql = `INSERT INTO - unpaired_devices(id, device_id, name, model, paired, unpaired) - VALUES ( - $1, - $2, - (SELECT name FROM devices WHERE device_id=$2), - (SELECT model FROM devices WHERE device_id=$2), - (SELECT created FROM devices WHERE device_id=$2), - now()); - DELETE FROM devices WHERE device_id=$2; - DELETE FROM machine_pings WHERE device_id=$2; - DELETE FROM machine_network_heartbeat WHERE device_id=$2; - DELETE FROM machine_network_performance WHERE device_id=$2;` - - return db.tx(t => t.none(sql, [uuid.v4(), deviceId])) + return db.tx(t => + t.none(`INSERT INTO + unpaired_devices(id, device_id, name, model, paired, unpaired) + VALUES ( + $1, + $2, + (SELECT name FROM devices WHERE device_id=$2), + (SELECT model FROM devices WHERE device_id=$2), + (SELECT created FROM devices WHERE device_id=$2), + now() + )`, [uuid.v4(), deviceId]) + .then(() => { + const q1 = t.none(`DELETE FROM devices WHERE device_id=$1`, [deviceId]) + const q2 = t.none(`DELETE FROM machine_pings WHERE device_id=$1`, [deviceId]) + const q3 = t.none(`DELETE FROM machine_network_heartbeat WHERE device_id=$1`, [deviceId]) + const q4 = t.none(`DELETE FROM machine_network_performance WHERE device_id=$1`, [deviceId]) + return Promise.all([q1, q2, q3, q4]) + }) + ) } function pair (token, deviceId, machineModel, numOfCassettes = DEFAULT_NUMBER_OF_CASSETTES) {