From 3207a2922aa0d519bbd21701bce5e0ff2dde873a Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Mon, 29 Jun 2020 15:59:33 +0300 Subject: [PATCH] Prepare for field based retrieval of device overall_status Change-type: patch Signed-off-by: Thodoris Greasidis --- lib/actions-oclif/device/index.ts | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/actions-oclif/device/index.ts b/lib/actions-oclif/device/index.ts index 303096d4..2007ed37 100644 --- a/lib/actions-oclif/device/index.ts +++ b/lib/actions-oclif/device/index.ts @@ -69,13 +69,19 @@ export default class DeviceCmd extends Command { const balena = getBalenaSdk(); - const device: ExtendedDevice = await balena.models.device.get( - params.uuid, - expandForAppName, - ); - - const deviceStatus = await balena.models.device.getStatus(device.uuid); - device.status = deviceStatus; + const [device, overallStatus] = await Promise.all([ + balena.models.device.get(params.uuid, expandForAppName) as Promise< + ExtendedDevice + >, + // TODO: drop this and add `overall_status` to a $select in the above + // pine query once the overall_status field is moved to open-balena-api. + // See: https://github.com/balena-io/open-balena-api/issues/338 + balena.models.device + .get(params.uuid, { $select: 'overall_status' }) + .then(({ overall_status }) => overall_status) + .catchReturn(''), + ]); + device.status = overallStatus; device.dashboard_url = balena.models.device.getDashboardUrl(device.uuid);