-
Notifications
You must be signed in to change notification settings - Fork 0
/
routes.js
41 lines (37 loc) · 1.09 KB
/
routes.js
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
const rxjs = require('rxjs')
const db = require('./db')
const path = require('path')
module.exports = (app) => {
db.init()
let home$ = new rxjs.Subject()
app.get('/', (req, res) => home$.next([req, res]))
home$
.subscribe((args) => {
let [req, res] = args
res.sendFile(path.join(__dirname + '/index.html'))
})
let list$ = new rxjs.Subject()
app.get('/list', (req, res) => list$.next([req, res]))
list$
.subscribe((args) => {
let [req, res] = args
let results = []
db.list((rows) => {
rows.forEach(r => {
results.push(JSON.parse(r.jdoc))
})
console.log(results)
res.send(results)
})
})
let save$ = new rxjs.Subject()
app.post('/save', (req, res) => save$.next([req, res]))
save$
.subscribe((args) => {
let [req, res] = args
console.log(req.body)
if (req.body) db.save(req.body)
else console.log('invalid body sent')
res.send('done')
})
}