UNPKG

epub-full-text-search

Version:
48 lines (34 loc) 1.44 kB
'use strict'; 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) { _Logger2.default.log('info', 'client request search'); if (!req.query['q']) { res.status(500).send('Can`t find query parameter q -> /search?q=word'); return; } var q = req.query['q'].toLowerCase().split(/\s+/); 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 search'.blue + ' -> query: ' + q + ' -> bookTitle: ' + bookTitle + ' -> uuid: ' + uuid); (0, _SearchEngine2.default)({}).then(function (se) { se.search(q[0], bookTitle, uuid).then(function (result) { res.send(result); se.close(function (err) { if (err) _Logger2.default.log('error', err); }); }).fail(function (err) { res.send(err); se.close(function (err) { if (err) _Logger2.default.log('error', err); }); }); }).fail(function (err) { _Logger2.default.log('error', err); }); };