Code refactoring
This commit is contained in:
9
app.js
9
app.js
@ -1,4 +1,4 @@
|
|||||||
var domain = require('domain').create();
|
var domain = require('domain');
|
||||||
var express = require('express');
|
var express = require('express');
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var flash = require('connect-flash');
|
var flash = require('connect-flash');
|
||||||
@ -18,16 +18,17 @@ var config = require('./config/config');
|
|||||||
var passportConf = require('./config/passport');
|
var passportConf = require('./config/passport');
|
||||||
|
|
||||||
// Connect to MongoDB on a separate domain
|
// Connect to MongoDB on a separate domain
|
||||||
domain.run(function() {
|
var dbDomain = domain.create();
|
||||||
|
dbDomain.run(function() {
|
||||||
mongoose.connect(config.db);
|
mongoose.connect(config.db);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Graceful error handling for MongoDB
|
// Graceful error handling for MongoDB
|
||||||
domain.on('error', function(err) {
|
dbDomain.on('error', function(err) {
|
||||||
console.error(err.message);
|
console.error(err.message);
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
mongoose.connect(config.db);
|
mongoose.connect(config.db);
|
||||||
}, 2000);
|
}, 1000);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Initialize express application
|
// Initialize express application
|
||||||
|
@ -29,23 +29,23 @@ exports.getApi = function(req, res) {
|
|||||||
* Foursquare API example
|
* Foursquare API example
|
||||||
*/
|
*/
|
||||||
exports.getFoursquare = function(req, res) {
|
exports.getFoursquare = function(req, res) {
|
||||||
var foursquareToken = _.findWhere(req.user.tokens, { kind: 'foursquare' });
|
var foursquare = _.findWhere(req.user.tokens, { kind: 'foursquare' });
|
||||||
async.parallel({
|
async.parallel({
|
||||||
trendingVenues: function(callback) {
|
trendingVenues: function(callback) {
|
||||||
var geo = geoip.lookup('4.17.136.0');
|
var geo = geoip.lookup('4.17.136.0');
|
||||||
var lat = geo.ll[0];
|
var lat = geo.ll[0];
|
||||||
var lon = geo.ll[1];
|
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);
|
callback(err, results);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
venueDetail: function(callback) {
|
venueDetail: function(callback) {
|
||||||
foursquare.Venues.getVenue('49da74aef964a5208b5e1fe3', foursquareToken.token, function(err, results) {
|
foursquare.Venues.getVenue('49da74aef964a5208b5e1fe3', foursquare.token, function(err, results) {
|
||||||
callback(err, results);
|
callback(err, results);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
userCheckins: function(callback) {
|
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);
|
callback(err, results);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ exports.getAccount = function(req, res) {
|
|||||||
exports.postAccountProfileTab = function(req, res, next) {
|
exports.postAccountProfileTab = function(req, res, next) {
|
||||||
User.findById(req.user.id, function(err, user) {
|
User.findById(req.user.id, function(err, user) {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
|
|
||||||
user.profile.name = req.body.name || '';
|
user.profile.name = req.body.name || '';
|
||||||
user.profile.email = req.body.email || '';
|
user.profile.email = req.body.email || '';
|
||||||
user.profile.gender = req.body.gender || '';
|
user.profile.gender = req.body.gender || '';
|
||||||
@ -42,6 +43,7 @@ exports.postAccountProfileTab = function(req, res, next) {
|
|||||||
*/
|
*/
|
||||||
exports.postAccountSettingsTab = function(req, res) {
|
exports.postAccountSettingsTab = function(req, res) {
|
||||||
|
|
||||||
|
// TODO: Virtual mongodb
|
||||||
if (!req.body.password || !req.body.confirm.password) {
|
if (!req.body.password || !req.body.confirm.password) {
|
||||||
req.flash('error', 'Passwords cannot be blank');
|
req.flash('error', 'Passwords cannot be blank');
|
||||||
return res.redirect('/account');
|
return res.redirect('/account');
|
||||||
@ -125,7 +127,7 @@ exports.getSignup = function(req, res) {
|
|||||||
/**
|
/**
|
||||||
* POST /signup
|
* POST /signup
|
||||||
*/
|
*/
|
||||||
exports.postSignup = function(req, res) {
|
exports.postSignup = function(req, res, next) {
|
||||||
// TODO: add mongoose validation on ToS (virtual?)
|
// TODO: add mongoose validation on ToS (virtual?)
|
||||||
// TODO: Mongoose virtual, move logic to model
|
// TODO: Mongoose virtual, move logic to model
|
||||||
|
|
||||||
@ -139,7 +141,6 @@ exports.postSignup = function(req, res) {
|
|||||||
return res.redirect('/signup');
|
return res.redirect('/signup');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var user = new User({
|
var user = new User({
|
||||||
username: req.body.username,
|
username: req.body.username,
|
||||||
password: req.body.password
|
password: req.body.password
|
||||||
|
Reference in New Issue
Block a user