diff options
Diffstat (limited to 'src/routes/transactions.js')
| -rw-r--r-- | src/routes/transactions.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/routes/transactions.js b/src/routes/transactions.js new file mode 100644 index 00000000..97fc5659 --- /dev/null +++ b/src/routes/transactions.js @@ -0,0 +1,48 @@ +(function() { + var db; + + db = require('../redis'); + + module.exports = { + json: function(req, res) { + var r, user; + user = req.params.user; + r = { + 'transactions': [] + }; + return db.lrange("" + user + ":transactions", 0, -1, function(err, transactions) { + var i, process; + process = function(err, t) { + r.transactions.push(t); + if (i >= transactions.length) { + res.write(JSON.stringify(r)); + return res.end(); + } else { + return db.hgetall("" + user + ":transactions:" + transactions[i++], process); + } + }; + i = 0; + return db.hgetall("" + user + ":transactions:" + transactions[i++], process); + }); + }, + create: function(req, res) { + var user; + user = req.params.user; + return db.incr('transactions', function(err, id) { + return db.hmset("" + user + ":transactions:" + id, req.body, function() { + return db.rpush("" + user + ":transactions", id, function() { + res.write(JSON.stringify(req.body)); + return res.end(); + }); + }); + }); + }, + index: function(req, res) { + return res.render('transactions/index', { + user: req.params.user, + layout: 'layout' + }); + } + }; + +}).call(this); |
