aboutsummaryrefslogtreecommitdiffstats
path: root/routes/users.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'routes/users.coffee')
-rw-r--r--routes/users.coffee20
1 files changed, 14 insertions, 6 deletions
diff --git a/routes/users.coffee b/routes/users.coffee
index ea927583..d312dcf5 100644
--- a/routes/users.coffee
+++ b/routes/users.coffee
@@ -1,7 +1,7 @@
db = require("redis").createClient()
bcrypt = require('bcrypt')
-module.exports =
+module.exports = (sessions) ->
json: (req, res) ->
db.hgetall(req.params.user, (err, obj) ->
delete obj['password']
@@ -23,11 +23,19 @@ module.exports =
)
create: (req, res) ->
- bcrypt.hash(req.body.password, 12, (err, hash) ->
- req.body.password = hash
- db.hmset(req.body.username, req.body, ->
- res.redirect(req.body.username)
- )
+ db.hgetall(req.body.username, (err, obj) ->
+ if obj
+ res.redirect(req.body.username)
+ else
+ bcrypt.hash(req.body.password, 12, (err, hash) ->
+ db.hmset(
+ req.body.username,
+ {username: req.body.username, password: hash},
+ ->
+ req.headers['referer'] = "/#{req.body.username}/edit"
+ sessions.create(req, res)
+ )
+ )
)
edit: (req, res) ->