Skip to content

Commit 3d47b7a

Browse files
DELETE /todos/:id rout
1 parent bbafe43 commit 3d47b7a

File tree

2 files changed

+49
-1
lines changed

2 files changed

+49
-1
lines changed

playground/mongoose-remove.js

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
const {ObjectID} = require('mongodb');
2+
3+
const {mongoose} = require('./../server/db/mongoose');
4+
const {Todo} = require('./../server/models/todo');
5+
const {User} = require('./../server/models/user');
6+
7+
// Todo.remove({}).then((result) => {
8+
// console.log('Removed all');
9+
// });
10+
11+
//Todo.findOneAndRemove()
12+
//Todo.findByIdAndRemove()
13+
// Todo.findOneAndRemove({_id: '5af49db1685fbf0494f3dd59'}).then((todo) => {
14+
// console.log(todo);
15+
// });
16+
17+
18+
Todo.findByIdAndRemove('5af49db1685fbf0494f3dd59').then((todo) => {
19+
console.log(todo);
20+
});

server/server.js

+29-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ app.get('/users/:id', (req, res) => {
5555
app.get('/todos/:id', (req, res) => {
5656
var todoID = req.params.id;
5757
if (!ObjectID.isValid(todoID)) {
58-
return res.status(400).send({error: 'Todo ID is not valid'});
58+
return res.status(404).send({error: 'Todo ID is not valid'});
5959
} else {
6060
Todo.findById(todoID).then((todo) => {
6161
if (!todo) {
@@ -67,6 +67,34 @@ app.get('/todos/:id', (req, res) => {
6767
}
6868
});
6969

70+
// delete
71+
72+
app.delete('/todos/:id', (req, res) => {
73+
// get the id
74+
// not valid ? return 404
75+
// remove todo by id
76+
//success
77+
//if no doc, send 404
78+
//send doc back with 200
79+
//error
80+
//400 with empty body
81+
82+
var todoID = req.params.id;
83+
if(!ObjectID.isValid(todoID)) {
84+
return res.status(404).send();
85+
}
86+
87+
Todo.findByIdAndRemove(todoID).then((todo) => {
88+
if(!todo) {
89+
return res.status(404).send();
90+
} else {
91+
return res.status(200).send(todo);
92+
}
93+
}).catch((e) => {
94+
res.status(400).send();
95+
})
96+
});
97+
7098

7199

72100
app.listen(port, () => {

0 commit comments

Comments
 (0)