-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
56 lines (49 loc) · 1.54 KB
/
app.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
import express from 'express';
import mongoose from 'mongoose';
import bodyParser from 'body-parser';
import methodOverride from 'method-override';
import expressSanitizer from 'express-sanitizer';
import passport from 'passport';
import localStrategy from 'passport-local';
import expressSession from 'express-session';
import dotenv from 'dotenv';
import flash from 'connect-flash';
import blogsRoutes from './routes/blogs';
import indexRoutes from './routes/index';
import {Blog} from './models/blog';
import {User} from './models/user';
const app = express();
dotenv.config();
app.set("view engine", "ejs");
app.use(bodyParser.urlencoded({extended:true}));
app.use(express.static("public"));
app.use(methodOverride("_method"));
app.use(expressSanitizer()),
app.use(flash());
mongoose.connect(process.env.DATABASE_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify:false
});
// PASSPORT CONFIGURATION
app.use(expressSession({
secret:"purple",
resave:false,
saveUninitialized:false
}));
app.use(passport.initialize());
app.use(passport.session());
passport.use(new localStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
app.use((req, res, next) => {
res.locals.currentUser = req.user;
res.locals.error = req.flash("error");
res.locals.success = req.flash("success");
next();
});
app.use(blogsRoutes);
app.use(indexRoutes);
app.listen(process.env.PORT, process.env.IP, () => {
console.log("server is running ...");
});