@apistudio/apim-cli
Version:
CLI for API Management Products
33 lines (32 loc) • 1.29 kB
JavaScript
import { isNullOrUndefined } from "../../common/data-helper.js";
import { POLICY } from "../../../constants/app-constants.js";
function addAssetRefValuesForStage(refObjects, result) {
if (!isNullOrUndefined(refObjects)) {
refObjects.forEach((policy) => {
if (!isNullOrUndefined(policy.$ref)) {
result.push({ kind: POLICY, ref: policy.$ref, isNewlyAdded: true });
}
});
}
}
const getRefsFromPolicySeqAsset = (asset) => {
const policySeqAsset = asset;
const spec = policySeqAsset.spec;
const result = [];
const transport = spec.transport;
addAssetRefValuesForStage(transport, result);
const monitoring = spec.monitoring;
addAssetRefValuesForStage(monitoring, result);
const reqProcessing = spec["req-processing"];
addAssetRefValuesForStage(reqProcessing, result);
const respProcessing = spec["res-processing"];
addAssetRefValuesForStage(respProcessing, result);
const iam = spec.iam;
addAssetRefValuesForStage(iam, result);
const errorProcessing = spec["error-handling"];
addAssetRefValuesForStage(errorProcessing, result);
const routing = spec.routing;
addAssetRefValuesForStage(routing, result);
return result;
};
export { getRefsFromPolicySeqAsset };