stratumn-cli
Version:
CLI tools for Stratumn
46 lines (37 loc) • 1.15 kB
JavaScript
import readline from 'readline';
import commander from 'commander';
import readPackageSync from '../utils/readPackageSync';
import question from '../utils/question';
import patch from '../utils/patch';
commander
.version(readPackageSync('version'))
.parse(process.argv);
function handleError(err) {
process.stderr.write(err.message + '\n', () => process.exit(1));
}
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const payload = {};
function password() {
const pwds = {};
return question(rl, 'New password: ', 'password1', pwds, { hidden: true })
.then(() => {
return question(rl, 'Re-enter new password: ', 'password2', pwds, { hidden: true });
})
.then(() => {
if (pwds.password1 !== pwds.password2) {
process.stderr.write('Passwords are not the same!\n');
return password();
}
payload.password = pwds.password1;
});
}
question(rl, 'Current password: ', 'currentPassword', payload, { hidden: true })
.then(password)
.then(() => patch('/user', payload, true))
.then(() => {
process.exit();
})
.catch(handleError);