|  | @@ -8,13 +8,13 @@ const path = require('path'),
 | 
	
		
			
				|  |  |  // npm modules
 | 
	
		
			
				|  |  |  const express          = require('express'),
 | 
	
		
			
				|  |  |        session          = require('express-session'),
 | 
	
		
			
				|  |  | -      store            = require('session-rethinkdb')(session),
 | 
	
		
			
				|  |  | +      rethinkdbStore   = require('session-rethinkdb')(session),
 | 
	
		
			
				|  |  |        bodyParser       = require('body-parser'),
 | 
	
		
			
				|  |  |        config           = require('config'),
 | 
	
		
			
				|  |  |        request          = require('request'),
 | 
	
		
			
				|  |  |        r                = require('rethinkdb'),
 | 
	
		
			
				|  |  |        passport         = require('passport'),
 | 
	
		
			
				|  |  | -      local            = require('passport-local').Strategy,
 | 
	
		
			
				|  |  | +      localStrategy    = require('passport-local').Strategy,
 | 
	
		
			
				|  |  |        passportSocketIo = require("passport.socketio");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // custom modules
 | 
	
	
		
			
				|  | @@ -29,33 +29,62 @@ const server = app.listen(80);
 | 
	
		
			
				|  |  |  const io = require('socket.io')(server);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // connect to our database before doing anything else
 | 
	
		
			
				|  |  | -r.connect( { host: 'localhost', port: 28015, db: 'musare' }, (err, rc) => {
 | 
	
		
			
				|  |  | +r.connect( { host: 'localhost', port: 28015, db: 'musare' }, function(err, rc) {
 | 
	
		
			
				|  |  |  	if (err) {
 | 
	
		
			
				|  |  |  		console.log(err);
 | 
	
		
			
				|  |  |  	} else {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		global.rc = rc;
 | 
	
		
			
				|  |  |  		global.io = io;
 | 
	
		
			
				|  |  | -    global.passport = passport;
 | 
	
		
			
				|  |  | -    global.localStrategy = local;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    const store = new RDBStore(r);
 | 
	
		
			
				|  |  | +        const store = new rethinkdbStore(r);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    app.use(session({
 | 
	
		
			
				|  |  | -      secret: config.get('secret'),
 | 
	
		
			
				|  |  | -      store,
 | 
	
		
			
				|  |  | -      resave: true,
 | 
	
		
			
				|  |  | -      saveUninitialized: true
 | 
	
		
			
				|  |  | -    }));
 | 
	
		
			
				|  |  | +        app.use(passport.initialize());
 | 
	
		
			
				|  |  | +        app.use(passport.session());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    io.use(passportSocketIo.authorize({
 | 
	
		
			
				|  |  | -      secret: config.get('secret'),
 | 
	
		
			
				|  |  | -      store,
 | 
	
		
			
				|  |  | -    }));
 | 
	
		
			
				|  |  | +        app.use(session({
 | 
	
		
			
				|  |  | +          secret: config.get('secret'),
 | 
	
		
			
				|  |  | +          store,
 | 
	
		
			
				|  |  | +          resave: true,
 | 
	
		
			
				|  |  | +          saveUninitialized: true
 | 
	
		
			
				|  |  | +        }));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        io.use(passportSocketIo.authorize({
 | 
	
		
			
				|  |  | +          secret: config.get('secret'),
 | 
	
		
			
				|  |  | +          store: store,
 | 
	
		
			
				|  |  | +        }));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        passport.serializeUser(function(user, done) {
 | 
	
		
			
				|  |  | +            done(null, user);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        passport.deserializeUser(function(user, done) {
 | 
	
		
			
				|  |  | +            done(null, user);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        passport.use(new localStrategy(function(username, password, done) {
 | 
	
		
			
				|  |  | +            process.nextTick(function() {
 | 
	
		
			
				|  |  | +                r.table('users').filter({
 | 
	
		
			
				|  |  | +                    username: username
 | 
	
		
			
				|  |  | +                }).run(rc, function (err, cursor) {
 | 
	
		
			
				|  |  | +                    if (err) return done(err);
 | 
	
		
			
				|  |  | +                    cursor.toArray(function (err, result) {
 | 
	
		
			
				|  |  | +                        if (!result) return done(null, false);
 | 
	
		
			
				|  |  | +                        if (result.password != password) return done(null, false);
 | 
	
		
			
				|  |  | +                        return done(null, user);
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        }));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        app.use(bodyParser.json());
 | 
	
		
			
				|  |  | +        app.use(bodyParser.urlencoded({
 | 
	
		
			
				|  |  | +            extended: true
 | 
	
		
			
				|  |  | +        }));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		app.use(express.static(__dirname + '/../public'));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		socketHandler(coreHandler, io);
 | 
	
		
			
				|  |  |  		expressHandler(coreHandler, app);
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  });
 |