-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.js
More file actions
59 lines (47 loc) · 1.41 KB
/
server.js
File metadata and controls
59 lines (47 loc) · 1.41 KB
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
require("dotenv").config();
var express = require("express");
var exphbs = require("express-handlebars");
let passport = require("passport");
var db = require("./models");
var app = express();
var PORT = process.env.PORT || 3000;
let session = require("express-session")({
secret: "ctiosckzhgkyntvitviaw4",
resave: false,
saveUninitialized: false
});
passport.use(require("./auth_strategies/local"));
passport.serializeUser(function(user, done) {
done(null, user.email);
});
passport.deserializeUser(function(email, done) {
let condititon = {
where: { email: email }
};
db.User.findOne(condititon).then(user => {
done(null, user);
});
});
// Middleware
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
app.use(require("cookie-parser")());
// app.use(require("morgan")("combined"));
app.use(session);
//initialize Passport and let Express know about it
app.use(passport.initialize());
// Set up sessions
app.use(passport.session());
// Handlebars
app.use(express.static("public"));
app.engine("handlebars", exphbs({ defaultLayout: "main" }));
app.set("view engine", "handlebars");
app.use(express.static("public"));
// Routes
//require("./routes/apiRoutes")(app);
require("./routes/htmlRoutes")(app);
app.use(require("./routes/authRoutes")(passport));
app.use(require("./routes/protectedRoutes"));
app.listen(PORT, function() {
console.log("Listening on port %s.", PORT);
});