diff --git a/app.js b/app.js index f60a75f45b..435d9b8ec7 100755 --- a/app.js +++ b/app.js @@ -1,4 +1,4 @@ -var domain = require('domain').create(); +var domain = require('domain'); var express = require('express'); var fs = require('fs'); var flash = require('connect-flash'); @@ -18,16 +18,17 @@ var config = require('./config/config'); var passportConf = require('./config/passport'); // Connect to MongoDB on a separate domain -domain.run(function() { +var dbDomain = domain.create(); +dbDomain.run(function() { mongoose.connect(config.db); }); // Graceful error handling for MongoDB -domain.on('error', function(err) { +dbDomain.on('error', function(err) { console.error(err.message); setTimeout(function() { mongoose.connect(config.db); - }, 2000); + }, 1000); }); // Initialize express application diff --git a/controllers/api.js b/controllers/api.js index 4cf49253f3..299c0a4d08 100644 --- a/controllers/api.js +++ b/controllers/api.js @@ -29,23 +29,23 @@ exports.getApi = function(req, res) { * Foursquare API example */ exports.getFoursquare = function(req, res) { - var foursquareToken = _.findWhere(req.user.tokens, { kind: 'foursquare' }); + var foursquare = _.findWhere(req.user.tokens, { kind: 'foursquare' }); async.parallel({ trendingVenues: function(callback) { var geo = geoip.lookup('4.17.136.0'); var lat = geo.ll[0]; var lon = geo.ll[1]; - foursquare.Venues.getTrending(lat, lon, { limit: 50 }, foursquareToken.token, function(err, results) { + foursquare.Venues.getTrending(lat, lon, { limit: 50 }, foursquare.token, function(err, results) { callback(err, results); }); }, venueDetail: function(callback) { - foursquare.Venues.getVenue('49da74aef964a5208b5e1fe3', foursquareToken.token, function(err, results) { + foursquare.Venues.getVenue('49da74aef964a5208b5e1fe3', foursquare.token, function(err, results) { callback(err, results); }); }, userCheckins: function(callback) { - foursquare.Users.getCheckins('self', null, foursquareToken.token, function(err, results) { + foursquare.Users.getCheckins('self', null, foursquare.token, function(err, results) { callback(err, results); }); } diff --git a/controllers/user.js b/controllers/user.js index a85faa2404..eb9094f8d1 100644 --- a/controllers/user.js +++ b/controllers/user.js @@ -23,6 +23,7 @@ exports.getAccount = function(req, res) { exports.postAccountProfileTab = function(req, res, next) { User.findById(req.user.id, function(err, user) { if (err) return next(err); + user.profile.name = req.body.name || ''; user.profile.email = req.body.email || ''; user.profile.gender = req.body.gender || ''; @@ -42,6 +43,7 @@ exports.postAccountProfileTab = function(req, res, next) { */ exports.postAccountSettingsTab = function(req, res) { + // TODO: Virtual mongodb if (!req.body.password || !req.body.confirm.password) { req.flash('error', 'Passwords cannot be blank'); return res.redirect('/account'); @@ -125,7 +127,7 @@ exports.getSignup = function(req, res) { /** * POST /signup */ -exports.postSignup = function(req, res) { +exports.postSignup = function(req, res, next) { // TODO: add mongoose validation on ToS (virtual?) // TODO: Mongoose virtual, move logic to model @@ -139,7 +141,6 @@ exports.postSignup = function(req, res) { return res.redirect('/signup'); } - var user = new User({ username: req.body.username, password: req.body.password