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