UNPKG

@broadcom/ops-for-zowe-cli

Version:

OPS/MVS® Plug-in for Zowe CLI

368 lines 13.4 kB
"use strict"; /* * 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.RuleListUtils = void 0; const constants_1 = require("../constants"); const OpsTextUtils_1 = require("./OpsTextUtils"); let output = ""; class RuleListUtils { /** * * * @static * @param {*} ruleList * @param {IHandlerParameters} params * @return {*} * @memberof RuleListUtils */ static printRuleStatusResponse(ruleList, params) { if (params.arguments.restApi === false) { for (let i = 0; i < ruleList.count; i += 1) { const rule = ruleList.aofrule[i]; if (i > 0) { output = output + "\n"; } output = output + RuleListUtils.formatRuleResponseNameWithColor(rule.system, rule.ruleset, rule.rule); output = `${output}\n${RuleListUtils.formatStatusResponse(rule.status, rule.oldStatus)}`; } } else { output = RuleListUtils.formatRuleResponseNameWithColor(ruleList.system, ruleList.ruleset, ruleList.rule); const cmdType = params.positionals[1].toString(); if (cmdType.includes("auto") || cmdType.includes("-ae")) { output = `${output}\n${RuleListUtils.formatAutoStatusResponse(ruleList)}`; } else { output = `${output}\n${RuleListUtils.formatStatusResponse(ruleList.status, ruleList.oldStatus)}`; } } return output; } /** * * * @static * @param {*} ruleList * @param {IHandlerParameters} params * @return {*} * @memberof RuleListUtils */ static printShowRuleResponse(ruleList, params) { if (params.arguments.restApi === false) { // Response from Web Services server output = this.formatOutputNotRestApi(ruleList); } else { // Response from REST API server output = this.formatRestApiRuleList(ruleList, params); } return output; } /** * * * @static * @param {*} ruleList * @return {*} * @memberof RuleListUtils */ static formatOutputNotRestApi(ruleList) { let output = ""; // Response from Web Services server for (let i = 0; i < ruleList.count; i += 1) { const rule = ruleList.aofrule[i]; if (i > 0) { output = output + "\n"; } output = output + RuleListUtils.formatRuleResponseNameWithColor(rule.system, rule.ruleset, rule.rule); output = `${output}\n${RuleListUtils.formatShowResponse(rule.status)}`; } return output; } /** * * * @static * @param {*} ruleList * @param {IHandlerParameters} params * @return {*} * @memberof RuleListUtils */ static formatRestApiRuleList(ruleList, params) { let output = ""; // Response from REST API server if (ruleList.length > 0) { for (let i = 0; i < ruleList.length; i += 1) { const rule = ruleList[i]; output += RuleListUtils.formatOutputFromArrayRestApi(rule, i, params); } // close out JSON if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) { output = output + "]"; } } else { output = output + RuleListUtils.formatOutputRestApi(ruleList, params); } return output; } /** * * * @static * @param {*} rule * @param {number} i * @param {IHandlerParameters} params * @return {*} * @memberof RuleListUtils */ static formatOutputFromArrayRestApi(rule, i, params) { let output = ""; if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.CSV) { if (i === 0) { output = `${output}${RuleListUtils.formatAllCsvHeaderResponse()}`; } output = `${output}\n${RuleListUtils.formatAllCsvDataResponse(rule)}`; } else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) { if (i === 0) { output = output + "["; } else if (i > 0) { output = output + ",\n"; } output = `${output}${RuleListUtils.formatAllDataResponseJson(rule)}`; } else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.NAMEVALUECOLOR) { if (i > 0) { output = output + "\n"; } output = output + RuleListUtils.formatRuleResponseNameWithColor(rule.system, rule.ruleset, rule.rule); output = `${output}\n${RuleListUtils.formatShowAllRuleResponseWithColor(rule)}`; } else { if (i > 0) { output = output + "\n"; } output = `${output}${RuleListUtils.formatShowAllRuleResponse(rule)}`; } return output; } /** * * * @static * @param {*} rule * @param {IHandlerParameters} params * @return {*} * @memberof RuleListUtils */ static formatOutputRestApi(rule, params) { let output = ""; if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.CSV) { output = `${RuleListUtils.formatAllCsvHeaderResponse()}`; output = `${output}\n${RuleListUtils.formatAllCsvDataResponse(rule)}`; } else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) { output = `[${output}${RuleListUtils.formatAllDataResponseJson(rule)}]`; } else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.NAMEVALUECOLOR) { output = RuleListUtils.formatRuleResponseNameWithColor(rule.system, rule.ruleset, rule.rule); output = `${output}\n${RuleListUtils.formatShowAllRuleResponseWithColor(rule)}`; } else { output = `${output}${RuleListUtils.formatShowAllRuleResponse(rule)}`; } return output; } /** * * * @static * @param {string} system * @param {string} ruleSet * @param {string} ruleName * @return {*} {string} * @memberof RuleListUtils */ static formatRuleResponseNameWithColor(system, ruleSet, ruleName) { const name = OpsTextUtils_1.OpsTextUtils.colorizeAttention("name: "); return `${name}${system}/${ruleSet}/${ruleName}`; } /** * * * @static * @param {string} newStatus * @param {string} oldStatus * @return {*} {string} * @memberof RuleListUtils */ static formatStatusResponse(newStatus, oldStatus) { if (newStatus === "ENABLED") { newStatus = OpsTextUtils_1.OpsTextUtils.colorizeOK(newStatus); } else { newStatus = OpsTextUtils_1.OpsTextUtils.colorizeError(newStatus); } const oldAttention = OpsTextUtils_1.OpsTextUtils.colorizeAttention("old status: "); const newAttention = OpsTextUtils_1.OpsTextUtils.colorizeAttention("new status: "); return `${oldAttention}${oldStatus}\n${newAttention}${newStatus}`; } static formatAutoStatusResponse(ruleList) { if (ruleList.autoEnabled === "YES") { ruleList.autoEnabled = OpsTextUtils_1.OpsTextUtils.colorizeOK(ruleList.autoEnabled); } else { ruleList.autoEnabled = OpsTextUtils_1.OpsTextUtils.colorizeError(ruleList.autoEnabled); } const oldAttention = OpsTextUtils_1.OpsTextUtils.colorizeAttention("old autoenabled status: "); const newAttention = OpsTextUtils_1.OpsTextUtils.colorizeAttention("new autoenabled status: "); return `${oldAttention}${ruleList.oldAutoEnabled}\n${newAttention}${ruleList.autoEnabled}`; } /** * * * @static * @param {string} status * @return {*} {string} * @memberof RuleListUtils */ static formatShowResponse(status) { if (status === "ENABLED") { status = OpsTextUtils_1.OpsTextUtils.colorizeOK(status); } else { status = OpsTextUtils_1.OpsTextUtils.colorizeError(status); } const statusAttention = OpsTextUtils_1.OpsTextUtils.colorizeAttention("status: "); return statusAttention + status; } /** * * * @static * @param {*} ruleList * @return {*} {string} * @memberof RuleListUtils */ static formatShowAllRuleResponse(ruleList) { const output = `name: ${ruleList.system}/${ruleList.ruleset}/${ruleList.rule}\n`; return `${output} sysplex: ${ruleList.sysplex}\n subsystem: ${ruleList.subsystem}\n status: ${ruleList.status}\n autoEnabled: ${ruleList.autoEnabled}\n`; } /** * * * @static * @param {*} ruleList * @return {*} {string} * @memberof RuleListUtils */ static formatShowAllRuleResponseWithColor(ruleList) { const statusText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("status:"); const sysplexText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("sysplex:"); const subsystemText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("subsystem:"); let status; if (ruleList.status === "ENABLED") { status = OpsTextUtils_1.OpsTextUtils.colorizeOK(ruleList.status); } else { status = OpsTextUtils_1.OpsTextUtils.colorizeError(ruleList.status); } return ` ${sysplexText} ${ruleList.sysplex}\n ${subsystemText} ${ruleList.subsystem}\n ${statusText} ${status}\n`; } /** * * * @static * @param {*} ruleList * @return {*} {string} * @memberof RuleListUtils */ static formatAllDataResponseJson(ruleList) { let output = `{`; output = output + `"sysplex": "${ruleList.sysplex}", "system": "${ruleList.system}", `; output = output + `"subsystem": "${ruleList.subsystem}", "table": "${ruleList.ruleset}", `; output = output + `"rule": "${ruleList.rule}", "status": "${ruleList.status}"`; output = output + `}`; return output; } /** * * * @static * @return {*} {string} * @memberof RuleListUtils */ static formatAllCsvHeaderResponse() { return `sysplex,system,subsystem,ruleset,rule,status`; } /** * * * @static * @param {*} ruleList * @return {*} {string} * @memberof RuleListUtils */ static formatAllCsvDataResponse(ruleList) { let output = `"${ruleList.sysplex}","${ruleList.system}",`; output = output + `"${ruleList.subsystem}","${ruleList.ruleset}",`; output = output + `"${ruleList.rule}","${ruleList.status}"`; return output; } // public static formatOutputRestApiColor(ruleList: any) { // // let output = ""; // // // Response from REST API server // if (ruleList.length > 0) { // for (let i = 0; i < ruleList.length; i += 1) { // const rule = ruleList[i]; // if (i > 0) { // output = output + "\n"; // } // output = output + RuleUtils.formatRuleResponseNameWithColor(rule.system, rule.ruleset, rule.rule); // output = `${output}\n${RuleUtils.formatShowAllRuleResponse(ruleList)}`; // } // } else { // output = RuleUtils.formatRuleResponseNameWithColor(ruleList.system, ruleList.ruleset, ruleList.rule); // output = `${output}\n${RuleUtils.formatShowAllRuleResponse(ruleList)}`; // } // return output; // } /** * * * @static * @param {IHandlerParameters} params * @return {*} {string} * @memberof RuleListUtils */ static printShowRuleError(params) { return `Specifying ruleset = '*' and a specific rule, in this case rule = '${params.arguments.rule}', is invalid.`; } } exports.RuleListUtils = RuleListUtils; //# sourceMappingURL=RuleListUtils.js.map