-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.js
100 lines (81 loc) · 2.25 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
const http = require('http');
const express = require('express');
const app = express();
const server = http.createServer(app);
const PORT = 3001;
// routes
const apiRouter = require('./routes/api');
const userRouter = require('./routes/user');
const newRouter = require('./routes/new');
const updateRouter = require('./routes/update');
const { makeError, error404, handleRouteErrors } = require('./routes/errors');
const path = require('path');
const es6Renderer = require('express-es6-template-engine');
app.engine('html', es6Renderer);
app.set('views', 'templates');
app.set('view engine', 'html');
const session = require('express-session');
const FileStore = require('session-file-store')(session);
app.use(session({
store: new FileStore({}),
// these two lines kill those annoying logs in the console
resave: false,
saveUninitialized: false,
secret: 'asdfasdsffase422345asdf3'
}));
app.use(express.static(path.join(__dirname, "public")));
function isLoggedIn(req, res, next) {
if(!req.session.user){
// res.redirect('/')
}
req.session.loggedIn = !!(req.session && req.session.user);
next()
}
app.use(isLoggedIn)
// app.use((req, res, next) => {
// // console.log('***********************');
// console.log(req.session);
// // console.log('***********************');
// next();
// });
const helmet = require('helmet');
// ////////////////////////////////////////////////////////////////////
// routes
app.get('/', (req, res) => {
let { loggedIn } = req.session;
res.render('home', {
locals: {
loggedIn
},
partials: {
nav: '/partials/nav'
}
});
});
app.get('/404', (req, res) => {
let { loggedIn } = req.session;
res.render('404', {
locals: {
loggedIn
},
partials: {
nav: '/partials/nav'
}
});
});
app.use('/api', apiRouter);
app.use('/user', userRouter);
app.use('/*', (req, res, next) =>{
if (!req.session.loggedIn){
res.redirect('/404');
} else {
next();
}
});
app.use('/new', newRouter);
app.use('/update', updateRouter);
app.use(error404);
app.use(handleRouteErrors);
server.listen(PORT, () => {
console.log(`server listening at ${PORT}`);
})