Guest User

Untitled

a guest
Nov 19th, 2018
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. var express = require('express');
  2. const app = require('express')()
  3. const mongo = require('mongodb').MongoClient;
  4. const client = require('socket.io').listen(4000).sockets;
  5. const port = 3000;
  6. const http = require('http').Server(app);
  7. var mongoose = require('mongoose');
  8. var session = require('express-session');
  9. var MongoStore = require('connect-mongo')(session);
  10. var cors = require('cors');
  11. var path = require('path');
  12.  
  13. app.use(function(req, res, next) {
  14. res.header("Access-Control-Allow-Origin", "*");
  15. res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  16. next();
  17. });
  18.  
  19.  
  20. //set app to use ejs
  21. app.set('view engine', 'ejs')
  22.  
  23. // set views dir for ejs
  24. app.set('views', path.join(__dirname, 'views'));
  25. app.set('view engine', 'ejs');
  26.  
  27.  
  28. // serve static files from template
  29. app.use(express.static(__dirname + '/'));
  30.  
  31.  
  32. // include routes
  33. var routes = require('./routes/router');
  34. app.use('/', routes);
  35.  
  36.  
  37.  
  38. // Connect to mongo
  39.  
  40. mongoose.connect('mongodb://...', function(err, db) {
  41. if (err) {
  42. throw err;
  43. }
  44. // Set db log connection was a success
  45. var db = mongoose.connection;
  46. console.log('MongoDB connected...');
  47.  
  48. ///////////////////////// not sure if needed
  49. //use sessions for tracking logins
  50. app.use(session({
  51. secret: 'work hard',
  52. resave: false,
  53. saveUninitialized: true,
  54. store: new MongoStore({
  55. mongooseConnection: db
  56. })
  57. }));
  58. ///////////////////////////////
  59.  
  60. // Connect to Socket.io
  61. client.on('connection', function(socket) {
  62. //Retrieve user model
  63. var userModel = require('./models/user');
  64.  
  65.  
  66. // Handle user registration
  67. socket.on('register', function(data) {
  68. console.log(data.Username);
  69.  
  70. //The data that will get sent.
  71.  
  72. var newUser = userModel({
  73. Username: data.Username,
  74. Password: data.Password
  75. })
  76. // Save new user data
  77. newUser.save(function(err) {
  78. console.log("New user registered");
  79. })
  80. });
  81.  
  82. // Handle user login
  83. socket.on('login', function(data) {
  84. // console.log(data.Username);
  85. // ["I'm the data that will get sent."
  86. usernameFindMe = data.Username;
  87. passwordFindMe = data.Password;
  88.  
  89. userModel.findOne({
  90. Username: usernameFindMe,
  91. Password: passwordFindMe
  92. }, function(err, user) {
  93. if (err) {
  94. console.log('err');
  95. }
  96. if (!user) {
  97. console.log('OH NOOOOOOOOOO');
  98.  
  99. } else {
  100. console.log('yay');
  101.  
  102. module.exports.yourUserName = usernameFindMe;
  103. var destination = '/';
  104. client.emit('redirect', destination);
  105. }
  106.  
  107. })
  108.  
  109. });
  110.  
  111. });
  112. });
  113. //Start the Server
  114. http.listen(port, function() {
  115. console.log('listening on *:' + port);
  116. });
  117.  
  118. var express = require('express');
  119. var router = express.Router();
  120.  
  121.  
  122.  
  123.  
  124. //get variables from server
  125. var sourceFile = require('./../server');
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132. // Default Variables
  133. userName = 'Not Logged In';
  134.  
  135.  
  136.  
  137. // GET route for dashboard
  138. router.get('/', function(req, res, next) {
  139. res.render('index.ejs', {
  140.  
  141. });
  142. // set variables
  143. function setRandom() {
  144. if (sourceFile.yourUserName == null){
  145. userName = 'Not Logged In';
  146. }
  147. else{
  148. userName = sourceFile.yourUserName;
  149. console.log(userName);
  150. }
  151. }
  152. setRandom();
  153. setInterval(setRandom, 200);
  154.  
  155.  
  156. });
  157.  
  158. // GET route for dashboard
  159. router.get('/register', function(req, res, next) {
  160. res.render('register.ejs', {
  161.  
  162. });
  163. // set variables
  164. userName = sourceFile.yourUserName;
  165.  
  166. // log username for development
  167. console.log(userName);
  168. });
  169.  
  170.  
  171. module.exports = router;
Add Comment
Please, Sign In to add comment