diff --git a/lib/app.js b/lib/app.js index 10885510..ba4ea3a5 100644 --- a/lib/app.js +++ b/lib/app.js @@ -7,6 +7,7 @@ const routes = require('./routes') const logger = require('./logger') const poller = require('./poller') const settingsLoader = require('./settings-loader') +const configManager = require('./config-manager') const options = require('./options') const ofac = require('./ofac/index') const ofacUpdate = require('./ofac/update') @@ -36,11 +37,18 @@ function run () { } function loadSanctions () { - logger.info('Loading sanctions DB...') - return ofacUpdate.update() - .then(() => logger.info('Sanctions DB updated')) - .then(ofac.load) - .then(() => logger.info('Sanctions DB loaded')) + return settingsLoader.loadLatest() + .then(settings => { + const config = configManager.unscoped(settings.config) + + if (!config.sanctionsVerificationActive) return + + logger.info('Loading sanctions DB...') + return ofacUpdate.update() + .then(() => logger.info('Sanctions DB updated')) + .then(ofac.load) + .then(() => logger.info('Sanctions DB loaded')) + }) } function runOnce () { diff --git a/lib/poller.js b/lib/poller.js index de7699c9..0d4cdeeb 100644 --- a/lib/poller.js +++ b/lib/poller.js @@ -7,6 +7,7 @@ const cashInTx = require('./cash-in/cash-in-tx') const sanctionsUpdater = require('./ofac/update') const sanctions = require('./ofac/index') const coinAtmRadar = require('./coinatmradar/coinatmradar') +const configManager = require('./config-manager') const INCOMING_TX_INTERVAL = 30 * T.seconds const LIVE_INCOMING_TX_INTERVAL = 5 * T.seconds @@ -34,6 +35,10 @@ function pi () { return _pi } function settings () { return _settings } function updateAndLoadSanctions () { + const config = configManager.unscoped(settings().config) + + if (!config.sanctionsVerificationActive) return Promise.resolve() + logger.info('Updating sanctions database...') return sanctionsUpdater.update() .then(sanctions.load)