Code refactoring

This commit is contained in:
Sahat Yalkabov
2013-12-20 00:50:44 -05:00
parent c6fddb33f5
commit a6d762b071
3 changed files with 12 additions and 10 deletions

9
app.js
View File

@ -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

View File

@ -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);
}); });
} }

View File

@ -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