balena-cli
Version:
The official balena Command Line Interface
65 lines (62 loc) • 2.26 kB
JavaScript
;
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