UNPKG

fog-controller

Version:

Fog Controller project @ iotracks.com

347 lines (258 loc) 19.4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _elementInstanceManager = require('../managers/elementInstanceManager'); var _elementInstanceManager2 = _interopRequireDefault(_elementInstanceManager); var _elementInstanceToCleanUpManager = require('../managers/elementInstanceToCleanUpManager'); var _elementInstanceToCleanUpManager2 = _interopRequireDefault(_elementInstanceToCleanUpManager); var _dataTracksManager = require('../managers/dataTracksManager'); var _dataTracksManager2 = _interopRequireDefault(_dataTracksManager); var _appUtils = require('../utils/appUtils'); var _appUtils2 = _interopRequireDefault(_appUtils); var _underscore = require('underscore'); var _underscore2 = _interopRequireDefault(_underscore); var _elementImageService = require('./elementImageService'); var _elementImageService2 = _interopRequireDefault(_elementImageService); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var getDataTrackDetails = function getDataTrackDetails(props, params, callback) { var elementInstanceData = _appUtils2.default.getProperty(params, props.elementInstanceData); _elementInstanceManager2.default.getDataTrackDetails(_underscore2.default.uniq(_underscore2.default.pluck(elementInstanceData, props.field))).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'extraTracks not found.', callback)); }; var updateElementInstanceRebuild = function updateElementInstanceRebuild(props, params, callback) { var elementId = _appUtils2.default.getProperty(params, props.elementId), name = _appUtils2.default.getProperty(params, props.name); _elementInstanceManager2.default.updateByUUIDAndName(elementId, name, props.updatedData).then(_appUtils2.default.onUpdate.bind(null, params, 'Unable to update Element Instance', callback)); }; var getElementInstanceProperties = function getElementInstanceProperties(props, params, callback) { var elementInstanceId = _appUtils2.default.getProperty(params, props.elementInstanceId); var imageProps = { elementId: 'ID', setProperty: 'elementImages' }; _elementInstanceManager2.default.getElementInstanceProperties(elementInstanceId).then(_elementImageService2.default.populateImagesForElements.bind(null, imageProps)).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Cannot find Element Instance', callback)); }; var getDetailedElementInstances = function getDetailedElementInstances(props, params, callback) { var trackId = _appUtils2.default.getProperty(params, props.trackId); var imageProps = { elementId: 'elementKey', setProperty: 'elementImages' }; _elementInstanceManager2.default.getElementInstanceDetails(trackId).then(_elementImageService2.default.populateImagesForElements.bind(null, imageProps)).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Cannot find Element Instance', callback)); }; var getElementInstance = function getElementInstance(props, params, callback) { var elementInstanceId = _appUtils2.default.getProperty(params, props.elementInstanceId); _elementInstanceManager2.default.findByUuId(elementInstanceId).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Cannot find Element Instance', callback)); }; var getElementInstanceWithImages = function getElementInstanceWithImages(props, params, callback) { var elementInstanceId = _appUtils2.default.getProperty(params, props.elementInstanceId); var imageProps = { elementId: 'element_key', setProperty: 'elementImages' }; _elementInstanceManager2.default.findByUuId(elementInstanceId).then(_elementImageService2.default.populateImagesForElement.bind(null, imageProps)).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Cannot find Element Instance', callback)); }; var getElementInstanceOptional = function getElementInstanceOptional(props, params, callback) { var elementInstanceId = _appUtils2.default.getProperty(params, props.elementInstanceId); _elementInstanceManager2.default.findByUuId(elementInstanceId).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback)); }; var getElementInstancesByTrackId = function getElementInstancesByTrackId(props, params, callback) { var trackId = _appUtils2.default.getProperty(params, props.trackId); _elementInstanceManager2.default.findByTrackId(trackId).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Cannot find Element Instances related to track ' + params.bodyParams.trackId, callback)); }; var getElementInstancesByFogId = function getElementInstancesByFogId(props, params, callback) { var fogId = _appUtils2.default.getProperty(params, props.fogId); _elementInstanceManager2.default.getByFogId(fogId).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Cannot find Element Instance', callback)); }; var getElementInstancesByFogIdOptional = function getElementInstancesByFogIdOptional(props, params, callback) { var instanceId = _appUtils2.default.getProperty(params, props.instanceId); _elementInstanceManager2.default.getByFogId(instanceId).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback)); }; var findElementInstancesByTrackId = function findElementInstancesByTrackId(props, params, callback) { var trackId = _appUtils2.default.getProperty(params, props.trackId); _elementInstanceManager2.default.findByTrackId(trackId).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback)); }; // const findByInstanceId = function(props, params, callback) { // let instanceId = AppUtils.getProperty(params, props.instanceId); // ElementInstanceManager // .getByFogId(instanceId) // .then(AppUtils.onFind.bind(null, params, props.setProperty, 'Cannot find Element Instance', callback)); // } var findElementInstancesByElementKey = function findElementInstancesByElementKey(props, params, callback) { var elementKey = _appUtils2.default.getProperty(params, props.elementKey); _elementInstanceManager2.default.findByElementKey(elementKey).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback)); }; var findRealElementInstanceByTrackId = function findRealElementInstanceByTrackId(props, params, callback) { var trackId = _appUtils2.default.getProperty(params, props.trackId); _elementInstanceManager2.default.findRealElementInstanceByTrackId(trackId).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'ElementInstance not found.', callback)); }; var findIntraTrackByUuids = function findIntraTrackByUuids(props, params, callback) { var intraTrackData = _appUtils2.default.getProperty(params, props.intraTrackData); _elementInstanceManager2.default.findIntraTrackByUuids(_underscore2.default.uniq(_underscore2.default.pluck(intraTrackData, props.field))).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'intraTracks not found.', callback)); }; var findExtraTrackByUuids = function findExtraTrackByUuids(props, params, callback) { var extraTrackData = _appUtils2.default.getProperty(params, props.extraTrackData); _elementInstanceManager2.default.findExtraTrackByUuids(_underscore2.default.uniq(_underscore2.default.pluck(extraTrackData, props.field))).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'extraTracks not found.', callback)); }; var findOtherTrackDetailByUuids = function findOtherTrackDetailByUuids(props, params, callback) { var otherTrackData = _appUtils2.default.getProperty(params, props.otherTrackData); _elementInstanceManager2.default.findOtherTrackDetailByUuids(_underscore2.default.uniq(_underscore2.default.pluck(otherTrackData, props.field))).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'otherTracksDetail not found', callback)); }; var createElementInstance = function createElementInstance(props, params, callback) { var userId = _appUtils2.default.getProperty(params, props.userId), trackId = _appUtils2.default.getProperty(params, props.trackId), name = _appUtils2.default.getProperty(params, props.name), logSize = _appUtils2.default.getProperty(params, props.logSize), config = _appUtils2.default.getProperty(params, props.config), fogInstanceId = _appUtils2.default.getProperty(params, props.fogInstanceId); if (!config) { config = "{}"; } _elementInstanceManager2.default.createElementInstance(params.element, userId, trackId, config, name, logSize, fogInstanceId).then(_appUtils2.default.onCreate.bind(null, params, props.setProperty, 'Unable to create Element Instance', callback)); }; var createElementInstanceObj = function createElementInstanceObj(props, params, callback) { _elementInstanceManager2.default.createElementInstanceObj(props.elementInstance).then(_appUtils2.default.onCreate.bind(null, params, props.setProperty, 'Unable to create Element Instance', callback)); }; var createStreamViewerElement = function createStreamViewerElement(props, params, callback) { var elementKey = _appUtils2.default.getProperty(params, props.elementKey), userId = _appUtils2.default.getProperty(params, props.userId), fogInstanceId = _appUtils2.default.getProperty(params, props.fogInstanceId), registryId = _appUtils2.default.getProperty(params, props.registryId); _elementInstanceManager2.default.createStreamViewerInstance(elementKey, userId, fogInstanceId, registryId).then(_appUtils2.default.onCreate.bind(null, params, props.setProperty, 'Unable to create Stream Viewer', callback)); }; var createNetworkElementInstance = function createNetworkElementInstance(props, params, callback) { var networkElement = _appUtils2.default.getProperty(params, props.networkElement), fogInstanceId = _appUtils2.default.getProperty(params, props.fogInstanceId), satellitePort = _appUtils2.default.getProperty(params, props.satellitePort), trackId = _appUtils2.default.getProperty(params, props.trackId) || 0, satelliteDomain = _appUtils2.default.getProperty(params, props.satelliteDomain), satelliteCertificate = _appUtils2.default.getProperty(params, props.satelliteCertificate), passcode = _appUtils2.default.getProperty(params, props.passcode), userId = _appUtils2.default.getProperty(params, props.userId), networkPort = parseInt(_appUtils2.default.getProperty(params, props.networkPort) || 0); if (!props.networkName) { props.networkName = 'Network for Element ' + networkElement.id; } _elementInstanceManager2.default.createNetworkInstance(networkElement, userId, fogInstanceId, satelliteDomain, satellitePort, satelliteCertificate, passcode, props.networkName, networkPort, props.isPublic, trackId).then(_appUtils2.default.onCreate.bind(null, params, props.setProperty, 'Unable to create Network Element Instance', callback)); }; var createDebugConsole = function createDebugConsole(props, params, callback) { var elementKey = _appUtils2.default.getProperty(params, props.elementKey), userId = _appUtils2.default.getProperty(params, props.userId), fogInstanceId = _appUtils2.default.getProperty(params, props.fogInstanceId), registryId = _appUtils2.default.getProperty(params, props.registryId); _elementInstanceManager2.default.createDebugConsoleInstance(elementKey, userId, fogInstanceId, registryId).then(_appUtils2.default.onCreate.bind(null, params, props.setProperty, 'Unable to createDebug console object', callback)); }; var updateElemInstance = function updateElemInstance(props, params, callback) { var elementId = _appUtils2.default.getProperty(params, props.elementId); _elementInstanceManager2.default.updateByUUID(elementId, props.updatedData).then(_appUtils2.default.onUpdate.bind(null, params, 'Unable to update Element Instance', callback)); }; var updateElemInstanceByFogUuId = function updateElemInstanceByFogUuId(props, params, callback) { var updateChange = {}, fogInstanceId = _appUtils2.default.getProperty(params, props.fogInstanceId); if (params.bodyParams.instanceId) { updateChange.iofog_uuid = props.updatedFogId; } _elementInstanceManager2.default.updateByFogUuId(fogInstanceId, updateChange).then(_appUtils2.default.onUpdate.bind(null, params, "Unable to update 'iofog_uuid' field for Element Instance", callback)); }; var deleteNetworkElementInstance = function deleteNetworkElementInstance(props, params, callback) { var elementId = _appUtils2.default.getProperty(params, props.elementId); _elementInstanceManager2.default.deleteNetworkElement(elementId).then(_appUtils2.default.onDelete.bind(null, params, 'No Network Element Instance found', callback)); }; var deleteNetworkElementInstances = function deleteNetworkElementInstances(props, params, callback) { var elementInstanceData = _appUtils2.default.getProperty(params, props.elementInstanceData); _elementInstanceManager2.default.deleteNetworkElements(_underscore2.default.pluck(elementInstanceData, props.field1), _underscore2.default.pluck(elementInstanceData, props.field2)).then(_appUtils2.default.onDeleteOptional.bind(null, params, callback)); }; var deleteElementInstance = function deleteElementInstance(props, params, callback) { var elementId = _appUtils2.default.getProperty(params, props.elementId); _elementInstanceManager2.default.deleteByElementUUID(elementId).then(_appUtils2.default.onDelete.bind(null, params, 'Was unable to delete Element Instance', callback)); }; var deleteElementInstanceWithCleanUp = function deleteElementInstanceWithCleanUp(props, params, callback) { var withCleanUp = _appUtils2.default.getProperty(params, props.withCleanUp); if (withCleanUp && params.elementInstance.iofog_uuid != null) { createElementInstanceToCleanUp(props, params, callback); } else { deleteElementInstance(props, params, callback); } }; var createElementInstanceToCleanUp = function createElementInstanceToCleanUp(props, params, callback) { var elementId = _appUtils2.default.getProperty(params, props.elementId), withCleanUp = _appUtils2.default.getProperty(params, props.withCleanUp), iofogUUID = _appUtils2.default.getProperty(params, props.iofogUUID); if (withCleanUp && iofogUUID != null) { var objToClean = { elementInstanceUUID: elementId, iofogUUID: iofogUUID }; _elementInstanceToCleanUpManager2.default.create(objToClean).then(_appUtils2.default.onCreate.bind(null, params, null, 'Unable to create Element Instance To Clean Up', callback)); } }; var deleteElementInstanceOptional = function deleteElementInstanceOptional(props, params, callback) { var elementId = _appUtils2.default.getProperty(params, props.elementId); _elementInstanceManager2.default.deleteByElementUUID(elementId).then(_appUtils2.default.onDeleteOptional.bind(null, params, callback)); }; var deleteElementInstances = function deleteElementInstances(props, params, callback) { var elementInstanceData = _appUtils2.default.getProperty(params, props.elementInstanceData); _elementInstanceManager2.default.deleteByElementUUID(_underscore2.default.pluck(elementInstanceData, props.field)).then(_appUtils2.default.onDeleteOptional.bind(null, params, callback)); }; var deleteElementInstancesByUUIDs = function deleteElementInstancesByUUIDs(props, params, elementIds, callback) { if (elementIds.length > 0) { _elementInstanceManager2.default.deleteByElementUUIDs(elementIds).then(_appUtils2.default.onDelete.bind(null, params, 'Unable to delete Element Instances With Clean Up', callback)); } else { callback(null, params); } }; var deleteElementInstancesByInstanceIdAndElementKey = function deleteElementInstancesByInstanceIdAndElementKey(props, params, callback) { var instanceId = _appUtils2.default.getProperty(params, props.instanceId), elementKey = _appUtils2.default.getProperty(params, props.elementKey); _elementInstanceManager2.default.deleteElementInstancesByInstanceIdAndElementKey(instanceId, elementKey).then(_appUtils2.default.onDeleteOptional.bind(null, params, callback)); }; var deleteDebugConsoleInstances = function deleteDebugConsoleInstances(props, params, callback) { var instanceId = _appUtils2.default.getProperty(params, props.instanceId); _elementInstanceManager2.default.deleteDebugConsoleInstances(instanceId).then(_appUtils2.default.onDeleteOptional.bind(null, params, callback)); }; var deleteStreamViewerInstances = function deleteStreamViewerInstances(props, params, callback) { var instanceId = _appUtils2.default.getProperty(params, props.instanceId); _elementInstanceManager2.default.deleteStreamViewerInstances(instanceId).then(_appUtils2.default.onDeleteOptional.bind(null, params, callback)); }; var getElementInstanceRouteDetails = function getElementInstanceRouteDetails(props, params, callback) { var elementInstanceId = _appUtils2.default.getProperty(params, props.elementInstanceId); _elementInstanceManager2.default.getElementInstanceRoute(elementInstanceId).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Cannot find element Instance route.', callback)); }; exports.default = { createDebugConsole: createDebugConsole, createElementInstance: createElementInstance, createElementInstanceObj: createElementInstanceObj, createNetworkElementInstance: createNetworkElementInstance, createStreamViewerElement: createStreamViewerElement, // findByInstanceId: findByInstanceId, findElementInstancesByElementKey: findElementInstancesByElementKey, findRealElementInstanceByTrackId: findRealElementInstanceByTrackId, findIntraTrackByUuids: findIntraTrackByUuids, findExtraTrackByUuids: findExtraTrackByUuids, findOtherTrackDetailByUuids: findOtherTrackDetailByUuids, findElementInstancesByTrackId: findElementInstancesByTrackId, deleteDebugConsoleInstances: deleteDebugConsoleInstances, deleteStreamViewerInstances: deleteStreamViewerInstances, deleteElementInstance: deleteElementInstance, deleteElementInstanceWithCleanUp: deleteElementInstanceWithCleanUp, createElementInstanceToCleanUp: createElementInstanceToCleanUp, deleteElementInstanceOptional: deleteElementInstanceOptional, deleteElementInstances: deleteElementInstances, deleteElementInstancesByUUID: deleteElementInstancesByUUIDs, deleteNetworkElementInstance: deleteNetworkElementInstance, deleteNetworkElementInstances: deleteNetworkElementInstances, deleteElementInstancesByInstanceIdAndElementKey: deleteElementInstancesByInstanceIdAndElementKey, getDataTrackDetails: getDataTrackDetails, getElementInstance: getElementInstance, getElementInstanceOptional: getElementInstanceOptional, getElementInstancesByTrackId: getElementInstancesByTrackId, getElementInstanceProperties: getElementInstanceProperties, updateElemInstance: updateElemInstance, updateElemInstanceByFogUuId: updateElemInstanceByFogUuId, updateElementInstanceRebuild: updateElementInstanceRebuild, getDetailedElementInstances: getDetailedElementInstances, getElementInstanceRouteDetails: getElementInstanceRouteDetails, getElementInstancesByFogId: getElementInstancesByFogId, getElementInstancesByFogIdOptional: getElementInstancesByFogIdOptional, getElementInstanceWithImages: getElementInstanceWithImages };