Guest User

Untitled

a guest
Feb 10th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. const express = require('express'),
  2. app = express(),
  3. path = require('path'),
  4. exphbs = require('express-handlebars'),
  5. methodOverride = require('method-override'),
  6. flash = require('connect-flash'),
  7. session = require('express-session'),
  8. bodyParser = require('body-parser'),
  9. mongoose = require('mongoose'),
  10. LocalStrategy = require("passport-local"),
  11. passport = require("passport"),
  12. mongodb = require("mongodb"),
  13. User = require("./models/User");
  14.  
  15. // Load routes
  16. const ideas = require('./routes/ideas');
  17. const users = require('./routes/users');
  18.  
  19. // Connect to mongoose
  20. mongoose.connect('mongodb://localhost/diaries');
  21. mongoose.Promise = Promise;
  22.  
  23. // Handlebars Middleware
  24. app.engine('handlebars', exphbs({
  25. defaultLayout: 'main'
  26. }));
  27. app.set('view engine', 'handlebars');
  28.  
  29. // Body parser middleware
  30. app.use(bodyParser.urlencoded({ extended: false }));
  31. app.use(bodyParser.json());
  32.  
  33. // Static folder
  34. app.use(express.static(path.join(__dirname, 'public')));
  35.  
  36. // Method override middleware
  37. app.use(methodOverride('_method'));
  38.  
  39. // Express session midleware
  40. //PASSPORT CONFIGURATION
  41. app.use(require("express-session")({
  42. secret: "secret",
  43. resave: false,
  44. saveUninitialized: false
  45. }));
  46. app.use(passport.initialize());
  47. app.use(passport.session());
  48. passport.use(new LocalStrategy(User.authenticate()));
  49. passport.serializeUser(User.serializeUser());
  50. passport.deserializeUser(User.deserializeUser());
  51.  
  52. app.use(flash());
  53.  
  54. // Global variables
  55. app.use(function(req, res, next) {
  56. res.locals.success_msg = req.flash('success_msg');
  57. res.locals.error_msg = req.flash('error_msg');
  58. res.locals.error = req.flash('error');
  59. next();
  60. });
  61.  
  62. // Index Route
  63. app.get('/', (req, res) => {
  64. const title = 'Welcome';
  65. res.render('index', {
  66. title: title
  67. });
  68. });
  69.  
  70. // About Route
  71. app.get('/about', (req, res) => {
  72. res.render('about');
  73. });
  74.  
  75.  
  76. // Use routes
  77. app.use('/ideas', ideas);
  78. app.use('/users', users);
  79.  
  80. const port = process.env.PORT;
  81.  
  82. app.listen(port, () => {
  83. console.log(`Server started on port ${port}`);
  84. });
  85.  
  86. const mongoose = require('mongoose');
  87. const Schema = mongoose.Schema;
  88. const passportLocalMongoose = require("passport-local-mongoose");
  89.  
  90. // Create Schema
  91. const UserSchema = new Schema({
  92. name:{
  93. type: String,
  94. required: true
  95. },
  96. email:{
  97. type: String,
  98. required: true
  99. },
  100. password:{
  101. type: String,
  102. required: true
  103. },
  104. date: {
  105. type: Date,
  106. default: Date.now
  107. }
  108. });
  109. UserSchema.plugin(passportLocalMongoose, {usernameField: "email"});
  110. mongoose.model('users', UserSchema);
Add Comment
Please, Sign In to add comment