|
|
@ -82,6 +82,7 @@ Stats.prototype._getNewWallets = function(cb) { |
|
|
|
}; |
|
|
|
|
|
|
|
function updateStats(from, cb) { |
|
|
|
var to = moment().subtract(1, 'day').endOf('day'); |
|
|
|
var map = function() { |
|
|
|
var day = new Date(this.createdOn * 1000); |
|
|
|
day.setHours(0); |
|
|
@ -91,16 +92,25 @@ Stats.prototype._getNewWallets = function(cb) { |
|
|
|
day: +day, |
|
|
|
network: this.network, |
|
|
|
}; |
|
|
|
var value = 1; |
|
|
|
var value = { |
|
|
|
count: 1 |
|
|
|
}; |
|
|
|
emit(key, value); |
|
|
|
}; |
|
|
|
var reduce = function(k, v) { |
|
|
|
return v.length; |
|
|
|
var count = 0; |
|
|
|
for (var i = 0; i < v.length; i++) { |
|
|
|
count += v[i].count; |
|
|
|
} |
|
|
|
return { |
|
|
|
count: count, |
|
|
|
}; |
|
|
|
}; |
|
|
|
var opts = { |
|
|
|
query: { |
|
|
|
createdOn: { |
|
|
|
$gt: from.unix(), |
|
|
|
$lte: to.unix(), |
|
|
|
}, |
|
|
|
}, |
|
|
|
out: { |
|
|
@ -127,11 +137,12 @@ Stats.prototype._getNewWallets = function(cb) { |
|
|
|
}) |
|
|
|
.toArray(function(err, results) { |
|
|
|
if (err) return cb(err); |
|
|
|
var stats = _.map(results, function(record) { |
|
|
|
var stats = {}; |
|
|
|
stats.byDay = _.map(results, function(record) { |
|
|
|
var day = moment(record._id.day).format('YYYYMMDD'); |
|
|
|
return { |
|
|
|
day: day, |
|
|
|
count: record.value |
|
|
|
count: record.value.count, |
|
|
|
}; |
|
|
|
}); |
|
|
|
return cb(null, stats); |
|
|
@ -154,16 +165,13 @@ Stats.prototype._getNewWallets = function(cb) { |
|
|
|
}); |
|
|
|
}, |
|
|
|
function(next) { |
|
|
|
queryStats(function(err, result) { |
|
|
|
if (err) return next(err); |
|
|
|
var stats = { |
|
|
|
byDay: result |
|
|
|
}; |
|
|
|
return next(null, stats); |
|
|
|
}); |
|
|
|
queryStats(next); |
|
|
|
}, |
|
|
|
], |
|
|
|
function(err, res) { |
|
|
|
if (err) { |
|
|
|
log.error(err); |
|
|
|
} |
|
|
|
return cb(err, res[1]); |
|
|
|
}); |
|
|
|
}; |
|
|
@ -185,6 +193,7 @@ Stats.prototype._getTxProposals = function(cb) { |
|
|
|
}; |
|
|
|
|
|
|
|
function updateStats(from, cb) { |
|
|
|
var to = moment().subtract(1, 'day').endOf('day'); |
|
|
|
var map = function() { |
|
|
|
var day = new Date(this.broadcastedOn * 1000); |
|
|
|
day.setHours(0); |
|
|
@ -201,12 +210,14 @@ Stats.prototype._getTxProposals = function(cb) { |
|
|
|
emit(key, value); |
|
|
|
}; |
|
|
|
var reduce = function(k, v) { |
|
|
|
var amount = 0; |
|
|
|
var count = 0, |
|
|
|
amount = 0; |
|
|
|
for (var i = 0; i < v.length; i++) { |
|
|
|
count += v[i].count; |
|
|
|
amount += v[i].amount; |
|
|
|
} |
|
|
|
return { |
|
|
|
count: v.length, |
|
|
|
count: count, |
|
|
|
amount: amount, |
|
|
|
}; |
|
|
|
}; |
|
|
@ -215,6 +226,7 @@ Stats.prototype._getTxProposals = function(cb) { |
|
|
|
status: 'broadcasted', |
|
|
|
broadcastedOn: { |
|
|
|
$gt: from.unix(), |
|
|
|
$lte: to.unix(), |
|
|
|
}, |
|
|
|
}, |
|
|
|
out: { |
|
|
@ -277,13 +289,13 @@ Stats.prototype._getTxProposals = function(cb) { |
|
|
|
}); |
|
|
|
}, |
|
|
|
function(next) { |
|
|
|
queryStats(function(err, result) { |
|
|
|
if (err) return next(err); |
|
|
|
return next(null, result); |
|
|
|
}); |
|
|
|
queryStats(next); |
|
|
|
}, |
|
|
|
], |
|
|
|
function(err, res) { |
|
|
|
if (err) { |
|
|
|
log.error(err); |
|
|
|
} |
|
|
|
return cb(err, res[1]); |
|
|
|
}); |
|
|
|
}; |
|
|
|