|
1 | 1 | (function () { |
2 | 2 | "use strict"; |
3 | 3 |
|
4 | | - var async = require('async'), |
5 | | - data = require('../services/data'), |
6 | | - errorResult = require('../services/error-result'), |
| 4 | + const errorResult = require('../services/error-result'), |
7 | 5 | express = require('express'), |
8 | 6 | logEmitter = require('../services/log-emitter'), |
| 7 | + mongodb = require('../services/mongodb'), |
9 | 8 | router = new express.Router(); |
10 | 9 |
|
11 | | - function fetchVals(db, callback) { |
12 | | - var vals = { |
| 10 | + async function fetchVals(db, callback) { |
| 11 | + const vals = { |
13 | 12 | 'eventlog': [] |
14 | 13 | }; |
15 | 14 |
|
16 | | - db.serialize(() => { |
17 | | - db.each("SELECT * FROM log_events ORDER BY time DESC LIMIT 1000", (err, row) => { |
18 | | - row.headers = JSON.parse(row.headers); |
19 | | - vals.eventlog.push(row); |
20 | | - }, () => { |
21 | | - callback(null, vals); |
22 | | - }); |
| 15 | + const res = await mongodb.get('rsscloud') |
| 16 | + .collection('events') |
| 17 | + .find() |
| 18 | + .sort({ time: -1 }) |
| 19 | + .limit(1000) |
| 20 | + .toArray(); |
| 21 | + |
| 22 | + vals.eventlog = res.map(item => { |
| 23 | + item.id = item._id.toHexString(); |
| 24 | + delete item._id; |
| 25 | + |
| 26 | + item.headers = JSON.parse(item.headers); |
| 27 | + |
| 28 | + return item; |
23 | 29 | }); |
| 30 | + |
| 31 | + return vals; |
24 | 32 | } |
25 | 33 |
|
26 | 34 | function processResponse(req, res, vals) { |
|
39 | 47 | } |
40 | 48 |
|
41 | 49 | function handleError(req, res, errorMessage) { |
42 | | - processResponse(req, res, errorResult(errorMessage)); |
| 50 | + console.error(err); |
| 51 | + processResponse(req, res, errorResult(err.message)); |
43 | 52 | } |
44 | 53 |
|
45 | 54 | router.get('/', function (req, res) { |
46 | | - async.waterfall([ |
47 | | - (callback) => { |
48 | | - data.getDb(callback); |
49 | | - }, |
50 | | - (db, callback) => { |
51 | | - fetchVals(db, callback); |
52 | | - }, |
53 | | - (vals) => { |
54 | | - processResponse(req, res, vals); |
55 | | - } |
56 | | - ], (errorMessage) => { |
57 | | - handleError(req, res, errorMessage); |
58 | | - }); |
| 55 | + fetchVals() |
| 56 | + .then(vals => processResponse(req, res, vals)) |
| 57 | + .catch(err => handleError(req, res, err)); |
59 | 58 | }); |
60 | 59 |
|
61 | 60 | router.ws('/', (ws, req) => { |
|
0 commit comments