1 | var async = require('async');
|
2 | var sfx = require('./search/sfx.js');
|
3 | var millennium = require('./search/millennium.js');
|
4 |
|
5 | var collections = {
|
6 | sfx: sfx,
|
7 | millennium: millennium
|
8 | };
|
9 |
|
10 | module.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 |