diff --git a/src/routes.js b/src/routes.js index 65fc1a68..8a144800 100644 --- a/src/routes.js +++ b/src/routes.js @@ -21,6 +21,7 @@ const auth = require('../services/auth/auth') const FS = require('../utils/fs') const Encryption = require('../utils/encryptionStore') const LightningServices = require('../utils/lightningServices') +const lndErrorManager = require('../utils/lightningServices/errors') const GunDB = require('../services/gunDB/Mediator') const { unprotectedRoutes, @@ -63,7 +64,10 @@ module.exports = async ( return message } - const getAvailableService = () => + const getAvailableService = () => { + return lndErrorManager.getAvailableService() + } + /* new Promise((resolve, reject) => { const { lightning } = LightningServices.services @@ -105,13 +109,22 @@ module.exports = async ( success: true }) }) - }) + })*/ const checkHealth = async () => { logger.info('Getting service status...') - const serviceStatus = await getAvailableService() - logger.info('Received status:', serviceStatus) - const LNDStatus = serviceStatus + let LNDStatus = {} + try { + const serviceStatus = await getAvailableService() + logger.info('Received status:', serviceStatus) + LNDStatus = serviceStatus + } catch (e) { + LNDStatus = { + message: e.message, + success: false + } + } + try { logger.info('Getting API status...') const APIHealth = await Http.get( diff --git a/utils/lightningServices/errors.js b/utils/lightningServices/errors.js index f1051099..04e35aeb 100644 --- a/utils/lightningServices/errors.js +++ b/utils/lightningServices/errors.js @@ -25,6 +25,7 @@ class LNDErrorManager { */ _healthListeners = [] + //rejects if(err && err.code !== 12) getAvailableService(){ //require('shock-common').Utils.makePromise((res, rej) => ...) @@ -57,6 +58,15 @@ class LNDErrorManager { walletStatus: 'unknown', success: false }) + } else if(err.code === 4){ + rej({ + service: 'unknown', + message: + "LND Timeout", + code: 4, + walletStatus: 'unknown', + success: false + }) } else { rej({ service: 'lightning',