aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2014-09-16 08:49:02 -0700
committerAdam Soltys <[email protected]>2014-09-16 08:49:02 -0700
commit98bb41a55a1e8cc0770552478baa74e7512563e4 (patch)
tree28ce19d2411bcdb9ec7677e4dff3b6d635913596
parent0765adfc8993e8641e61a8db40965ef091c0f451 (diff)
downloadcoinos-server-98bb41a55a1e8cc0770552478baa74e7512563e4.tar.gz
coinos-server-98bb41a55a1e8cc0770552478baa74e7512563e4.zip
Fix transactions index bug
-rw-r--r--routes/transactions.js10
-rw-r--r--routes/users.js3
-rw-r--r--src/routes/transactions.coffee9
-rw-r--r--src/routes/users.coffee5
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}")
)
)