UNPKG

zapier-platform-cli

Version:

The CLI for managing integrations in Zapier Developer Platform.

41 lines (35 loc) 1.34 kB
const ZapierBaseCommand = require('../../ZapierBaseCommand'); const { grey, bold } = require('colors/safe'); const { listCanaries } = require('../../../utils/api'); const { buildFlags } = require('../../buildFlags'); class CanaryListCommand extends ZapierBaseCommand { async perform() { const canaries = await listCanaries(); const formattedCanaries = canaries.objects.map((c) => ({ from_version: c.from_version, to_version: c.to_version, percent: c.percent, seconds_remaining: c.until_timestamp - Math.floor(Date.now() / 1000), user: c.user, account_id: c.account_id, })); this.log(bold('Active Canaries') + '\n'); this.logTable({ rows: formattedCanaries, headers: [ ['From Version', 'from_version'], ['To Version', 'to_version'], ['Traffic Amount', 'percent'], ['Seconds Remaining', 'seconds_remaining'], ['User', 'user'], ['Account ID', 'account_id'], ], emptyMessage: grey(`No active canary deployments found.`), }); } } CanaryListCommand.flags = buildFlags({ opts: { format: true } }); CanaryListCommand.description = 'List all active canary deployments'; CanaryListCommand.examples = ['zapier canary:list']; CanaryListCommand.skipValidInstallCheck = true; module.exports = CanaryListCommand;