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.

43 lines
833 B

10 years ago
var service = { mget: require('../service/mget') };
function setup( backend ){
// allow overriding of dependencies
backend = backend || require('../src/backend');
10 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();
}
10 years ago
var query = req.clean.ids.map( function(id) {
return {
_index: 'pelias',
_type: id.type,
_id: id.id
};
});
service.mget( backend, query, function( err, docs ) {
9 years ago
// error handler
if( err ){
req.errors.push( err.message ? err.message : err );
}
// set response data
9 years ago
else {
res.data = docs;
}
next();
});
}
return controller;
}
module.exports = setup;