UNPKG

fog-controller

Version:

Fog Controller project @ iotracks.com

167 lines (129 loc) 8.03 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _routingManager = require('../managers/routingManager'); var _routingManager2 = _interopRequireDefault(_routingManager); var _appUtils = require('../utils/appUtils'); var _appUtils2 = _interopRequireDefault(_appUtils); var _underscore = require('underscore'); var _underscore2 = _interopRequireDefault(_underscore); var _winstonLogs = require('../utils/winstonLogs'); var _winstonLogs2 = _interopRequireDefault(_winstonLogs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var isDebugging = function isDebugging(props, params, callback) { var elementInstanceData = _appUtils2.default.getProperty(params, props.elementInstanceData); _routingManager2.default.isDebugging(_underscore2.default.pluck(elementInstanceData, props.fieldOne), _underscore2.default.pluck(elementInstanceData, props.fieldTwo)).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback)); }; var isViewer = function isViewer(props, params, callback) { var elementInstanceData = _appUtils2.default.getProperty(params, props.elementInstanceData); _routingManager2.default.isViewer(_underscore2.default.pluck(elementInstanceData, props.fieldOne), _underscore2.default.pluck(elementInstanceData, props.fieldTwo)).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback)); }; var createRoute = function createRoute(props, params, callback) { var routingObj = { publishing_instance_id: _appUtils2.default.getProperty(params, props.publishingInstanceId), destination_instance_id: _appUtils2.default.getProperty(params, props.destinationInstanceId), publishing_element_id: _appUtils2.default.getProperty(params, props.publishingElementId), destination_element_id: _appUtils2.default.getProperty(params, props.destinationElementId), isNetworkConnection: props.isNetworkConnection }; _routingManager2.default.create(routingObj).then(_appUtils2.default.onCreate.bind(null, params, props.setProperty, 'Unable to create Routing Object', callback)); }; var deleteByFogAndElement = function deleteByFogAndElement(props, params, callback) { var instanceId1 = _appUtils2.default.getProperty(params, props.instanceId1), instanceId2 = _appUtils2.default.getProperty(params, props.instanceId2), elementId1 = _appUtils2.default.getProperty(params, props.elementId1), elementId2 = _appUtils2.default.getProperty(params, props.elementId2), isNetwork = props.isNetwork; _routingManager2.default.deleteByFogAndElement(instanceId1, instanceId2, elementId1, elementId2, isNetwork).then(_appUtils2.default.onDelete.bind(null, params, 'Unable to delete Routing Object', callback)); }; var deleteElementInstanceRouting = function deleteElementInstanceRouting(props, params, callback) { var elementId = _appUtils2.default.getProperty(params, props.elementId); _routingManager2.default.deleteByPublishingElementId(elementId).then(_appUtils2.default.onDeleteOptional.bind(null, params, callback)); }; var deleteByPublishingOrDestinationElementId = function deleteByPublishingOrDestinationElementId(props, params, callback) { var elementInstanceData = _appUtils2.default.getProperty(params, props.elementInstanceData); _routingManager2.default.deleteByPublishingOrDestinationElementId(_underscore2.default.pluck(elementInstanceData, props.field)).then(_appUtils2.default.onDeleteOptional.bind(null, params, callback)); }; var deleteNetworkElementRouting = function deleteNetworkElementRouting(props, params, callback) { var elementId = _appUtils2.default.getProperty(params, props.elementId); _routingManager2.default.deleteByNetworkElementInstanceId(elementId).then(_appUtils2.default.onDelete.bind(null, params, 'No Network Element Instance Routing found', callback)); }; var extractDifferentRoutingList = function extractDifferentRoutingList(params, callback) { var intraRoutingList = []; var extraRoutingList = []; var otherRoutingList = []; params.elementInstance.forEach(function (instance) { params.routing.forEach(function (route) { if (route.publishing_instance_id != instance.iofog_uuid || route.is_network_connection === 1) { otherRoutingList.push(route); } else if (route.track_id != instance.trackId) { extraRoutingList.push(route); } else { intraRoutingList.push(route); } }); }); params.intraRoutingList = _underscore2.default.uniq(intraRoutingList, function (routing) { return routing.ID; }); params.extraRoutingList = _underscore2.default.uniq(extraRoutingList, function (routing) { return routing.ID; }); params.otherRoutingList = _underscore2.default.uniq(otherRoutingList, function (routing) { return routing.ID; }); callback(null, params); }; var extractDifferentOutputRoutingList = function extractDifferentOutputRoutingList(params, callback) { var outputIntraRoutingList = []; var outputExtraRoutingList = []; var outputOtherRoutingList = []; params.elementInstance.forEach(function (instance) { params.routing.forEach(function (route) { if (route.destination_element_id != instance.iofog_uuid || route.is_network_connection === 1) { outputOtherRoutingList.push(route); } else if (route.track_id != instance.trackId) { outputExtraRoutingList.push(route); } else { outputIntraRoutingList.push(route); } }); }); params.outputIntraRoutingList = _underscore2.default.uniq(outputIntraRoutingList, function (routing) { return routing.ID; }); params.outputExtraRoutingList = _underscore2.default.uniq(outputExtraRoutingList, function (routing) { return routing.ID; }); params.outputOtherRoutingList = _underscore2.default.uniq(outputOtherRoutingList, function (routing) { return routing.ID; }); callback(null, params); }; var findByInstanceId = function findByInstanceId(props, params, callback) { var instanceId = _appUtils2.default.getProperty(params, props.instanceId); _routingManager2.default.findByInstanceId(instanceId).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'instanceId not found in routing.', callback)); }; var findByElementInstanceUuidsAndRoutingDestination = function findByElementInstanceUuidsAndRoutingDestination(props, params, callback) { var elementInstanceData = _appUtils2.default.getProperty(params, props.elementInstanceData); _routingManager2.default.findByElementInstanceUuidsAndRoutingDestination(_underscore2.default.pluck(elementInstanceData, props.field)).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Routing not found.', callback)); }; var findOutputRoutingByElementInstanceUuidsAndRoutingPublishing = function findOutputRoutingByElementInstanceUuidsAndRoutingPublishing(props, params, callback) { var elementInstanceData = _appUtils2.default.getProperty(params, props.elementInstanceData); _routingManager2.default.findOutputRoutingByElementInstanceUuidsAndRoutingPublishing(_underscore2.default.pluck(elementInstanceData, props.field)).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'outputRouting not found.', callback)); }; exports.default = { createRoute: createRoute, isDebugging: isDebugging, isViewer: isViewer, deleteByFogAndElement: deleteByFogAndElement, deleteElementInstanceRouting: deleteElementInstanceRouting, deleteNetworkElementRouting: deleteNetworkElementRouting, deleteByPublishingOrDestinationElementId: deleteByPublishingOrDestinationElementId, extractDifferentRoutingList: extractDifferentRoutingList, extractDifferentOutputRoutingList: extractDifferentOutputRoutingList, findByElementInstanceUuidsAndRoutingDestination: findByElementInstanceUuidsAndRoutingDestination, findByInstanceId: findByInstanceId, findOutputRoutingByElementInstanceUuidsAndRoutingPublishing: findOutputRoutingByElementInstanceUuidsAndRoutingPublishing };