UNPKG

balena-cli

Version:

The official balena Command Line Interface

65 lines (62 loc) 2.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const cf = require("../../utils/common-flags"); const lazy_1 = require("../../utils/lazy"); const messages_1 = require("../../utils/messages"); const messages_2 = require("../../utils/messages"); class ReleaseListCmd extends core_1.Command { async run() { const { args: params, flags: options } = await this.parse(ReleaseListCmd); const fields = [ 'id', 'commit', 'created_at', 'status', 'semver', 'is_final', ]; const balena = (0, lazy_1.getBalenaSdk)(); const { getFleetSlug } = await Promise.resolve().then(() => require('../../utils/sdk')); const releases = await balena.models.release.getAllByApplication(await getFleetSlug(balena, params.fleet), options.json ? { $expand: { release_tag: { $select: ['tag_key', 'value'], }, }, } : { $select: fields }); if (options.json) { console.log(JSON.stringify(releases, null, 4)); } else { const _ = await Promise.resolve().then(() => require('lodash')); console.log((0, lazy_1.getVisuals)().table.horizontal(releases.map((rel) => _.mapValues(rel, (val) => val !== null && val !== void 0 ? val : 'N/a')), fields)); } } } ReleaseListCmd.aliases = ['releases']; ReleaseListCmd.deprecateAliases = true; ReleaseListCmd.description = (0, lazy_1.stripIndent) ` List all releases of a fleet. List all releases of the given fleet. ${messages_1.applicationNameNote.split('\n').join('\n\t\t')} ${messages_2.jsonInfo.split('\n').join('\n\t\t')} `; ReleaseListCmd.examples = [ '$ balena release list myorg/myfleet', '$ balena release list myorg/myfleet --json', ]; ReleaseListCmd.flags = { json: cf.json, }; ReleaseListCmd.args = { fleet: core_1.Args.string({ description: 'fleet name or slug (preferred)', required: true, }), }; ReleaseListCmd.authenticated = true; exports.default = ReleaseListCmd; //# sourceMappingURL=list.js.map