epub-full-text-search
Version:
45 lines (33 loc) • 1.44 kB
JavaScript
;
var _SearchEngine = require('./../SearchEngine');
var _SearchEngine2 = _interopRequireDefault(_SearchEngine);
var _Logger = require('./../Logger');
var _Logger2 = _interopRequireDefault(_Logger);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = function (req, res) {
var beginsWith = req.query['beginsWith'];
if (!beginsWith) {
res.status(500).send('Can`t find query parameter beginsWith -> /matcher?beginsWith=word');
return;
}
var bookTitle = req.query['t'];
var uuid = req.query['uuid'];
uuid = uuid || '-1';
bookTitle = bookTitle || '*'; // if bookTitle undefined return all hits
_Logger2.default.log('info', 'request suggestion'.yellow + ' -> beginsWith: ' + beginsWith + ' -> bookTitle: ' + bookTitle + ' -> uuid: ' + uuid);
(0, _SearchEngine2.default)({}).then(function (se) {
se.match(beginsWith, bookTitle, uuid).then(function (matches) {
res.send(matches);
se.close(function (err) {
if (err) _Logger2.default.log('error', err);
});
}).fail(function (err) {
se.close(function (err) {
if (err) _Logger2.default.log('error', err);
});
_Logger2.default.log('error', err);
});
}).fail(function (err) {
_Logger2.default.log('error', err);
});
};