stratumn-cli
Version:
CLI tools for Stratumn
70 lines (48 loc) • 1.88 kB
JavaScript
;
var _util = require('util');
var _util2 = _interopRequireDefault(_util);
var _commander = require('commander');
var _commander2 = _interopRequireDefault(_commander);
var _chalk = require('chalk');
var _chalk2 = _interopRequireDefault(_chalk);
var _readPackageSync = require('../utils/readPackageSync');
var _readPackageSync2 = _interopRequireDefault(_readPackageSync);
var _get = require('../utils/get');
var _get2 = _interopRequireDefault(_get);
var _config = require('../config');
var _config2 = _interopRequireDefault(_config);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
_commander2.default.version((0, _readPackageSync2.default)('version')).parse(process.argv);
function handleError(err) {
process.stderr.write(err.message + '\n', function () {
return process.exit(1);
});
}
function rpad(str, cols) {
return str + new Array(Math.max(0, cols - str.length) + 1).join(' ');
}
var header = rpad('NAME', 34) + rpad('ROLE', 14) + rpad('PLAN', 14) + rpad('AGENTS', 8) + 'URL\n';
(0, _get2.default)('/applications', true).then(function (apps) {
var list = apps.map(function (app) {
var role = rpad(app.role, 14);
switch (app.role) {
case 'OWNER':
role = _chalk2.default.green(role);
break;
case 'ADMIN':
role = _chalk2.default.cyan(role);
break;
default:
}
return _chalk2.default.bold(rpad(app.name, 34)) + role + rpad(app.plan, 14) + rpad(app.agents.length + '', 8) + _util2.default.format(_config2.default.applicationUrl, app.name);
}).join('\n');
process.stdout.write(header + list + '\n', process.exit);
}).catch(function (err) {
if (err.code === 'ENOENT') {
process.stdout.write('You must login first\n', function () {
return process.exit(1);
});
return;
}
handleError(err);
});