1 | 'use strict'
|
2 |
|
3 | const cli = require('heroku-cli-util')
|
4 | const co = require('co')
|
5 |
|
6 | function * 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 |
|
27 | module.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 | }
|