stratumn-cli
Version:
CLI tools for Stratumn
75 lines (56 loc) • 2.46 kB
JavaScript
;
var _readline = require('readline');
var _readline2 = _interopRequireDefault(_readline);
var _commander = require('commander');
var _commander2 = _interopRequireDefault(_commander);
var _readPackageSync = require('../utils/readPackageSync');
var _readPackageSync2 = _interopRequireDefault(_readPackageSync);
var _question = require('../utils/question');
var _question2 = _interopRequireDefault(_question);
var _post = require('../utils/post');
var _post2 = _interopRequireDefault(_post);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
_commander2.default.version((0, _readPackageSync2.default)('version')).parse(process.argv);
function handleError(err) {
if (err.message.indexOf('tos') > -1) {
process.stderr.write('You must first accept the Terms of Services in order to use the Stratumn Developer API!' + '\n', function () {
return process.exit(1);
});
} else {
process.stderr.write(err.message + '\n', function () {
return process.exit(1);
});
}
}
var rl = _readline2.default.createInterface({
input: process.stdin,
output: process.stdout
});
var payload = {};
function password() {
var pwds = {};
return (0, _question2.default)(rl, 'Password: ', 'password1', pwds, { hidden: true }).then(function () {
return (0, _question2.default)(rl, 'Re-enter password: ', 'password2', pwds, { hidden: true });
}).then(function () {
if (pwds.password1 !== pwds.password2) {
process.stderr.write('Passwords are not the same!\n');
return password();
}
payload.password = pwds.password1;
});
}
(0, _question2.default)(rl, 'Invite Token: ', 'inviteToken', payload).then(function () {
return (0, _question2.default)(rl, 'Email: ', 'email', payload);
}).then(function () {
return (0, _question2.default)(rl, 'First name: ', 'firstName', payload);
}).then(function () {
return (0, _question2.default)(rl, 'Last name: ', 'lastName', payload);
}).then(function () {
return (0, _question2.default)(rl, '[Company]: ', 'company', payload, { required: false });
}).then(password).then(function () {
return (0, _question2.default)(rl, 'Do you accept the ToS at https://stratumn.com/tos.html (Y/N) ? ', 'tos', payload);
}).then(function () {
return (0, _post2.default)('/signup', payload);
}).then(function () {
process.stdout.write('You may now login with `stratumn login`\n', process.exit);
}).catch(handleError);