From 98bb41a55a1e8cc0770552478baa74e7512563e4 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 16 Sep 2014 08:49:02 -0700 Subject: Fix transactions index bug --- routes/transactions.js | 10 ++++------ routes/users.js | 3 +++ src/routes/transactions.coffee | 9 +++------ src/routes/users.coffee | 5 ++++- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/routes/transactions.js b/routes/transactions.js index ed45cbf0..28fd2418 100644 --- a/routes/transactions.js +++ b/routes/transactions.js @@ -28,7 +28,7 @@ txid = function() { var x; x = transactions[i++]; - if (isNaN(parseInt(x))) { + if (x.match(/[a-z]/i)) { return x; } return user + ":transactions:" + x; @@ -47,8 +47,7 @@ }); }, create: function(req, res) { - var finish, user; - user = req.params.user; + var finish; finish = function() { res.write(JSON.stringify(req.body)); return res.end(); @@ -57,12 +56,11 @@ return db.exists(req.body.txid, function(err, result) { var multi; if (result) { - finish(); - return; + return finish(); } multi = db.multi(); multi.hmset(req.body.txid, req.body); - multi.rpush("" + user + ":transactions", req.body.txid); + multi.rpush("" + req.params.user + ":transactions", req.body.txid); return multi.exec(function(err, replies) { return finish(); }); diff --git a/routes/users.js b/routes/users.js index df89eb5b..37ce9774 100644 --- a/routes/users.js +++ b/routes/users.js @@ -177,6 +177,9 @@ if (req.body.password === '') { delete req.body.password; } + if (req.body.privkey === '') { + delete req.body.privkey; + } db.hmset("user:" + req.params.user, req.body, function() { if (req.body.password != null) { return bcrypt.hash(req.body.password, 12, function(err, hash) { diff --git a/src/routes/transactions.coffee b/src/routes/transactions.coffee index 831baeaf..4578a7d8 100644 --- a/src/routes/transactions.coffee +++ b/src/routes/transactions.coffee @@ -17,7 +17,7 @@ module.exports = db.lrange("#{user}:transactions", 0, -1, (err, transactions) -> txid = -> x = transactions[i++] - return x if isNaN(parseInt(x)) + return x if x.match(/[a-z]/i) return user + ":transactions:" + x cb = (err, t) -> @@ -34,20 +34,17 @@ module.exports = ) create: (req, res) -> - user = req.params.user finish = -> res.write(JSON.stringify(req.body)) res.end() db.watch(req.body.txid) db.exists(req.body.txid, (err, result) -> - if result - finish() - return + return finish() if result multi = db.multi() multi.hmset(req.body.txid, req.body) - multi.rpush("#{user}:transactions", req.body.txid) + multi.rpush("#{req.params.user}:transactions", req.body.txid) multi.exec((err, replies) -> finish() ) diff --git a/src/routes/users.coffee b/src/routes/users.coffee index e5a26af2..307f7ab6 100644 --- a/src/routes/users.coffee +++ b/src/routes/users.coffee @@ -134,10 +134,13 @@ module.exports = (sessions) -> if req.body.password is '' delete req.body.password + if req.body.privkey is '' + delete req.body.privkey + db.hmset("user:"+req.params.user, req.body, -> if req.body.password? bcrypt.hash(req.body.password, 12, (err, hash) -> - db.hmset("user:"+req.params.user,password: hash, -> + db.hmset("user:#{req.params.user}", password: hash, -> res.redirect("/#{req.params.user}") ) ) -- cgit v1.2.3