summaryrefslogtreecommitdiff
path: root/bucky/search/middleware.js
blob: 39d7a71bf7a3456f16ebbbf53af234ec60b32029 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
var search = require('./search')
var snippet = require('./snippet')
var db = require('../db')

module.exports = {
  
  search: function (req, res, next) {
    res.search = search.search(req.query.query, req.query.start, req.query.limit)
    console.log(res.search)
    next()
  },
  
  getThreads: function (req, res, next){
    var thread_ids = res.search.thread_ids;
    if (! thread_ids || ! thread_ids.length) {
      return next()
    }
    db.getThreadsById(thread_ids).then(function(threads){
      res.search.threads = threads
      next()
    })
  },
  
  getComments: function (req, res, next){
    var comment_ids = res.search.comment_ids;
    if (! comment_ids || ! comment_ids.length) {
      return next()
    }
    db.getCommentsById(comment_ids).then(function(comments){
      comments.forEach(function(comment){
        comment.set('comment', comment.get('comment').toString())
      })
      res.search.comments = comments
      next()
    })
  },
  
  getFiles: function (req, res, next){
    var file_ids = res.search.file_ids
    if (! file_ids || ! file_ids.length) {
      return next()
    }
    db.getFilesById(file_ids).then(function(files){
      res.search.files = files
      next()
    })
  },

  logQuery: function(req, res, next) {
    // req.search.query, req.search.count
    next()
  },

  success: function(req, res, next){
    res.send(res.search)
  },

}