Refactoring

This commit is contained in:
Sahat Yalkabov
2014-01-07 18:15:14 -05:00
parent dd9de5c4d0
commit bd36575122
4 changed files with 90 additions and 113 deletions

18
app.js
View File

@ -26,23 +26,6 @@ var contactController = require('./controllers/contact');
var secrets = require('./config/secrets'); var secrets = require('./config/secrets');
var passportConf = require('./config/passport'); var passportConf = require('./config/passport');
/**
* Spawn worker processes.
*/
if (cluster.isMaster) {
var numCPUs = require('os').cpus().length;
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('disconnect', function(worker) {
console.error('worker ' + worker.process.pid + ' died');
cluster.fork();
});
} else {
mongoose.connect(secrets.db); mongoose.connect(secrets.db);
var app = express(); var app = express();
@ -126,4 +109,3 @@ if (cluster.isMaster) {
console.log('Express server listening on port ' + app.get('port')); console.log('Express server listening on port ' + app.get('port'));
}); });
}

View File

@ -3,7 +3,7 @@ var sendgrid = require('sendgrid')(secrets.sendgrid.user, secrets.sendgrid.pass
/** /**
* GET /contact * GET /contact
* Contact form page * Contact form page.
*/ */
exports.getContact = function(req, res) { exports.getContact = function(req, res) {
res.render('contact', { res.render('contact', {
@ -15,7 +15,7 @@ exports.getContact = function(req, res) {
/** /**
* POST /contact * POST /contact
* Send a contact form message via SendGrid * Send a contact form message via SendGrid.
*/ */
exports.postContact = function(req, res) { exports.postContact = function(req, res) {
var from = req.body.email; var from = req.body.email;

View File

@ -1,6 +1,6 @@
/** /**
* GET / * GET /
* Home page * Home page.
*/ */
exports.index = function(req, res) { exports.index = function(req, res) {
res.render('home', { res.render('home', {

View File

@ -96,19 +96,13 @@ exports.postSignup = function(req, res, next) {
password: req.body.password password: req.body.password
}); });
// TODO: simplify
user.save(function(err) { user.save(function(err) {
if (err) { if (err) {
if (err.name === 'ValidationError') {
// TODO: make more explicit
req.flash('messages', _.map(err.errors, function(value, key) { return value.message; }));
}
if (err.code === 11000) { if (err.code === 11000) {
req.flash('messages', 'User already exists.'); req.flash('messages', 'User already exists.');
} }
return res.redirect('/signup'); return res.redirect('/signup');
} }
req.logIn(user, function(err) { req.logIn(user, function(err) {
if (err) return next(err); if (err) return next(err);
res.redirect('/'); res.redirect('/');
@ -133,7 +127,7 @@ exports.postUpdateProfile = function(req, res, next) {
user.save(function(err) { user.save(function(err) {
if (err) return next(err); if (err) return next(err);
req.flash('success', { success: 'Profile information updated' }); req.flash('success', { success: 'Profile information updated.' });
res.redirect('/account'); res.redirect('/account');
}); });
}); });
@ -145,23 +139,24 @@ exports.postUpdateProfile = function(req, res, next) {
*/ */
exports.postUpdatePassword = function(req, res, next) { exports.postUpdatePassword = function(req, res, next) {
// TODO: Use Virtuals (mongoose) if (!req.body.password) {
if (!req.body.password || !req.body.confirmPassword) { req.flash('error', 'Passwords cannot be blank.');
req.flash('error', 'Passwords cannot be blank');
return res.redirect('/account'); return res.redirect('/account');
} }
if (req.body.password !== req.body.confirmPassword) { if (req.body.password !== req.body.confirmPassword) {
req.flash('error', 'Passwords do not match'); req.flash('error', 'Passwords do not match.');
return res.redirect('/account'); return res.redirect('/account');
} }
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.password = req.body.password; user.password = req.body.password;
user.save(function(err) { user.save(function(err) {
if (err) return next(err); if (err) return next(err);
req.flash('success', 'Password has been changed'); req.flash('success', 'Password has been changed.');
res.redirect('/account'); res.redirect('/account');
}); });
}); });
@ -181,7 +176,7 @@ exports.postDeleteAccount = function(req, res, next) {
/** /**
* GET /account/unlink/:provider * GET /account/unlink/:provider
* Unlink an oauth provider from the current user * Unlink OAuth2 provider from the current user.
*/ */
exports.getOauthUnlink = function(req, res, next) { exports.getOauthUnlink = function(req, res, next) {
var provider = req.params.provider; var provider = req.params.provider;
@ -200,7 +195,7 @@ exports.getOauthUnlink = function(req, res, next) {
/** /**
* GET /logout * GET /logout
* Log out * Log out.
*/ */
exports.logout = function(req, res) { exports.logout = function(req, res) {
req.logout(); req.logout();