Merge pull request #717 from JDonadio/stats/bch

BCH Stats
This commit is contained in:
Matias Alejo Garcia 2017-11-02 07:31:15 -03:00 committed by GitHub
commit 8bffde15a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 3 deletions

View File

@ -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;

View File

@ -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({