@copado/copado-cli
Version:
Copado Developer CLI
45 lines • 2.22 kB
JavaScript
;
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