/
routes.js
64 lines (58 loc) · 1.5 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
const express = require ('express');
const router = express.Router();
const Note = require('./note');
// Route to Home and Display all Notes
router.get('/notes', function(req, res) {
Note.find(function(err, notes) {
if (!err) {
res.json(notes);
} else {
res.status(400).json({"error": err});
}
});
});
router.get('/note/:id', function(req, res) {
Note.findById(req.params.id, function(err, note) {
if (!note) {
res.status(404).send('No result found');
} else {
res.json(note);
}
});
});
// Route to Add a Note
router.post('/add', function(req, res) {
let note = new Note(req.body);
note.save()
.then(note => {
res.send(note);
})
.catch(function(err) {
res.status(422).send('Note add failed');
});
});
// Route to Edit a Note
router.patch('/edit/:id', function(req, res){
Note.findByIdAndUpdate(req.params.id, req.body)
.then(function() {
res.json('Note updated');
})
.catch(function(err) {
res.status(422).send("Note update failed.");
});
});
// Route to Delete a Note
router.delete('/delete/:id', function(req, res) {
Note.findById(req.params.id, function(err, note) {
if (!note) {
res.status(404).send('Note not found');
} else {
Note.findByIdAndRemove(req.params.id)
.then(function() { res.status(200).json("Note deleted") })
.catch(function(err) {
res.status(400).send("Note delete failed.");
})
}
});
})
module.exports = router;