diff options
Diffstat (limited to 'src/routes/sessions.js')
| -rw-r--r-- | src/routes/sessions.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/routes/sessions.js b/src/routes/sessions.js new file mode 100644 index 00000000..f038b484 --- /dev/null +++ b/src/routes/sessions.js @@ -0,0 +1,34 @@ +(function() { + module.exports = function(passport) { + return { + "new": function(req, res) { + return res.render('sessions/new'); + }, + create: function(req, res, next) { + return passport.authenticate('local', function(err, user, info) { + if (err) { + return next(err); + } + if (!user) { + return res.render('sessions/new', { + badpw: true + }); + } + return req.login(user, function(err) { + var url; + if (err) { + return next(err); + } + url = "/" + user.username + "/edit"; + return res.redirect(url); + }); + })(req, res, next); + }, + destroy: function(req, res) { + req.logout(); + return res.redirect('/login'); + } + }; + }; + +}).call(this); |
