Skip to content

Commit

Permalink
feat(addon providers): add --format json|human option
Browse files Browse the repository at this point in the history
Fixes #589
  • Loading branch information
pdesoyres-cc authored and hsablonniere committed Jul 1, 2024
1 parent cbe6fef commit 9b806a1
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 9 deletions.
1 change: 1 addition & 0 deletions bin/clever.js
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,7 @@ function run () {
const addonProvidersCommand = cliparse.command('providers', {
description: 'List available add-on providers',
commands: [addonShowProviderCommand],
options: [opts.humanJsonOutputFormat],
}, addon('listProviders'));
const addonEnvCommand = cliparse.command('env', {
description: 'List environment variables for an add-on',
Expand Down
39 changes: 30 additions & 9 deletions src/commands/addon.js
Original file line number Diff line number Diff line change
Expand Up @@ -193,18 +193,39 @@ async function rename (params) {
Logger.println(`Addon ${addon.addon_id || addon.addon_name} successfully renamed to ${newName}`);
}

async function listProviders () {
async function listProviders (params) {
const { format } = params.options;

const providers = await Addon.listProviders();

const formattedProviders = providers.map((provider) => {
return [
colors.bold(provider.id),
provider.name,
provider.shortDesc || '',
];
});
Logger.println(formatTable(formattedProviders));
switch (format) {
case 'json': {
const formattedProviders = providers.map((provider) => ({
id: provider.id,
name: provider.name,
shortDesc: provider.shortDesc,
regions: provider.regions,
plans: provider.plans.map((plan) => ({
id: plan.id,
name: plan.name,
slug: plan.slug,
})),
}));
Logger.printJson(formattedProviders);
break;
}
case 'human':
default: {
const formattedProviders = providers.map((provider) => {
return [
colors.bold(provider.id),
provider.name,
provider.shortDesc || '',
];
});
Logger.println(formatTable(formattedProviders));
}
}
}

async function showProvider (params) {
Expand Down

0 comments on commit 9b806a1

Please sign in to comment.