fog-controller
Version:
Fog Controller project @ iotracks.com
122 lines (105 loc) • 8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
* @file sslFileController.js
* @author Zishan Iqbal
* @description This file includes the CRUD operarions on ssl files.
*/
var _underscore = require('underscore');
var _underscore2 = _interopRequireDefault(_underscore);
var _appUtils = require('./appUtils');
var _appUtils2 = _interopRequireDefault(_appUtils);
var _fogControllerConfigManager = require('./../managers/fogControllerConfigManager');
var _fogControllerConfigManager2 = _interopRequireDefault(_fogControllerConfigManager);
var _constants = require('./../constants');
var _constants2 = _interopRequireDefault(_constants);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var FogControllerConfigUtil = function () {
function FogControllerConfigUtil() {
_classCallCheck(this, FogControllerConfigUtil);
}
_createClass(FogControllerConfigUtil, [{
key: 'getConfigParam',
value: function getConfigParam(key) {
var configValue = void 0;
if (!this.fogConfigs) {
return undefined;
} else {
_underscore2.default.each(this.fogConfigs, function (config) {
if (config.key.toLowerCase() === key.toLowerCase()) {
configValue = config.value;
return;
}
});
return configValue;
}
}
}, {
key: 'setConfigParam',
value: function setConfigParam(key, value) {
if (this.isKeyExist(key)) {
if (this.validateValue(key, value)) {
if (key == _constants2.default.CONFIG.port) {
_appUtils2.default.checkPortAvailability(value).then(function (availability) {
if (availability == 'closed') {
return _fogControllerConfigManager2.default.setByKey(key, value).then(function (result) {
console.log('"' + key + '" has been updated successfully.');
});
} else {
console.log('Port "' + value + '" is not available.');
}
});
} else {
return _fogControllerConfigManager2.default.setByKey(key, value).then(function (result) {
console.log('"' + key + '" has been updated successfully.');
});
}
} else {
throw 'Invalid value provided for key "' + key + '"';
}
} else {
throw '"' + key + '" is not a valid property. You can set properties like: \nport, ssl_key, ssl_cert, intermediate_cert, \nemail_address, email_password, email_service, \nioauthoring_port, ioauthoring_ip_address, ioauthoring_protocol';
}
}
}, {
key: 'isKeyExist',
value: function isKeyExist(configKey) {
return _underscore2.default.find(_constants2.default.CONFIG, function (value, key) {
if (configKey.toLowerCase() == key.toLowerCase()) {
return true;
}
});
}
}, {
key: 'validateValue',
value: function validateValue(key, value) {
if (key == _constants2.default.CONFIG.port || key == _constants2.default.CONFIG.ioauthoring_port) {
return _appUtils2.default.isValidPort(value);
} else if (key.toLowerCase() == _constants2.default.CONFIG.email_service || key.toLowerCase() == _constants2.default.CONFIG.email_password) {
return true;
} else if (key.toLowerCase() == _constants2.default.CONFIG.email_address) {
return _appUtils2.default.isValidEmail(value);
} else if (key.toLowerCase() == _constants2.default.CONFIG.ssl_key || key.toLowerCase() == _constants2.default.CONFIG.ssl_cert || key.toLowerCase() == _constants2.default.CONFIG.intermediate_cert) {
return _appUtils2.default.isFileExists(value);
} else if (key.toLowerCase() == _constants2.default.CONFIG.ioauthoring_ip_address) {
return _appUtils2.default.isValidPublicIP(value);
} else if (key.toLowerCase() == _constants2.default.CONFIG.ioauthoring_protocol) {
return _appUtils2.default.isValidProtocol(value);
}
}
}, {
key: 'getAllConfigs',
value: function getAllConfigs() {
return _fogControllerConfigManager2.default.find().then(function (configs) {
this.fogConfigs = configs;
return configs;
}.bind(this));
}
}]);
return FogControllerConfigUtil;
}();
var instance = new FogControllerConfigUtil();
exports.default = instance;