UNPKG

909 BJavaScriptView Raw
1'use strict'
2
3const cli = require('heroku-cli-util')
4const co = require('co')
5
6function * run (context, heroku) {
7 const util = require('../../lib/util')
8 const sortBy = require('lodash.sortby')
9
10 let plans = yield heroku.get(`/addon-services/${context.args.service}/plans`)
11 plans = sortBy(plans, 'price.cents')
12
13 if (context.flags.json) {
14 cli.styledJSON(plans)
15 } else {
16 cli.table(plans, {
17 columns: [
18 {key: 'default', label: '', format: (d) => d ? 'default' : ''},
19 {key: 'name', label: 'slug'},
20 {key: 'human_name', label: 'name'},
21 {key: 'price', format: util.formatPrice}
22 ]
23 })
24 }
25}
26
27module.exports = {
28 topic: 'addons',
29 command: 'plans',
30 description: 'list all available plans for an add-on services',
31 args: [{name: 'service'}],
32 flags: [
33 {name: 'json', description: 'output in json format'}
34 ],
35 run: cli.command(co.wrap(run))
36}