From e205dfa7dc67368cd813d8dde20188153fd27c35 Mon Sep 17 00:00:00 2001 From: jash Date: Sat, 6 Oct 2018 23:01:39 +0200 Subject: [PATCH] hosts in validator can now be ip address or fully qualified domain names --- .../generators/app/features/100_bitcoin.js | 2 +- .../generators/app/features/200_lightning.js | 2 +- install/generator-cyphernode/generators/app/index.js | 11 +++++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/install/generator-cyphernode/generators/app/features/100_bitcoin.js b/install/generator-cyphernode/generators/app/features/100_bitcoin.js index de7148d..b9cb878 100644 --- a/install/generator-cyphernode/generators/app/features/100_bitcoin.js +++ b/install/generator-cyphernode/generators/app/features/100_bitcoin.js @@ -35,7 +35,7 @@ module.exports = { type: 'input', name: 'bitcoin_node_ip', default: utils._getDefault( 'bitcoin_node_ip' ), - validate: utils._ipValidator, + validate: utils._ipOrFQDNValidator, message: 'What is your full node ip address?'+'\n', }, { diff --git a/install/generator-cyphernode/generators/app/features/200_lightning.js b/install/generator-cyphernode/generators/app/features/200_lightning.js index 70d8f18..580ca17 100644 --- a/install/generator-cyphernode/generators/app/features/200_lightning.js +++ b/install/generator-cyphernode/generators/app/features/200_lightning.js @@ -30,7 +30,7 @@ module.exports = { type: 'input', name: 'lightning_external_ip', default: utils._getDefault( 'lightning_external_ip' ), - validate: utils._ipValidator, + validate: utils._ipOrFQDNValidator, message: 'What external ip does your lightning node have?'+'\n', }]; }, diff --git a/install/generator-cyphernode/generators/app/index.js b/install/generator-cyphernode/generators/app/index.js index edd8611..19445f5 100644 --- a/install/generator-cyphernode/generators/app/index.js +++ b/install/generator-cyphernode/generators/app/index.js @@ -73,8 +73,15 @@ module.exports = class extends Generator { return this.props && this.props[name]; } - _ipValidator( ip ) { - return validator.isIP((ip+"").trim()); + _ipOrFQDNValidator( host ) { + host = (host+"").trim(); + + if( !(validator.isIP(host) || + validator.isFQDN(host)) ) { + throw new Error( 'No IP address or fully qualified domain name' ) + } + + return true; } _xkeyValidator( xpub ) {