Skip to content

Commit bdcd4a3

Browse files
committed
add todo api
1 parent f9817a3 commit bdcd4a3

File tree

2 files changed

+55
-2
lines changed

2 files changed

+55
-2
lines changed

app.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var app = express();
33
var mongoose = require('mongoose');
44
var config = require('./config');
55
var setupController = require('./controllers/setupController');
6-
6+
var apiController = require('./controllers/apiController');
77
var port = process.env.PORT || 3000;
88

99
app.use('/assets/', express.static(__dirname + '/public'));
@@ -12,5 +12,5 @@ app.set('view engine', 'ejs');
1212

1313
mongoose.connect(config.getDbConnectionString());
1414
setupController(app);
15-
15+
apiController(app);
1616
app.listen(port);

controllers/apiController.js

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
var Todos = require('../models/todoModel');
2+
var bodyParser = require('body-parser');
3+
4+
module.exports = function(app){
5+
app.use(bodyParser.json());
6+
app.use(bodyParser.urlencoded({ extended: true }));
7+
8+
app.get('/api/todos/:uname', function(req, res){
9+
Todos.find({ username: req.params.uname}, function(err, todos){
10+
if(err) throw err;
11+
12+
res.send(todos);
13+
});
14+
});
15+
16+
app.get('/api/todo/:id', function(req,res){
17+
Todos.findById({ _id: req.params.id }, function(err, todo){
18+
if(err) throw err;
19+
res.send(todo);
20+
});
21+
});
22+
23+
app.post('/api/todo', function(req, res){
24+
if( req.body.id ){
25+
Todos.findByIdAndUpdate(req.body.id, {
26+
todo: req.body.todo,
27+
isDone: req.body.isDone,
28+
hasAttachment: req.body.hasAttachment
29+
}, function(err, todo){
30+
if (err) throw err;
31+
res.send('Success');
32+
});
33+
}else {
34+
var newTodo = Todos({
35+
username: 'test',
36+
todo: req.body.todo,
37+
isDone: req.body.isDone,
38+
hasAttachment: req.body.hasAttachment
39+
});
40+
newTodo.save(function(err,result){
41+
if (err) throw err;
42+
res.send('Success');
43+
});
44+
}
45+
});
46+
47+
app.delete('/api/todo', function(req, res){
48+
Todos.findByIdAndRemove( req.body.id, function(err){
49+
if (err) throw err;
50+
res.send('Success');
51+
});
52+
});
53+
}

0 commit comments

Comments
 (0)