@broadcom/ops-for-zowe-cli
Version:
OPS/MVS® Plug-in for Zowe CLI
138 lines • 6.78 kB
JavaScript
;
/*
* Copyright (c) 2024 Broadcom. All Rights Reserved. The term
* "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
*
* This software and all information contained therein is
* confidential and proprietary and shall not be duplicated,
* used, disclosed, or disseminated in any way except as
* authorized by the applicable license agreement, without the
* express written permission of Broadcom. All authorized
* reproductions must be marked with this language.
*
* EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO
* THE EXTENT PERMITTED BY APPLICABLE LAW, BROADCOM PROVIDES THIS
* SOFTWARE WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT
* LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL BROADCOM
* BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR
* DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS SOFTWARE,
* INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS
* INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF BROADCOM IS
* EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.RulesetListUtils = void 0;
const constants_1 = require("../constants");
const OpsTextUtils_1 = require("./OpsTextUtils");
class RulesetListUtils {
static printShowRulesetResponse(rulesetList, params) {
let output = "";
if (rulesetList.length > 1) {
for (let i = 0; i < rulesetList.length; i++) {
const ruleset = rulesetList[i];
output = output + RulesetListUtils.formatOutputFromArrayRestApi(ruleset, i, params);
}
// close out JSON
if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) {
output = output + "]";
}
}
else {
output = output + RulesetListUtils.formatOutputRestApi(rulesetList, params);
}
return output;
}
static formatOutputFromArrayRestApi(ruleset, i, params) {
let output = "";
if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.CSV) {
if (i === 0) {
output = `${output}${RulesetListUtils.formatCsvHeaderResponse()}`;
}
output = `${output}\n${RulesetListUtils.formatCsvDataResponse(ruleset)}`;
}
else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) {
if (i === 0) {
output = output + "[";
}
else if (i > 0) {
output = output + ", ";
}
output = `${output}${RulesetListUtils.formatJsonDataResponse(ruleset)}`;
}
else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.NAMEVALUECOLOR) {
if (i > 0) {
output = output + "\n";
}
output = `${output}${RulesetListUtils.formatNameValueColorRulesetResponse(ruleset)}`;
}
else {
if (i > 0) {
output = output + "\n";
}
output = `${output}${RulesetListUtils.formatNameValueRulesetResponse(ruleset)}`;
}
return output;
}
static formatOutputRestApi(ruleset, params) {
let output = "";
if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.CSV) {
output = `${RulesetListUtils.formatCsvHeaderResponse()}`;
output = `${output}\n${RulesetListUtils.formatCsvDataResponse(ruleset)}`;
}
else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) {
output = `[${output}${RulesetListUtils.formatJsonDataResponse(ruleset)}]`;
}
else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.NAMEVALUECOLOR) {
output = RulesetListUtils.formatNameValueColorRulesetResponse(ruleset);
}
else {
output = RulesetListUtils.formatNameValueRulesetResponse(ruleset);
}
return output;
}
static formatRulesetResponse(ruleSet, system, subsystem, status, autoenabled) {
const name = OpsTextUtils_1.OpsTextUtils.colorizeAttention("name: ");
const statusText = OpsTextUtils_1.OpsTextUtils.colorizeAttention(" status: ");
const autoenabledText = OpsTextUtils_1.OpsTextUtils.colorizeAttention(" autoenabled: ");
return `${name}${system}/${subsystem}/${ruleSet}${statusText}${status}${autoenabledText}${autoenabled}`;
}
static formatNameValueRulesetResponse(rulesetList) {
const output = `name: ${rulesetList.system}/${rulesetList.subsystem}/${rulesetList.ruleset}\n`;
return `${output} sysplex: ${rulesetList.sysplex}\n status: ${rulesetList.status}\n autoEnabled: ${rulesetList.autoEnabled}\n`;
}
static formatNameValueColorRulesetResponse(rulesetList) {
const name = OpsTextUtils_1.OpsTextUtils.colorizeAttention("name: ");
const statusText = OpsTextUtils_1.OpsTextUtils.colorizeAttention(" status: ");
const sysplexText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("sysplex:");
const autoenabledText = OpsTextUtils_1.OpsTextUtils.colorizeAttention(" autoenabled: ");
const output = `${name}${rulesetList.system}/${rulesetList.subsystem}/${rulesetList.ruleset}`;
let status;
if (rulesetList.status.toUpperCase() === "ENABLED") {
status = OpsTextUtils_1.OpsTextUtils.colorizeOK(rulesetList.status);
}
else {
status = OpsTextUtils_1.OpsTextUtils.colorizeError(rulesetList.status);
}
return `${output}\n ${sysplexText} ${rulesetList.sysplex}\n${statusText} ${status}\n${autoenabledText} ${rulesetList.autoEnabled}\n`;
}
static formatJsonDataResponse(rulesetList) {
let output = `{`;
output = output + `"sysplex": "${rulesetList.sysplex}", "system": "${rulesetList.system}", `;
output = output + `"subsystem": "${rulesetList.subsystem}", "ruleset": "${rulesetList.ruleset}", `;
output = output + `"status": "${rulesetList.status}", "autoEnabled": "${rulesetList.autoEnabled}"`;
output = output + `}`;
return output;
}
static formatCsvHeaderResponse() {
return `sysplex,system,subsystem,ruleset,status,autoenabled`;
}
static formatCsvDataResponse(rulesetList) {
let output = `"${rulesetList.sysplex}","${rulesetList.system}",`;
output = output + `"${rulesetList.subsystem}","${rulesetList.ruleset}",`;
output = output + `"${rulesetList.status}","${rulesetList.autoEnabled}"`;
return output;
}
}
exports.RulesetListUtils = RulesetListUtils;
//# sourceMappingURL=RulesetListUtils.js.map