From 85b052dd227bce9c85e62c8a883a3a5582fc12e6 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Thu, 27 Dec 2018 12:12:40 +0300 Subject: [PATCH 1/2] fix(iofog): add validation for version command compare version command with isReadyToUpgrade and isReadyToRollback fields Closes EWC-448 --- src/helpers/error-messages.js | 3 ++- src/services/iofog-service.js | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/helpers/error-messages.js b/src/helpers/error-messages.js index 0625d2952..0ad086a46 100644 --- a/src/helpers/error-messages.js +++ b/src/helpers/error-messages.js @@ -72,5 +72,6 @@ module.exports = { INVALID_INTERNAL_PORT: 'Internal parsing error. Please provide valid internal port.', INVALID_ROUTE: 'Route parsing error. Please provide valid route.' }, - CONNECTOR_IS_IN_USE: 'You can\'t delete connector, because it is used for routing now.' + CONNECTOR_IS_IN_USE: 'You can\'t delete connector, because it is used for routing now.', + INVALID_VERSION_COMMAND: 'Can\'t {} version now.' }; diff --git a/src/services/iofog-service.js b/src/services/iofog-service.js index 46e595751..0776cee92 100644 --- a/src/services/iofog-service.js +++ b/src/services/iofog-service.js @@ -280,6 +280,11 @@ async function _setFogVersionCommand(fogVersionData, user, isCli, transaction) { throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_FOG_NODE_UUID, fogData.uuid)) } + if ((!fog.isReadyToRollback && fogVersionData.versionCommand === 'rollback') + || (!fog.isReadyToUpgrade && fogVersionData.versionCommand === 'upgrade')) { + throw new Errors.ValidationError(AppHelper.formatMessage(ErrorMessages.INVALID_VERSION_COMMAND, fogVersionData.versionCommand)) + } + await _generateProvisioningKey({uuid: fogVersionData.uuid}, user, isCli, transaction); await FogVersionCommandManager.updateOrCreate({iofogUuid: fogVersionData.uuid}, newVersionCommand, transaction); await ChangeTrackingService.update(fogVersionData.uuid, ChangeTrackingService.events.version, transaction) From e51049dba2d753f0d7ec8ff90a77e5c166e520a4 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Thu, 27 Dec 2018 12:37:22 +0300 Subject: [PATCH 2/2] fix(code): fix logger is not defined error in app-helper Closes EWC-397 --- src/helpers/app-helper.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/helpers/app-helper.js b/src/helpers/app-helper.js index 5f9d2cde7..f6730b452 100644 --- a/src/helpers/app-helper.js +++ b/src/helpers/app-helper.js @@ -14,6 +14,7 @@ const crypto = require('crypto'); const Errors = require('./errors'); +const logger = require('../logger'); const fs = require('fs'); const Config = require('../config'); const path = require('path');