forked from jae-huh/hear-me-out-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrouter.js
71 lines (59 loc) · 1.8 KB
/
router.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
const express = require('express')
const fetch = require('node-fetch') // fetch doesn't work on node. Only on browsers
const router = express.Router()
/*
Browser --REQ--> Server --REQ--> Database
Database --RES--> Server --RES--> Browser
*/
router.get('/boards/:id', (req, res) => {
const id = req.params.id
fetch(`https://hear-me-out-956f8.firebaseio.com/boards/${id}.json`)
.then(fetchRes => fetchRes.json())
.then(jsdata => res.json(jsdata.buttons))
})
router.get('/users', (req, res) => {
fetch('https://hear-me-out-956f8.firebaseio.com/users.json')
.then(result => result.json())
.then(data => res.json(data))
})
router.post('/boards', (req, res) => {
const newBoard = req.body
fetch('https://hear-me-out-956f8.firebaseio.com/boards.json', {
method: 'post',
body: JSON.stringify({
name: newBoard.boardName,
buttons: newBoard.buttons
})
})
.then(result => result.json())
.then(data => res.json({type: 'success', data: data}))
.catch(err => {
console.log(err)
res.json({type: 'error', message: err})
})
})
router.get('/boards', (req, res) => {
fetch('https://hear-me-out-956f8.firebaseio.com/boards.json')
.then(result => result.json())
.then(data => res.json(customisedArray(data)))
})
router.post('/upload', (req, res) => {
fetch('https://api.cloudinary.com/v1_1/hearmeout/image/upload', {
method: 'post',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
file: req.body.data,
upload_preset: 'uploads'
})
})
.then(result => result.json())
.then(data => res.json(data.secure_url))
})
function customisedArray (data) {
const resultArr = []
for (let key in data) {
resultArr.push({id: key, name: data[key].name})
}
return resultArr
}
module.exports = router