checkDeviceUpdate: use v2 API

This commit is contained in:
Martín M
2020-10-22 02:18:53 -03:00
parent 9e7bef86ff
commit 4038c8c7bd
2 changed files with 16 additions and 29 deletions

View File

@@ -11,38 +11,25 @@ module.exports = {
*/
async checkDeviceUpdate(deviceId) {
const device = await this.getDevice(deviceId);
const error = _get(device, 'error', false);
if (error) {
return device;
}
const deviceInfoList = parseFirmwareUpdates([device]);
const deviceInfoListError = _get(deviceInfoList, 'error', false);
if (deviceInfoListError) {
return deviceInfoList;
}
const update = await this.makeRequest({
method: 'post',
url: this.getOtaUrl(),
uri: '/app',
uri: '/v2/device/ota/query',
body: { deviceInfoList },
});
const isUpdate = _get(update, 'upgradeInfoList.0.version', false);
const isUpdate = _get(update, 'otaInfoList.0.version', false);
if (!isUpdate) {
return { status: 'ok', msg: 'No update available' };
}
return {
status: 'ok',
msg: 'Update available',
version: isUpdate,
};
return isUpdate
? {
status: 'ok',
msg: 'Update available',
version: isUpdate,
}
: {
status: 'ok',
msg: 'No update available',
};
},
};

View File

@@ -1,13 +1,13 @@
const { _get } = require('../helpers/utilities');
const errors = require('../data/errors');
const parseFirmwareUpdates = devicesList =>
devicesList.map(device => {
const model = _get(device, 'extra.extra.model', false);
const parseFirmwareUpdates = (devicesList) =>
devicesList.map((device) => {
const model = _get(device, 'extra.model', false);
const fwVersion = _get(device, 'params.fwVersion', false);
if (!model || !fwVersion) {
return { error: 500, msg: errors.noFirmware };
throw new Error(`${errors.noFirmware}`);
}
return { model, version: fwVersion, deviceid: device.deviceid };