Comments on User controller routes
This commit is contained in:
@ -7,6 +7,7 @@ var User = require('../models/User');
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* GET /account
|
* GET /account
|
||||||
|
* User account page
|
||||||
*/
|
*/
|
||||||
exports.getAccount = function(req, res) {
|
exports.getAccount = function(req, res) {
|
||||||
res.render('account', {
|
res.render('account', {
|
||||||
@ -19,6 +20,7 @@ exports.getAccount = function(req, res) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* POST /account#profile
|
* POST /account#profile
|
||||||
|
* Update user's profile information
|
||||||
*/
|
*/
|
||||||
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) {
|
||||||
@ -40,6 +42,7 @@ exports.postAccountProfileTab = function(req, res, next) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* POST /account#settings
|
* POST /account#settings
|
||||||
|
* Update user's current password
|
||||||
*/
|
*/
|
||||||
exports.postAccountSettingsTab = function(req, res) {
|
exports.postAccountSettingsTab = function(req, res) {
|
||||||
|
|
||||||
@ -73,6 +76,7 @@ exports.postAccountSettingsTab = function(req, res) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* POST /account/delete
|
* POST /account/delete
|
||||||
|
* Delete user's account
|
||||||
*/
|
*/
|
||||||
exports.postDeleteAccount = function(req, res, next) {
|
exports.postDeleteAccount = function(req, res, next) {
|
||||||
User.remove({ _id: req.user.id }, function(err) {
|
User.remove({ _id: req.user.id }, function(err) {
|
||||||
@ -84,6 +88,7 @@ exports.postDeleteAccount = function(req, res, next) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* GET /login
|
* GET /login
|
||||||
|
* User login page
|
||||||
*/
|
*/
|
||||||
exports.getLogin = function(req, res) {
|
exports.getLogin = function(req, res) {
|
||||||
if (req.user) return res.redirect('back');
|
if (req.user) return res.redirect('back');
|
||||||
@ -96,6 +101,7 @@ exports.getLogin = function(req, res) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* POST /login
|
* POST /login
|
||||||
|
* Log in with provided credentials (non-oauth)
|
||||||
*/
|
*/
|
||||||
exports.postLogin = function(req, res, next) {
|
exports.postLogin = function(req, res, next) {
|
||||||
passport.authenticate('local', function(err, user, info) {
|
passport.authenticate('local', function(err, user, info) {
|
||||||
@ -113,6 +119,7 @@ exports.postLogin = function(req, res, next) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* GET /signup
|
* GET /signup
|
||||||
|
* User signup page
|
||||||
*/
|
*/
|
||||||
exports.getSignup = function(req, res) {
|
exports.getSignup = function(req, res) {
|
||||||
if (req.user) return res.redirect('back');
|
if (req.user) return res.redirect('back');
|
||||||
@ -126,6 +133,7 @@ exports.getSignup = function(req, res) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* POST /signup
|
* POST /signup
|
||||||
|
* Create a new user (non-oauth)
|
||||||
*/
|
*/
|
||||||
exports.postSignup = function(req, res, next) {
|
exports.postSignup = function(req, res, next) {
|
||||||
// TODO: add mongoose validation on ToS (virtual?)
|
// TODO: add mongoose validation on ToS (virtual?)
|
||||||
@ -166,13 +174,16 @@ exports.postSignup = function(req, res, next) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* GET /account/unlink/:provider
|
* GET /account/unlink/:provider
|
||||||
|
* Unlink an oauth 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;
|
||||||
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[provider] = undefined;
|
user[provider] = undefined;
|
||||||
user.tokens = _.reject(user.tokens, function(token) { return token.kind === 'google'; });
|
user.tokens = _.reject(user.tokens, function(token) { return token.kind === 'google'; });
|
||||||
|
|
||||||
user.save(function(err) {
|
user.save(function(err) {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
res.redirect('/account#settings');
|
res.redirect('/account#settings');
|
||||||
@ -182,8 +193,9 @@ exports.getOauthUnlink = function(req, res, next) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* GET /logout
|
* GET /logout
|
||||||
|
* Log out
|
||||||
*/
|
*/
|
||||||
exports.logout = function(req, res) {
|
exports.logout = function(req, res) {
|
||||||
req.logout();
|
req.logout();
|
||||||
res.redirect('/');
|
res.redirect('/');
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user