UNPKG

@zowe/cics-for-zowe-sdk

Version:
79 lines 3.48 kB
"use strict"; /** * This program and the accompanying materials are made available under the terms of the * Eclipse Public License v2.0 which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-v20.html * * SPDX-License-Identifier: EPL-2.0 * * Copyright Contributors to the Zowe Project. * */ Object.defineProperty(exports, "__esModule", { value: true }); exports.Utils = void 0; const imperative_1 = require("@zowe/imperative"); const constants_1 = require("../constants"); /** * Class for providing static utility methods * @export * @class Utils */ class Utils { /** * Get uri for requesting a resources in CICS through CMCI REST API * @param {string} resourceName - CMCI resource name * @param {IGetResourceUriOptions} options - CMCI resource options */ static getResourceUri(resourceName, options) { imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(resourceName, "CICS Resource name", "CICS resource name is required"); let delimiter = "?"; // initial delimiter const cicsPlex = options?.cicsPlex == null ? "" : `${encodeURIComponent(options.cicsPlex)}/`; const region = options?.regionName == null ? "" : encodeURIComponent(options.regionName); let cmciResource = `/${constants_1.CicsCmciConstants.CICS_SYSTEM_MANAGEMENT}/${resourceName}/${cicsPlex}${region}`; if (options?.criteria) { cmciResource += `${delimiter}${constants_1.CicsCmciConstants.CRITERIA}=${this.enforceParentheses(encodeURIComponent(options.criteria))}`; delimiter = "&"; } if (options?.parameter) { cmciResource += `${delimiter}PARAMETER=${encodeURIComponent(options.parameter)}`; delimiter = "&"; } if (options?.queryParams?.summonly) { cmciResource += `${delimiter}${constants_1.CicsCmciConstants.SUMM_ONLY}`; delimiter = "&"; } if (options?.queryParams?.nodiscard) { cmciResource += `${delimiter}${constants_1.CicsCmciConstants.NO_DISCARD}`; delimiter = "&"; } if (options?.queryParams?.overrideWarningCount) { cmciResource += `${delimiter}${constants_1.CicsCmciConstants.OVERRIDE_WARNING_COUNT}`; } return cmciResource; } static getCacheUri(cacheToken, options) { imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(cacheToken, "CICS Results Cache Token", "CICS Results Cache Token is required"); let cmciResource = `/${constants_1.CicsCmciConstants.CICS_SYSTEM_MANAGEMENT}/${constants_1.CicsCmciConstants.CICS_RESULT_CACHE}/${cacheToken}`; if (options?.startIndex) { cmciResource += `/${options.startIndex}`; if (options.count) { cmciResource += `/${options.count}`; } } let delimiter = "?"; // Add NODISCARD unless explicitally told not to if (!options || options.nodiscard == null || options.nodiscard === true) { cmciResource += `${delimiter}${constants_1.CicsCmciConstants.NO_DISCARD}`; delimiter = "&"; } if (options?.summonly) { cmciResource += `${delimiter}${constants_1.CicsCmciConstants.SUMM_ONLY}`; } return cmciResource; } static enforceParentheses(input) { return input.startsWith("(") ? input : `(${input})`; } } exports.Utils = Utils; //# sourceMappingURL=Utils.js.map