/
home.js
44 lines (41 loc) · 1.37 KB
/
home.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
const select = require('../model/queries/select');
const insert = require('../model/queries/insert');
const cookie = require('cookie');
const jwt = require('jsonwebtoken');
exports.get = (req, res) => {
select.selectPosts((posts) => {
if (!req.headers.cookie || !req.headers.cookie.includes("token")) {
res.redirect("/login");
// res.render('home', { posts });
// res.send('whatever! no cookies!!')
} else {
const token = cookie.parse(req.headers.cookie).token;
jwt.verify(token, process.env.SECRET, function(err, decoded) {
if (err) res.send('<h1>Why did you play with your cookies, Asshole!<h1>');
else {
res.render('home', {
posts
});
}
});
}
});
}
exports.post = (req, res) => {
if (!req.headers.cookie || !req.headers.cookie.includes("token")) {
res.redirect("/login");
} else {
const token = cookie.parse(req.headers.cookie).token;
jwt.verify(token, process.env.SECRET, function(err, decoded) {
if (err) res.send('<h1>Why did you play with your cookies, Asshole!<h1>');
let {
body
} = req.body;
insert.insertPost(decoded.user_id, body, (err, result) => {
console.log('the post content is ', body, 'for the user with userId=', decoded.user_id);
if (err) return new Error(err);
res.redirect('/');
})
});
}
}