@axway/axway-cli-oum
Version:
Axway Amplify platform organization and user management CLI
54 lines (45 loc) • 1.56 kB
JavaScript
import { initPlatformAccount, createTable } from '@axway/amplify-cli-utils';
import snooplogg from 'snooplogg';
var roles = {
desc: 'View available organization user roles',
options: {
'--account [name]': 'The platform account to use',
'--json': {
callback: ({ ctx, value }) => ctx.jsonMode = value,
desc: 'Outputs roles as JSON'
},
'--org [name|id|guid]': 'The organization name, id, or guid; roles vary by org'
},
async action({ argv, console }) {
let { account, org, sdk } = await initPlatformAccount(argv.account, argv.org, argv.env);
const roles = (await sdk.role.list(account, { org }));
if (argv.json) {
console.log(JSON.stringify({
account: account.name,
org,
roles
}, null, 2));
return;
}
const { highlight, note } = snooplogg.styles;
const platformRoles = createTable([ ' Role', 'Description' ]);
const serviceRoles = createTable([ ' Role', 'Description', 'Product' ]);
for (const role of roles) {
if (role.default) {
platformRoles.push([ ` ${highlight(role.id)}`, role.name ]);
} else {
serviceRoles.push([ ` ${highlight(role.id)}`, role.name, role.product || '' ]);
}
}
console.log(`Account: ${highlight(account.name)}`);
console.log(`Organization: ${highlight(org.name)} ${note(`(${org.guid})`)}\n`);
console.log('PLATFORM ROLES');
console.log(platformRoles.toString());
if (serviceRoles.length) {
console.log('\nSERVICE ROLES');
console.log(serviceRoles.toString());
}
}
};
export { roles as default };
//# sourceMappingURL=roles.js.map