You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
989 B

10 years ago
var service = { mget: require('../service/mget') };
var logger = require('pelias-logger').get('api');
function setup( config, backend ){
// allow overriding of dependencies
backend = backend || require('../src/backend');
9 years ago
function controller( req, res, next ){
// do not run controller when a request
// validation error has occurred.
if( req.errors && req.errors.length ){
return next();
}
var query = req.clean.ids.map( function(id) {
return {
_index: config.indexName,
_type: id.layers,
_id: id.id
};
});
logger.debug( '[ES req]', query );
service.mget( backend, query, function( err, docs ) {
console.log('err:' + err);
9 years ago
// error handler
if( err ){
req.errors.push( err );
9 years ago
}
// set response data
9 years ago
else {
res.data = docs;
}
logger.debug('[ES response]', docs);
next();
});
}
return controller;
}
module.exports = setup;