fog-controller
Version:
Fog Controller project @ iotracks.com
83 lines (62 loc) • 3.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _elementImageManager = require('../managers/elementImageManager');
var _elementImageManager2 = _interopRequireDefault(_elementImageManager);
var _appUtils = require('../utils/appUtils');
var _appUtils2 = _interopRequireDefault(_appUtils);
var _async = require('async');
var _async2 = _interopRequireDefault(_async);
var _architectureUtils = require('../utils/architectureUtils');
var _architectureUtils2 = _interopRequireDefault(_architectureUtils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var createElementImage = function createElementImage(props, params, callback) {
_elementImageManager2.default.createElementImage(props).then(_appUtils2.default.onCreate.bind(null, params, props.setProperty, 'Error: ElementImage not created', callback));
};
var getElementImagesByElementId = function getElementImagesByElementId(props, params, callback) {
var elementId = _appUtils2.default.getProperty(params, props.elementId);
var packImages = function packImages(images) {
var imagesList = _architectureUtils2.default.createImagesListJsonTemplate();
return new Promise(function (resolve) {
_async2.default.each(images, function (image, next) {
_architectureUtils2.default.fillImageField(image.iofog_type_id, image.containerImage, imagesList);
next();
}, function () {
resolve(imagesList);
});
});
};
_elementImageManager2.default.getElementImagesByElementId(elementId).then(packImages).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback));
};
var updateElementImages = function updateElementImages(props, params, callback) {
_elementImageManager2.default.updateOrCreateElementImageByIdAndFogType(props).then(_appUtils2.default.onUpdateOrCreate.bind(null, params, null, "not update images", callback));
};
var deleteElementImage = function deleteElementImage(props, params, callback) {
var elementId = _appUtils2.default.getProperty(params, props.elementId);
_elementImageManager2.default.deleteElementImage(elementId).then(_appUtils2.default.onDeleteOptional.bind(null, params, callback));
};
var populateImagesForElement = function populateImagesForElement(imageProps, element) {
return new Promise(function (resolve) {
_async2.default.waterfall([_async2.default.apply(getElementImagesByElementId, imageProps, element)], function (err, result) {
resolve(element);
});
});
};
var populateImagesForElements = function populateImagesForElements(imageProps, elements) {
return new Promise(function (resolve) {
_async2.default.each(elements, function (element, inner_callback) {
getElementImagesByElementId(imageProps, element, inner_callback);
}, function () {
resolve(elements);
});
});
};
exports.default = {
createElementImage: createElementImage,
updateElementImages: updateElementImages,
deleteElementImage: deleteElementImage,
getElementImagesByElementId: getElementImagesByElementId,
populateImagesForElement: populateImagesForElement,
populateImagesForElements: populateImagesForElements
};