aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/users.coffee
blob: 1611f691e390f8b8ec2ac49d2ce58f6416041ce5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
db = require("redis").createClient()
bcrypt = require('bcrypt')

module.exports = (sessions) ->
  exists: (req, res) ->
    db.hgetall(req.params.user, (err, obj) ->
      if obj? then res.write('true') else res.write('false')
      res.end()
    )

  new: (req, res) ->
    res.render('users/new', 
      js: (-> global.js), 
      css: (-> global.css),
    )

  create: (req, res) ->
    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)
          )
        )
    )