UNPKG

fog-controller

Version:

Fog Controller project @ iotracks.com

122 lines (105 loc) 8 kB
'use strict'; 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;