-
Notifications
You must be signed in to change notification settings - Fork 8
/
update.js
35 lines (26 loc) · 793 Bytes
/
update.js
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
32
33
34
35
var responses = require('../../responses')
, guard = require('../../utils/guard')
, User = require('../../models/User')
, load = require('../../utils/load')
module.exports = req_handler
function req_handler(req, res, route, respond) {
var username = route.splats[0]
load(req, guard(update, respond))
function update(data) {
var pass = new Buffer(req.headers.authorization.split(' ')[1], 'base64')
.toString().split(':')[1]
User.auth(username, pass, got_user)
function got_user(err, user) {
if(err || !user) {
return responses.unauthorized(req, res)
}
User.update(user, data, updated)
}
function updated(err, user) {
if(err || !user) {
return respond(err)
}
respond(null, 201, user)
}
}
}