|
|
@ -7,15 +7,12 @@ var log = require('npmlog'); |
|
|
|
log.debug = log.verbose; |
|
|
|
var request = require('request'); |
|
|
|
|
|
|
|
var Utils = require('./common/utils'); |
|
|
|
var Storage = require('./storage'); |
|
|
|
var Common = require('./common'); |
|
|
|
var Defaults = Common.Defaults; |
|
|
|
|
|
|
|
var Storage = require('./storage'); |
|
|
|
var Model = require('./model'); |
|
|
|
|
|
|
|
|
|
|
|
var DEFAULT_PROVIDER = 'BitPay'; |
|
|
|
var FETCH_INTERVAL = 15; // In minutes
|
|
|
|
|
|
|
|
function FiatRateService() {}; |
|
|
|
|
|
|
|
FiatRateService.prototype.init = function(opts, cb) { |
|
|
@ -24,7 +21,7 @@ FiatRateService.prototype.init = function(opts, cb) { |
|
|
|
opts = opts || {}; |
|
|
|
|
|
|
|
self.request = opts.request || request; |
|
|
|
self.defaultProvider = opts.defaultProvider || DEFAULT_PROVIDER; |
|
|
|
self.defaultProvider = opts.defaultProvider || Defaults.FIAT_RATE_PROVIDER; |
|
|
|
|
|
|
|
async.parallel([ |
|
|
|
|
|
|
@ -52,7 +49,7 @@ FiatRateService.prototype.startCron = function(opts, cb) { |
|
|
|
|
|
|
|
self.providers = _.values(require('./fiatrateproviders')); |
|
|
|
|
|
|
|
var interval = opts.fetchInterval || FETCH_INTERVAL; |
|
|
|
var interval = opts.fetchInterval || Defaults.FIAT_RATE_FETCH_INTERVAL; |
|
|
|
if (interval) { |
|
|
|
self._fetch(); |
|
|
|
setInterval(function() { |
|
|
@ -116,7 +113,7 @@ FiatRateService.prototype.getRate = function(opts, cb) { |
|
|
|
opts = opts || {}; |
|
|
|
|
|
|
|
var provider = opts.provider || self.defaultProvider; |
|
|
|
var ts = _.isNumber(opts.ts) ? opts.ts : Date.now(); |
|
|
|
var ts = (_.isNumber(opts.ts) || _.isArray(opts.ts)) ? opts.ts : Date.now(); |
|
|
|
|
|
|
|
async.map([].concat(ts), function(ts, cb) { |
|
|
|
self.storage.fetchFiatRate(provider, opts.code, ts, function(err, rate) { |
|
|
|