tareknode

app.js file

Jul 17th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express');
  2. var path = require('path');
  3. var favicon = require('serve-favicon');
  4. var logger = require('morgan');
  5. var cookieParser = require('cookie-parser');
  6. var bodyParser = require('body-parser');
  7. var session = require("express-session");
  8. var multer = require("multer");
  9. var flash = require("connect-flash");
  10. var hbs = require("express-handlebars");
  11. var passport = require("passport");
  12. var LocalStrategy = require("passport-local").Strategy;
  13. var expressValidator = require("express-validator");
  14. var mongodb = require("mongodb");
  15. var mongoose = require("mongoose");
  16. mongoose.connect("mongodb://localhost/store2");
  17. var db = mongoose.connection;
  18. require("./config/users/passport");
  19. require("./secrets/secret");
  20. var index = require('./routes/index');
  21. var buyer = require('./routes/users/buyers/buyer');
  22.  
  23. var app = express();
  24.  
  25. // view engine setup
  26. app.set('views', path.join(__dirname, 'views'));
  27. app.engine("hbs", hbs({defaultLayout: "layout", extname: "hbs"}));
  28. app.set('view engine', 'hbs');
  29. // handle multer
  30. var upload = multer({dest: "uploads/"});
  31. // uncomment after placing your favicon in /public
  32. //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
  33. app.use(logger('dev'));
  34. app.use(bodyParser.json());
  35. app.use(bodyParser.urlencoded({ extended: false }));
  36. // handle express session and passport
  37. app.use(session({secret: "max", saveUninitialized: true, resave: true}));
  38. app.use(passport.initialize());
  39. app.use(passport.session());
  40. //express validator
  41. app.use(expressValidator({
  42.   errorFormatter: function(param, msg, value) {
  43.       var namespace = param.split('.')
  44.       , root    = namespace.shift()
  45.       , formParam = root;
  46.  
  47.     while(namespace.length) {
  48.       formParam += '[' + namespace.shift() + ']';
  49.     }
  50.     return {
  51.       param : formParam,
  52.       msg   : msg,
  53.       value : value
  54.     };
  55.   }
  56. }));
  57. // cookie parser
  58. app.use(cookieParser());
  59. app.use(express.static(path.join(__dirname, 'public')));
  60. app.use(flash());
  61. app.use(function (req, res, next) {
  62.     "use strict";
  63.     res.locals.message = require("express-messages")(req, res);
  64.     next();
  65. });
  66. /*app.use(function (req, res, next) {
  67.     "use strict";
  68.     res.locals.success_msg = req.flash("success_msg");
  69.     res.locals.error_msg = req.flash("error_msg");
  70.     res.locals.error = req.flash("error");
  71.     return next();
  72. });*/
  73. app.use('/', index);
  74. app.use('/buyer', buyer);
  75.  
  76. // catch 404 and forward to error handler
  77. app.use(function(req, res, next) {
  78.   var err = new Error('Not Found');
  79.   err.status = 404;
  80.   next(err);
  81. });
  82.  
  83. // error handler
  84. app.use(function(err, req, res, next) {
  85.   // set locals, only providing error in development
  86.   res.locals.message = err.message;
  87.   res.locals.error = req.app.get('env') === 'development' ? err : {};
  88.  
  89.   // render the error page
  90.   res.status(err.status || 500);
  91.   res.render('error');
  92. });
  93.  
  94. module.exports = app;
Advertisement
Add Comment
Please, Sign In to add comment