UNPKG

balena-cli

Version:

The official balena Command Line Interface

75 lines (74 loc) 3.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const lazy_1 = require("../../utils/lazy"); const release_1 = require("../release"); class ReleaseAssetListCmd extends core_1.Command { async run() { const { args, flags } = await this.parse(ReleaseAssetListCmd); const balena = (0, lazy_1.getBalenaSdk)(); const { getRelease } = await Promise.resolve().then(() => require('../../utils/sdk')); const release = await getRelease(args.commitOrId, { $select: 'id' }); const releaseAssets = await balena.models.release.asset.getAllByRelease(release.id, { $select: ['id', 'asset_key', 'asset'], }); if (flags.json) { return JSON.stringify(releaseAssets, null, 2); } if (releaseAssets == null || releaseAssets.length === 0) { console.log('No assets found for this release'); return; } const tableData = releaseAssets.map((releaseAsset) => { var _a, _b, _c, _d, _e; let sizeStr = '-'; if ((_a = releaseAsset.asset) === null || _a === void 0 ? void 0 : _a.size) { const size = releaseAsset.asset.size; if (size < 1000) { sizeStr = `${size} B`; } else if (size < 1000 * 1000) { sizeStr = `${(size / 1000).toFixed(2)} KB`; } else if (size < 1000 * 1000 * 1000) { sizeStr = `${(size / 1000 / 1000).toFixed(2)} MB`; } else { sizeStr = `${(size / 1000 / 1000 / 1000).toFixed(2)} GB`; } } return { 'Asset Key': releaseAsset.asset_key, 'Release Asset ID': releaseAsset.id, Filename: (_c = (_b = releaseAsset.asset) === null || _b === void 0 ? void 0 : _b.filename) !== null && _c !== void 0 ? _c : '-', Size: sizeStr, Type: (_e = (_d = releaseAsset.asset) === null || _d === void 0 ? void 0 : _d.content_type) !== null && _e !== void 0 ? _e : '-', }; }); console.log((0, lazy_1.getVisuals)().table.horizontal(tableData, [ 'Asset Key', 'Release Asset ID', 'Filename', 'Size', 'Type', ])); } } ReleaseAssetListCmd.enableJsonFlag = true; ReleaseAssetListCmd.description = (0, lazy_1.stripIndent) ` List all release assets. List all assets for a specific release. `; ReleaseAssetListCmd.examples = [ '$ balena release-asset list 1234567', '$ balena release-asset list a777f7345fe3d655c1c981aa642e5555', ]; ReleaseAssetListCmd.args = { commitOrId: (0, release_1.commitOrIdArg)({ description: 'the commit or ID of the release', required: true, }), }; ReleaseAssetListCmd.authenticated = true; exports.default = ReleaseAssetListCmd; //# sourceMappingURL=list.js.map