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.

42 lines
873 B

10 years ago
var service = { mget: require('../service/mget') };
var logger = require('pelias-logger').get('api');
function setup( apiConfig, esclient ){
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: apiConfig.indexName,
_type: id.layers,
_id: id.id
};
});
logger.debug( '[ES req]', query );
service.mget( esclient, query, function( err, docs ) {
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;