From cab6cdbd6a9a0ad8f6f0834a059ebc8045a5fec8 Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Thu, 6 Apr 2017 13:24:39 +0200 Subject: [PATCH] [enh] #941 Added `preventIfRunning` field for commands of modules --- app/modules/reapply.js | 1 + app/modules/reset.js | 1 + app/modules/revert.js | 2 ++ index.js | 6 ++++++ package.json | 4 ++-- 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/modules/reapply.js b/app/modules/reapply.js index 1adb83f31..f6640a8e1 100644 --- a/app/modules/reapply.js +++ b/app/modules/reapply.js @@ -7,6 +7,7 @@ module.exports = { cli: [{ name: 'reapply-to [number]', desc: 'Reapply reverted blocks until block #[number] is reached. EXPERIMENTAL', + preventIfRunning: true, onDatabaseExecute: (server, conf, program, params) => co(function*() { const number = params[0]; const logger = server.logger; diff --git a/app/modules/reset.js b/app/modules/reset.js index fa7396d18..5786f37a3 100644 --- a/app/modules/reset.js +++ b/app/modules/reset.js @@ -11,6 +11,7 @@ module.exports = { cli: [{ name: 'reset [config|data|peers|tx|stats|all]', desc: 'Reset configuration, data, peers, transactions or everything in the database', + preventIfRunning: true, onConfiguredExecute: (server, conf, program, params, wizardTasks) => co(function*() { const type = params[0]; diff --git a/app/modules/revert.js b/app/modules/revert.js index 1fb00afd6..eda5642f9 100644 --- a/app/modules/revert.js +++ b/app/modules/revert.js @@ -7,6 +7,8 @@ module.exports = { cli: [{ name: 'revert [count]', desc: 'Revert (undo + remove) the top [count] blocks from the blockchain. EXPERIMENTAL', + preventIfRunning: true, + onDatabaseExecute: (server, conf, program, params) => co(function*() { const count = params[0]; const logger = server.logger; diff --git a/index.js b/index.js index 5837f1bc9..9e57eef40 100644 --- a/index.js +++ b/index.js @@ -222,6 +222,12 @@ function Stack(dependencies) { logger.error("Configuration could not be saved: " + e); throw Error(e); } + + const daemon = server.getDaemon() + if (command.preventIfRunning && daemon.status()) { + throw 'Your node is currently running. Please stop it and relaunch your command.' + } + // First possible class of commands: post-config if (command.onConfiguredExecute) { return yield command.onConfiguredExecute(server, conf, program, params, wizardTasks, that); diff --git a/package.json b/package.json index 91278d03b..713917f2b 100644 --- a/package.json +++ b/package.json @@ -69,9 +69,9 @@ "devDependencies": { "coveralls": "2.11.4", "duniter-bma": "^1.0.7", - "duniter-crawler": "^1.0.7", + "duniter-crawler": "^1.0.8", "duniter-keypair": "^1.0.1", - "duniter-prover": "^1.0.3", + "duniter-prover": "^1.0.4", "eslint": "3.13.1", "eslint-plugin-mocha": "4.8.0", "istanbul": "0.4.0", -- GitLab