Skip to content
Snippets Groups Projects
Commit 40a6adbb authored by Cédric Moreau's avatar Cédric Moreau
Browse files

[enh] `revert` + `revert-to` modularized

parent 1ea75a28
Branches
Tags
No related merge requests found
......@@ -167,40 +167,6 @@ module.exports = () => {
});
})));
program
.command('revert [count]')
.description('Revert (undo + remove) the top [count] blocks from the blockchain. EXPERIMENTAL')
.action(subCommand(service(function (count, server) {
return co(function *() {
try {
for (let i = 0; i < count; i++) {
yield server.revert();
}
} catch (err) {
logger.error('Error during revert:', err);
}
// Save DB
yield server.disconnect();
});
})));
program
.command('revert-to [number]')
.description('Revert (undo + remove) top blockchain blocks until block #[number] is reached. EXPERIMENTAL')
.action(subCommand(service(function (number, server) {
return co(function *() {
try {
yield server.revertTo(number);
} catch (err) {
logger.error('Error during revert:', err);
}
// Save DB
if (server) {
yield server.disconnect();
}
});
})));
program
.on('*', function (cmd) {
console.log("Unknown command '%s'. Try --help for a listing of commands & options.", cmd);
......
"use strict";
const co = require('co');
module.exports = {
duniter: {
cli: [{
name: 'revert [count]',
desc: 'Revert (undo + remove) the top [count] blocks from the blockchain. EXPERIMENTAL',
onPluggedDALExecute: (server, conf, program, params) => co(function*() {
const count = params[0];
const logger = server.logger;
try {
for (let i = 0; i < count; i++) {
yield server.revert();
}
} catch (err) {
logger.error('Error during revert:', err);
}
// Save DB
yield server.disconnect();
})
},{
name: 'revert-to [number]',
desc: 'Revert (undo + remove) top blockchain blocks until block #[number] is reached. EXPERIMENTAL',
onPluggedDALExecute: (server, conf, program, params) => co(function*() {
const number = params[0];
const logger = server.logger;
try {
yield server.revertTo(number);
} catch (err) {
logger.error('Error during revert:', err);
}
// Save DB
if (server) {
yield server.disconnect();
}
})
}]
}
}
......@@ -20,6 +20,7 @@ const resetDependency = require('./app/modules/reset');
const checkConfDependency = require('./app/modules/check-config');
const exportBcDependency = require('./app/modules/export-bc');
const reapplyDependency = require('./app/modules/reapply');
const revertDependency = require('./app/modules/revert');
const MINIMAL_DEPENDENCIES = [
{ name: 'duniter-config', required: configDependency }
......@@ -34,6 +35,7 @@ const DEFAULT_DEPENDENCIES = [
{ name: 'duniter-chkconf', required: checkConfDependency },
{ name: 'duniter-exportbc', required: exportBcDependency },
{ name: 'duniter-reapply', required: reapplyDependency },
{ name: 'duniter-revert', required: revertDependency },
{ name: 'duniter-keypair', required: dkeypairDependency }
];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment