2014-07-22 04:36:12 +00:00
|
|
|
#!/usr/bin/env node
|
2014-07-08 04:35:52 +00:00
|
|
|
|
2014-07-28 03:10:55 +00:00
|
|
|
'use strict';
|
|
|
|
|
2014-09-17 07:39:46 +00:00
|
|
|
var _ = require('underscore');
|
2014-07-28 03:10:55 +00:00
|
|
|
var express = require('express');
|
2014-10-02 07:18:15 +00:00
|
|
|
var path = require('path');
|
2014-09-17 07:39:46 +00:00
|
|
|
var search = require('./search.js');
|
2014-07-08 04:35:52 +00:00
|
|
|
|
2014-07-28 07:48:24 +00:00
|
|
|
|
2014-07-22 04:36:12 +00:00
|
|
|
function main() {
|
2014-07-28 02:52:30 +00:00
|
|
|
var app = express();
|
2014-07-22 04:36:12 +00:00
|
|
|
|
2014-09-16 09:35:04 +00:00
|
|
|
search.loadDb({
|
|
|
|
'host': 'localhost',
|
|
|
|
'user': 'hscd',
|
|
|
|
'database': 'hscd'
|
|
|
|
});
|
|
|
|
|
2014-10-02 07:41:47 +00:00
|
|
|
app.use('/get_keywords', function(req, res) {
|
2014-09-16 09:35:04 +00:00
|
|
|
search.getKeywords(function(keywords) {
|
2014-09-17 07:39:46 +00:00
|
|
|
res.json(_.keys(keywords).sort());
|
2014-09-16 09:35:04 +00:00
|
|
|
});
|
2014-07-22 04:36:12 +00:00
|
|
|
});
|
|
|
|
|
2014-10-02 07:41:47 +00:00
|
|
|
app.use('/add_keyword', function(req, res) {
|
2014-09-18 08:22:57 +00:00
|
|
|
search.addKeyword(req.query, function(results) {
|
|
|
|
res.json(results);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2014-10-02 07:41:47 +00:00
|
|
|
app.use('/remove_keyword', function(req, res) {
|
2014-09-18 08:22:57 +00:00
|
|
|
search.removeKeyword(req.query, function(results) {
|
|
|
|
res.json(results);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2014-07-28 02:52:30 +00:00
|
|
|
app.use('/search', function(req, res) {
|
2014-09-17 07:39:46 +00:00
|
|
|
search.execQuery(req.query, function(results) {
|
|
|
|
res.json(results);
|
|
|
|
});
|
2014-07-28 02:52:30 +00:00
|
|
|
});
|
|
|
|
|
2014-10-02 07:18:15 +00:00
|
|
|
app.use(express.static(path.join(__dirname, '../client')));
|
2014-07-22 04:36:12 +00:00
|
|
|
app.listen(3000);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (require.main === module) {
|
|
|
|
main();
|
|
|
|
}
|