mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-01-18 02:39:49 +00:00
Device: explicitly fetch only the presented fields
Depends on open-balena adding the mac_address & the overall_status device fields, but the latest cli version is probably already not working, since some of its dependencies already use the v14 SDK which needs the v6 model, that the open-balena-api doesn't have yet either. Change-type: minor See: https://www.flowdock.com/app/rulemotion/i-cli/threads/SaSXFlJEv-dpk9uUngWY225zv2D See: https://github.com/balena-io/open-balena-api/issues/388 See: https://github.com/balena-io/open-balena-api/issues/338 See: https://github.com/balena-io/balena-sdk/issues/920 Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
This commit is contained in:
parent
00c78dfcd8
commit
fb9943a375
@ -69,19 +69,26 @@ export default class DeviceCmd extends Command {
|
||||
|
||||
const balena = getBalenaSdk();
|
||||
|
||||
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;
|
||||
const device: ExtendedDevice = await balena.models.device.get(params.uuid, {
|
||||
$select: [
|
||||
'device_name',
|
||||
'id',
|
||||
'device_type',
|
||||
'overall_status',
|
||||
'is_online',
|
||||
'ip_address',
|
||||
'mac_address',
|
||||
'last_connectivity_event',
|
||||
'uuid',
|
||||
'is_on__commit',
|
||||
'supervisor_version',
|
||||
'is_web_accessible',
|
||||
'note',
|
||||
'os_version',
|
||||
],
|
||||
...expandForAppName,
|
||||
});
|
||||
device.status = device.overall_status;
|
||||
|
||||
device.dashboard_url = balena.models.device.getDashboardUrl(device.uuid);
|
||||
|
||||
|
@ -78,7 +78,6 @@ describe('balena device', function () {
|
||||
it('should list device details for provided uuid', async () => {
|
||||
api.expectGetWhoAmI({ optional: true, persist: true });
|
||||
api.expectGetMixpanel({ optional: true });
|
||||
api.expectGetDeviceStatus();
|
||||
api.scope
|
||||
.get(
|
||||
/^\/v5\/device\?.+&\$expand=belongs_to__application\(\$select=app_name\)/,
|
||||
@ -103,7 +102,6 @@ describe('balena device', function () {
|
||||
// e.g. When user has a device associated with app that user is no longer a collaborator of.
|
||||
api.expectGetWhoAmI({ optional: true, persist: true });
|
||||
api.expectGetMixpanel({ optional: true });
|
||||
api.expectGetDeviceStatus();
|
||||
api.scope
|
||||
.get(
|
||||
/^\/v5\/device\?.+&\$expand=belongs_to__application\(\$select=app_name\)/,
|
||||
|
@ -4,54 +4,19 @@
|
||||
"belongs_to__application": [
|
||||
],
|
||||
"id": 1747415,
|
||||
"belongs_to__user": {
|
||||
"__deferred": {
|
||||
"uri": "/resin/user(46272)"
|
||||
},
|
||||
"__id": 46272
|
||||
},
|
||||
"is_managed_by__device": null,
|
||||
"actor": 4180757,
|
||||
"should_be_running__release": null,
|
||||
"device_name": "sparkling-wood",
|
||||
"device_type": "raspberrypi4-64",
|
||||
"uuid": "fda508c8583011b8466c26abdd5159f2",
|
||||
"is_on__commit": "18756d3386c25a044db66b89e0409804",
|
||||
"note": null,
|
||||
"local_id": null,
|
||||
"status": "Idle",
|
||||
"is_online": false,
|
||||
"last_connectivity_event": "2019-11-23T00:26:35.074Z",
|
||||
"is_connected_to_vpn": false,
|
||||
"last_vpn_event": "2019-11-23T00:26:35.074Z",
|
||||
"ip_address": "192.168.0.112",
|
||||
"vpn_address": null,
|
||||
"public_address": "89.186.29.129",
|
||||
"mac_address": null,
|
||||
"os_version": "balenaOS 2.44.0+rev3",
|
||||
"os_variant": "dev",
|
||||
"supervisor_version": "10.3.7",
|
||||
"should_be_managed_by__supervisor_release": null,
|
||||
"is_managed_by__service_instance": {
|
||||
"__deferred": {
|
||||
"uri": "/resin/service_instance(124111)"
|
||||
},
|
||||
"__id": 124111
|
||||
},
|
||||
"provisioning_progress": null,
|
||||
"provisioning_state": "",
|
||||
"download_progress": null,
|
||||
"is_web_accessible": false,
|
||||
"longitude": "22.5853",
|
||||
"latitude": "51.2712",
|
||||
"location": "Lublin, Lublin, Poland",
|
||||
"custom_longitude": "",
|
||||
"custom_latitude": "",
|
||||
"logs_channel": null,
|
||||
"is_locked_until__date": null,
|
||||
"is_accessible_by_support_until__date": null,
|
||||
"created_at": "2019-11-18T12:27:37.423Z",
|
||||
"is_active": true,
|
||||
"api_heartbeat_state": "offline",
|
||||
"overall_status": "idle",
|
||||
"__metadata": {
|
||||
"uri": "/resin/device(@id)?@id=1747415"
|
||||
}
|
||||
|
@ -8,54 +8,19 @@
|
||||
}
|
||||
],
|
||||
"id": 1747415,
|
||||
"belongs_to__user": {
|
||||
"__deferred": {
|
||||
"uri": "/resin/user(46272)"
|
||||
},
|
||||
"__id": 46272
|
||||
},
|
||||
"is_managed_by__device": null,
|
||||
"actor": 4180757,
|
||||
"should_be_running__release": null,
|
||||
"device_name": "sparkling-wood",
|
||||
"device_type": "raspberrypi4-64",
|
||||
"uuid": "fda508c8583011b8466c26abdd5159f2",
|
||||
"is_on__commit": "18756d3386c25a044db66b89e0409804",
|
||||
"note": null,
|
||||
"local_id": null,
|
||||
"status": "Idle",
|
||||
"is_online": false,
|
||||
"last_connectivity_event": "2019-11-23T00:26:35.074Z",
|
||||
"is_connected_to_vpn": false,
|
||||
"last_vpn_event": "2019-11-23T00:26:35.074Z",
|
||||
"ip_address": "192.168.0.112",
|
||||
"vpn_address": null,
|
||||
"public_address": "89.186.29.129",
|
||||
"mac_address": null,
|
||||
"os_version": "balenaOS 2.44.0+rev3",
|
||||
"os_variant": "dev",
|
||||
"supervisor_version": "10.3.7",
|
||||
"should_be_managed_by__supervisor_release": null,
|
||||
"is_managed_by__service_instance": {
|
||||
"__deferred": {
|
||||
"uri": "/resin/service_instance(124111)"
|
||||
},
|
||||
"__id": 124111
|
||||
},
|
||||
"provisioning_progress": null,
|
||||
"provisioning_state": "",
|
||||
"download_progress": null,
|
||||
"is_web_accessible": false,
|
||||
"longitude": "22.5853",
|
||||
"latitude": "51.2712",
|
||||
"location": "Lublin, Lublin, Poland",
|
||||
"custom_longitude": "",
|
||||
"custom_latitude": "",
|
||||
"logs_channel": null,
|
||||
"is_locked_until__date": null,
|
||||
"is_accessible_by_support_until__date": null,
|
||||
"created_at": "2019-11-18T12:27:37.423Z",
|
||||
"is_active": true,
|
||||
"api_heartbeat_state": "offline",
|
||||
"overall_status": "offline",
|
||||
"__metadata": {
|
||||
"uri": "/resin/device(@id)?@id=1747415"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user