-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
113 lines (96 loc) · 2.48 KB
/
index.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
110
111
112
113
const mongoose=require('mongoose');
const bodyParser=require('body-parser');
const methodOverride=require('method-override');
const expressSanitizer=require('express-sanitizer');
const express= require('express');
const app=express();
const Blog=require('./models/blog');
mongoose.connect('mongodb://localhost/microhack',{useNewUrlParser: true,useUnifiedTopology: true});
app.set('view engine','ejs');
app.use(express.static('public'));
app.use(bodyParser.urlencoded({extended: true}));
app.use(methodOverride("_method"));
app.use(expressSanitizer());
app.get('/',function(req,res){
res.render('myhomepage');
});
app.get('/blogs',function(req,res){
Blog.find({},function(err,blogs){
if(err){
console.log(err);
res.redirect('/');
}
else{
res.render('index',{blogs: blogs});
}
});
});
app.get('/blogs/new',function(req,res){
res.render('new.ejs');
});
app.post('/blogs',function(req,res){
const blog=req.body.blog;
blog.body=req.sanitize(blog.body);
Blog.create(blog,function(err,blog){
if(err){
console.log(err);
res.redirect('/');
}
else{
res.redirect('/blogs');
}
});
});
app.get('/blogs/:id', function(req,res){
const id=req.params.id;
Blog.findById(id,function(err,blog){
if(err){
console.log(err);
res.redirect('/');
}
else{
res.render('show',{blog: blog});
}
});
});
app.get('/blogs/:id/edit',function(req,res){
const id= req.params.id;
Blog.findById(id,function(err,blog){
if(err){
console.log(err);
res.redirect('/');
}
else{
res.render('edit',{blog: blog});
}
});
});
app.put('/blogs/:id',function(req,res){
const blog=req.body.blog;
const id=req.params.id;
blog.body=req.sanitize(blog.body);
Blog.findByIdAndUpdate(id, blog, function(err, ublog){
if(err){
console.log(err);
res.redirect('/');
}
else{
res.redirect('/blogs/'+id);
}
});
});
app.delete('/blogs/:id',function(req,res){
const id=req.params.id;
Blog.findByIdAndDelete(id, function(err){
if(err){
console.log(err);
res.redirect('/');
}
else{
res.redirect('/blogs');
}
});
});
app.listen(3000,function(){
console.log('Server is listening!');
});