aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/sessions.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/sessions.coffee')
-rw-r--r--src/routes/sessions.coffee21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/routes/sessions.coffee b/src/routes/sessions.coffee
new file mode 100644
index 00000000..775c52ac
--- /dev/null
+++ b/src/routes/sessions.coffee
@@ -0,0 +1,21 @@
+module.exports = (passport) ->
+ new: (req, res) ->
+ res.render('sessions/new')
+
+ create: (req, res, next) ->
+ passport.authenticate('local', (err, user, info) ->
+ if (err)
+ return next(err)
+ if (!user)
+ return res.render('sessions/new', badpw: true)
+ req.login(user, (err) ->
+ if (err)
+ return next(err)
+ url = "/#{user.username}/edit"
+ return res.redirect(url)
+ )
+ )(req, res, next)
+
+ destroy: (req, res) ->
+ req.logout()
+ res.redirect('/login')