fog-controller
Version:
Fog Controller project @ iotracks.com
167 lines (129 loc) • 8.03 kB
JavaScript
;
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
};