forked from imrealashu/Todo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
executable file
·109 lines (95 loc) · 2.44 KB
/
server.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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
var express = require('express');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var app = express();
var bodyParser = require("body-parser");
var todoSchema = new Schema({
title: String,
status: Boolean
});
app.use("/", express.static(__dirname + '/'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json({strict: false}));
mongoose.connect('mongodb://localhost/todo_app',function(err, res){
if(err){
console.log('errror hai');
}else{
console.log('ho gya connect');
}
});
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {
console.log('yay');
});
var Todo = mongoose.model('todo',todoSchema);
app.get('/',function(req, res){
res.sendFile(__dirname + '/index.html');
});
app.get('/todo/',function(req, res){
Todo.find({},{title:1,status:1},'', function (err, todos) {
if (err) return handleError(err);
res.json(todos);
});
});
app.post('/todo/', function(req, reso){
var g = req.body;
var nt = new Todo({'title':g.data,'status':false});
nt.save(function(err, res){
if(err){
reso.json({"success":false});
console.error(err);
}
else{
console.log(res);
//reso.json({"success":true, 'id':res._id});
Todo.find({},{title:1,status:1},'', function (err, todos) {
if (err) return handleError(err);
reso.json(todos);
});
}
});
//console.log(g.data);
})
app.put('/todo/', function(req, reso){
var g = req.body;
//var c = new Todo({_id:g._id, 'status':!g.status});
var co = {_id: g._id}, up = {$set:{status: !g.status}};
Todo.update(co, up, {multi:false}, function(err, res){
if(err){
reso.json({"success":false});
console.error(err);
}
else{
console.log(res[0]);
reso.json({"success":true});
}
});
//console.log(g.data);
});
app.delete('/todo/:id', function(req, reso){
var g = req.params.id;
console.log('yahin aya h'+g);
//var c = new Todo({_id:g._id});
var co = {_id: g};
//c.remove();
Todo.remove(co, function(err, res){
if(err){
reso.json({"success":false});
console.error(err);
}
else{
//reso.json({"success":true});
Todo.find({},{title:1,status:1},'', function (err, todos) {
if (err) return handleError(err);
reso.json(todos);
});
}
});
//console.log(g.data);
});
var server = app.listen(3000, function () {
var host = server.address().address
var port = server.address().port
console.log('Example app listening at http://%s:%s', host, port)
})