UNPKG

@copado/copado-cli

Version:

Copado Developer CLI

45 lines 2.35 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@salesforce/core"); const packages_1 = __importDefault(require("../../../selector/packages")); const sf_plugins_core_1 = require("@salesforce/sf-plugins-core"); core_1.Messages.importMessagesDirectory(__dirname); const messages = core_1.Messages.loadMessages('@copado/copado-cli', 'copado_package'); class ListPackage extends sf_plugins_core_1.SfCommand { async run() { const ux = new sf_plugins_core_1.Ux({ jsonEnabled: this.jsonEnabled() }); try { ux.spinner.start(messages.getMessage('list.fetching')); const result = await new packages_1.default().all(); ux.spinner.stop(); if (!result.length) { throw new core_1.SfError(messages.getMessage('list.noRecord')); } this.showResults(result, ux); return result; } catch (error) { ux.spinner.stop(); throw new core_1.SfError(error.message); } } showResults(records, ux) { const columns = {}; const columnNames = ['Id', 'Name', 'Pipeline', 'Platform', 'Description', 'Repository', 'LatestVersion']; columnNames.forEach(key => columns[key] = {}); const expandedRecords = this.stripNamespace(records).map(record => (Object.assign(Object.assign({}, record), { Pipeline: record.Pipeline__r ? record.Pipeline__r.Name : null, Platform: record.Pipeline__r ? record.Pipeline__r.Platform__c : null, Description: record.Description__c, Repository: record.Artifact_Repository__r ? record.Artifact_Repository__r.Name : null, LatestVersion: record.Artifact_Version__r ? record.Artifact_Version__r.Name : null }))); ux.styledHeader(messages.getMessage('list.header')); ux.table(expandedRecords, columns); } stripNamespace(data) { const dataString = JSON.stringify(data).replace(/copado__/g, ''); return JSON.parse(dataString); } } ListPackage.description = messages.getMessage('list.description'); ListPackage.examples = [messages.getMessage('list.example.1')]; exports.default = ListPackage; //# sourceMappingURL=list.js.map