From 188527c6b55a2d64d5f76c5d3e094da45c69b0c9 Mon Sep 17 00:00:00 2001 From: BakedSnake Date: Wed, 17 Mar 2021 12:58:53 +0100 Subject: Public version --- app.js | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 app.js (limited to 'app.js') diff --git a/app.js b/app.js new file mode 100644 index 0000000..75d78fe --- /dev/null +++ b/app.js @@ -0,0 +1,71 @@ +const bodyParser = require("body-parser"), + methodOverride = require("method-override"), + expressSanitizer = require("express-sanitizer"), + mongoose = require("mongoose"), + express = require("express"), + flash = require("connect-flash"), + passport = require("passport"), + LocalStrategy = require("passport-local"), + User = require("./models/user"), + Account = require("./models/account"), + app = express(); + +//IMPORT ROUTES +const indexRoutes = require('./routes/index'), + blogRoutes = require('./routes/blog'), + cmmntRoutes = require('./routes/cmmnts'), + searchRoutes = require('./routes/search'); + +//SETUP +mongoose.connect("mongodb://USER:PASS@SERVER/DATABASE", { + useNewUrlParser: true, + useUnifiedTopology: true, + useFindAndModify: false, + useCreateIndex: true +}) + .then(() => console.log(`Database connected`)) + .catch((err) => console.log(Error, err)); +app.set("view engine", "ejs"); +app.use(express.static(__dirname + "/public")); +app.use(bodyParser.urlencoded({ extended: true })); +app.use(expressSanitizer()); //Must be after body-parser +app.use(methodOverride("_method")); +app.use(flash()); + +//========================================================== +// PASSPORT CONFIG +//========================================================== +app.use( + require("express-session")({ + secret: "I am gonna be the pirate king", + 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()); +//---------------------------------------------------------- + +// Current User & Flash Messages Middleware +app.use((req, res, next) => { + res.locals.currentUser = req.user; + //res.locals.error = req.flash("error"); + //res.locals.success = req.flash("success"); + next(); +}); + +//Routes +app.use('/', indexRoutes); +app.use('/register', indexRoutes); +app.use('/login', indexRoutes); +app.use('/logout', indexRoutes); +app.use('/blog', blogRoutes); +app.use('/blog/:blog/:pid/comments', cmmntRoutes); +app.use('/search', searchRoutes); + +app.listen(3000, () => { + console.log("Server started..."); +}) -- cgit v1.2.3