fog-controller
Version:
Fog Controller project @ iotracks.com
110 lines (86 loc) • 3.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _async = require('async');
var _async2 = _interopRequireDefault(_async);
var _fogService = require('../../services/fogService');
var _fogService2 = _interopRequireDefault(_fogService);
var _fogAccessTokenService = require('../../services/fogAccessTokenService');
var _fogAccessTokenService2 = _interopRequireDefault(_fogAccessTokenService);
var _fogUserService = require('../../services/fogUserService');
var _fogUserService2 = _interopRequireDefault(_fogUserService);
var _appUtils = require('../../utils/appUtils');
var _appUtils2 = _interopRequireDefault(_appUtils);
var _errorUtils = require('./../../utils/errorUtils');
var _errorUtils2 = _interopRequireDefault(_errorUtils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @file baseApiController.js
* @author Zishan Iqbal
* @description This file includes the Middle-ware functions.
*/
var get = function get(req, res, manager) {
var id = req.params.id;
var promise = null;
var resultCount = 0;
var offset = parseInt(req.query.offset || 0);
var limit = parseInt(req.query.limit || 15);
if (null == id) {
promise = manager.count().then(function (count) {
resultCount = count;
return manager.find({ offset: offset, limit: limit });
});
} else promise = manager.findById(id);
promise.then(function (result) {
var response = null == id ? { offset: offset, count: limit, totalCount: resultCount, list: result } : result;
res.send(response);
}).catch(function (error) {
return _errorUtils2.default.caughtError(res, error);
});
};
var checkUserExistance = function checkUserExistance(req, res, next) {
var params = {},
instanceProps = {
token: 'bodyParams.Token',
fogId: 'bodyParams.ID',
setProperty: 'fogAccessToken'
},
tokenProps = {
expirationTime: 'fogAccessToken.expirationTime'
},
fogProps = {
fogId: 'bodyParams.ID'
},
fogUserProps = {
instanceId: 'bodyParams.ID',
userId: 'fogAccessToken.userId'
};
params.bodyParams = req.params;
_async2.default.waterfall([_async2.default.apply(_fogAccessTokenService2.default.findFogAccessTokenByTokenAndFogId, instanceProps, params), _async2.default.apply(_fogAccessTokenService2.default.checkFogTokenExpirationByToken, tokenProps), _async2.default.apply(_fogService2.default.getFogInstance, fogProps), _async2.default.apply(_fogUserService2.default.findFogUserByInstanceIdAndUserId, fogUserProps)], function (err, result) {
if (!err) {
next();
} else {
_appUtils2.default.sendResponse(res, err, 'Error:', result, result);
}
});
};
var checkfogExistance = function checkfogExistance(req, res, next) {
var params = {},
instanceProps = {
fogId: 'bodyParams.instanceId'
};
params.bodyParams = req.params;
_async2.default.waterfall([_async2.default.apply(_fogService2.default.getFogInstance, instanceProps, params)], function (err, result) {
if (!err) {
next();
} else {
_appUtils2.default.sendResponse(res, err, 'Error:', result, result);
}
});
};
exports.default = {
get: get,
checkUserExistance: checkUserExistance,
checkfogExistance: checkfogExistance
};