UNPKG

@copado/copado-cli

Version:

Copado Developer CLI

45 lines 2.22 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 pipelines_1 = __importDefault(require("../../../selector/pipelines")); 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_pipeline'); class ListPipeline extends sf_plugins_core_1.SfCommand { async run() { const { flags } = await this.parse(ListPipeline); const ux = new sf_plugins_core_1.Ux({ jsonEnabled: this.jsonEnabled() }); ux.spinner.start(messages.getMessage('list.fetching')); try { const result = (flags.all) ? await new pipelines_1.default().all() : await new pipelines_1.default().active(); ux.spinner.stop(); if (!result.length) { throw new core_1.SfError(messages.getMessage('list.noRecord')); } this.showResults(result, flags, ux); return result; } catch (error) { ux.spinner.stop(); throw new core_1.SfError(error.message); } } showResults(records, flags, ux) { const columns = {}; Object.keys(records[0]).filter(attribute => attribute !== 'attributes').forEach(key => columns[key] = {}); const flatRecords = records === null || records === void 0 ? void 0 : records.map(record => (Object.assign(Object.assign({}, record), { Owner: record.Owner.Name }))); const header = (flags.all) ? messages.getMessage('list.all') : messages.getMessage('list.active'); ux.styledHeader(header); ux.table(flatRecords, columns); } } exports.default = ListPipeline; ListPipeline.description = messages.getMessage('list.description'); ListPipeline.examples = [messages.getMessage('list.example')]; ListPipeline.flags = { all: sf_plugins_core_1.Flags.boolean({ char: 'a', description: messages.getMessage('list.flags.all'), default: false }) }; //# sourceMappingURL=list.js.map