UNPKG

962 BJavaScriptView Raw
1var async = require('async');
2var sfx = require('./search/sfx.js');
3var millennium = require('./search/millennium.js');
4
5var collections = {
6 sfx: sfx,
7 millennium: millennium
8};
9
10module.exports = function (req, res) {
11 'use strict';
12
13 var requestedCollections;
14 if (! req.query.c || ! req.query.c instanceof Array) {
15 requestedCollections = Object.keys(collections);
16 } else {
17 requestedCollections = req.query.c;
18 }
19
20 var results = {};
21
22 var iterator = function (c, done) {
23 if (c in collections) {
24 collections[c].search(req.query.q, function (value) {
25 results[c] = {data: value.data};
26 done();
27 });
28 } else {
29 results[c] = {error: 'Collection "' + c + '" does not exist'};
30 done();
31 }
32 };
33
34 var callback = function () {
35 res.json(results);
36 };
37
38 async.each(requestedCollections, iterator, callback);
39};
\No newline at end of file