diff --git a/app/controllers/blocks.js b/app/controllers/blocks.js index 21f82d0..fd355c8 100644 --- a/app/controllers/blocks.js +++ b/app/controllers/blocks.js @@ -3,10 +3,8 @@ /** * Module dependencies. */ - var mongoose = require('mongoose'), Block = mongoose.model('Block'); -//, _ = require('lodash'); /** @@ -35,10 +33,13 @@ exports.show = function(req, res) { } }; + /** * List of blocks by date */ exports.list = function(req, res) { + var limit = req.query.limit || 0; + //helper to convert timestamps to yyyy-mm-dd format var formatTimestamp = function (date) { var yyyy = date.getUTCFullYear().toString(); @@ -69,11 +70,10 @@ exports.list = function(req, res) { '$lte': lte } }) + .limit(limit) .exec(function(err, blocks) { if (err) { - res.render('error', { - status: 500 - }); + res.status(500).send(err); } else { res.jsonp({ blocks: blocks, @@ -86,5 +86,3 @@ exports.list = function(req, res) { } }); }; - - diff --git a/app/controllers/transactions.js b/app/controllers/transactions.js index 8146d04..a36c603 100644 --- a/app/controllers/transactions.js +++ b/app/controllers/transactions.js @@ -1,17 +1,12 @@ 'use strict'; - -var Transaction = require('../models/Transaction'); -var Block = require('../models/Block'); -var Address = require('../models/Address'); -var async = require('async'); -//, _ = require('lodash'); - - - /** * Module dependencies. */ +var Transaction = require('../models/Transaction'); +var Block = require('../models/Block'); +var Address = require('../models/Address'); +var async = require('async'); /** @@ -33,6 +28,7 @@ exports.transaction = function(req, res, next, txid) { /** + * Show transaction */ exports.show = function(req, res) { @@ -41,6 +37,7 @@ exports.show = function(req, res) { } }; + var getTransaction = function(txid, cb) { Transaction.fromIdWithInfo(txid, function(err, tx) { if (err) { @@ -51,9 +48,14 @@ var getTransaction = function(txid, cb) { }); }; -exports.transactions = function(req, res, next) { + +/** + * List of transaction + */ +exports.list = function(req, res, next) { var bId = req.query.block; var aId = req.query.address; + var limit = req.query.limit || 1000; if (bId) { Block.fromHashWithInfo(bId, function(err, block) { @@ -69,7 +71,7 @@ exports.transactions = function(req, res, next) { }); }); } - else { + else if (aId) { var a = Address.new(aId); a.update(function(err) { @@ -84,7 +86,18 @@ exports.transactions = function(req, res, next) { res.jsonp(results); }); }); - + } + else { + Transaction + .find() + .limit(limit) + .sort('-_id') + .exec(function(err, txs) { + if (err) { + res.status(500).send(err); + } else { + res.jsonp(txs); + } + }); } }; -