diff --git a/lib/expressapp.js b/lib/expressapp.js index 98b62fe..ab03335 100644 --- a/lib/expressapp.js +++ b/lib/expressapp.js @@ -616,6 +616,7 @@ ExpressApp.prototype.start = function(opts, cb) { router.get('/v1/stats/', function(req, res) { var opts = {}; if (req.query.network) opts.network = req.query.network; + if (req.query.coin) opts.coin = req.query.coin; if (req.query.from) opts.from = req.query.from; if (req.query.to) opts.to = req.query.to; diff --git a/lib/stats.js b/lib/stats.js index bc57804..052972c 100644 --- a/lib/stats.js +++ b/lib/stats.js @@ -21,6 +21,7 @@ function Stats(opts) { opts = opts || {}; this.network = opts.network || 'livenet'; + this.coin = opts.coin || 'btc'; this.from = moment(opts.from || INITIAL_DATE); this.to = moment(opts.to); this.fromTs = this.from.startOf('day').valueOf(); @@ -70,13 +71,13 @@ Stats.prototype._getNewWallets = function(cb) { function getLastDate(cb) { self.db.collection('stats_wallets') - .find({}) + .find({'_id.coin': self.coin}) .sort({ '_id.day': -1 }) .limit(1) .toArray(function(err, lastRecord) { - if (_.isEmpty(lastRecord)) return cb(null, moment(INITIAL_DATE)); + if (_.isEmpty(lastRecord)) return cb(null, moment(INITIAL_DATE)); return cb(null, moment(lastRecord[0]._id.day)); }); }; @@ -91,6 +92,7 @@ Stats.prototype._getNewWallets = function(cb) { var key = { day: +day, network: this.network, + coin: this.coin }; var value = { count: 1 @@ -127,6 +129,7 @@ Stats.prototype._getNewWallets = function(cb) { self.db.collection('stats_wallets') .find({ '_id.network': self.network, + '_id.coin': self.coin, '_id.day': { $gte: self.fromTs, $lte: self.toTs, @@ -142,6 +145,7 @@ Stats.prototype._getNewWallets = function(cb) { var day = moment(record._id.day).format('YYYYMMDD'); return { day: day, + coin: record._id.coin, count: record.value.count, }; }); @@ -181,7 +185,7 @@ Stats.prototype._getTxProposals = function(cb) { function getLastDate(cb) { self.db.collection('stats_txps') - .find({}) + .find({'_id.coin': self.coin }) .sort({ '_id.day': -1 }) @@ -202,6 +206,7 @@ Stats.prototype._getTxProposals = function(cb) { var key = { day: +day, network: this.network, + coin: this.coin }; var value = { count: 1, @@ -243,6 +248,7 @@ Stats.prototype._getTxProposals = function(cb) { self.db.collection('stats_txps') .find({ '_id.network': self.network, + '_id.coin': self.coin, '_id.day': { $gte: self.fromTs, $lte: self.toTs, @@ -262,6 +268,7 @@ Stats.prototype._getTxProposals = function(cb) { var day = moment(record._id.day).format('YYYYMMDD'); stats.nbByDay.push({ day: day, + coin: record._id.coin, count: record.value.count, }); stats.amountByDay.push({