Guest User

Untitled

a guest
Oct 8th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. const express = require('express');
  2. const bodyParser = require('body-parser');
  3. const path = require('path');
  4. const app = express();
  5. var expressValidator = require('express-validator');
  6. var cookieParser = require('cookie-parser');
  7. var connection = require('./routes/connection');
  8. var bcrypt = require('bcrypt');
  9.  
  10. var session = require('express-session');
  11. var passport = require('passport');
  12. var MySQLStore = require('express-mysql-session')(session);
  13. var LocalStrategy = require('passport-local').Strategy;
  14.  
  15. var clientRoutes = require('./routes/clients'),
  16. dashboardRoutes = require('./routes/dashboard'),
  17. carerRoutes = require('./routes/carers'),
  18. indexRoutes = require('./routes/index'),
  19. shiftRoutes = require('./routes/shifts'),
  20. timesheetRoutes = require('./routes/timesheets'),
  21. reportRoutes = require('./routes/reports'),
  22. graphRoutes = require('./routes/graph'),
  23. adminRoutes = require('./routes/admin'),
  24. registerRoutes = require('./routes/register');
  25.  
  26. app.set('view engine', 'ejs');
  27. app.use(bodyParser.urlencoded({extended: true}));
  28. app.use(expressValidator());//immedietely after body parser
  29. app.use(cookieParser());
  30. app.use("/public", express.static(path.join(__dirname, 'public')));
  31.  
  32. var options = {
  33. host: DATABASE_LOCATION,
  34. user: DATABASE_USER,
  35. database: DATABASE_NAME,
  36. password: DATABASE_PASSWORD,
  37. multipleStatements: true //for more than one query in a get route
  38. };
  39.  
  40. var sessionStore = new MySQLStore(options);
  41.  
  42. app.use(session({
  43. secret: '12fgsgsdfadfafafasfss',
  44. resave: false,
  45. store: sessionStore,
  46. saveUninitialized: false
  47. // cookie: { secure: true }
  48. }))
  49.  
  50. app.use(passport.initialize());
  51. app.use(passport.session());
  52.  
  53. passport.use(new LocalStrategy(
  54. function(username, password, done) {
  55. // console.log(username);
  56. // console.log(password);
  57.  
  58.  
  59. connection.query('select id, password from users where username = ?', [username], function(err, results, fields){
  60. if (err) { done(err)};
  61. if (results.length === 0) {
  62. done(null, false);
  63. } else {
  64. const hash = results[0].password.toString();
  65. var user_id = results[0].id;
  66.  
  67. bcrypt.compare(password, hash , function(err, response){
  68. if (response) {
  69. return done(null, {user_id: user_id});
  70. } else {
  71. return done(null, false);
  72. };
  73. });
  74. };
  75. });
  76. }));
  77.  
  78. app.use(indexRoutes);
  79. app.use(dashboardRoutes);
  80. app.use(carerRoutes);
  81. app.use(clientRoutes);
  82. app.use(shiftRoutes);
  83. app.use(timesheetRoutes);
  84. app.use(reportRoutes);
  85. app.use(graphRoutes);
  86. app.use(adminRoutes);
  87. app.use(registerRoutes);
  88.  
  89.  
  90.  
  91. app.listen(process.env.PORT, process.env.IP, function(){
  92. console.log(`Wayne's server started.....`);
  93. });
  94.  
  95. var express = require('express');
  96. var router = express.Router();
  97. const mysql = require('mysql');
  98.  
  99. const connection = mysql.createConnection({
  100. host: DATABASE_LOCATION,
  101. user: DATABASE_USER,
  102. database: DATABASE_NAME,
  103. password: DATABASE_PASSWORD,
  104. multipleStatements: true //for more than one query in a get route
  105. });
  106.  
  107. module.exports = connection;
Add Comment
Please, Sign In to add comment