UNPKG

stratumn-cli

Version:
51 lines (41 loc) 1.33 kB
import util from 'util'; import commander from 'commander'; import chalk from 'chalk'; import readPackageSync from '../utils/readPackageSync'; import get from '../utils/get'; import config from '../config'; commander .version(readPackageSync('version')) .parse(process.argv); function handleError(err) { process.stderr.write(err.message + '\n', () => process.exit(1)); } function rpad(str, cols) { return str + new Array(Math.max(0, cols - str.length) + 1).join(' '); } const header = rpad('NAME', 34) + rpad('ROLE', 14) + rpad('PLAN', 14) + rpad('AGENTS', 8) + 'URL\n'; get('/applications', true) .then(apps => { const list = apps.map(app => { let role = rpad(app.role, 14); switch (app.role) { case 'OWNER': role = chalk.green(role); break; case 'ADMIN': role = chalk.cyan(role); break; default: } return chalk.bold(rpad(app.name, 34)) + role + rpad(app.plan, 14) + rpad(app.agents.length + '', 8) + util.format(config.applicationUrl, app.name); }).join('\n'); process.stdout.write(header + list + '\n', process.exit); }) .catch(err => { if (err.code === 'ENOENT') { process.stdout.write('You must login first\n', () => process.exit(1)); return; } handleError(err); });