aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/sessions.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/sessions.js')
-rw-r--r--src/routes/sessions.js34
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);