@apistudio/apim-cli
Version:
CLI for API Management Products
37 lines (33 loc) • 1.8 kB
text/typescript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import { BaseAsset } from "../model/assets-model.js";
import { KindEnums } from "@apic/api-model/common/StudioEnums.js";
import { equalsIgnoreCase } from "../helpers/common/data-helper.js";
import { getRefsFromApiAsset } from "./api-asset-handler.js";
import { getRefsFromPolicySeqAsset } from "../helpers/apim/asset-kinds/policy-seq-kind-helper.js";
import { getRefsFromRouteAsset } from "../helpers/apim/asset-kinds/route-kind-helper.js";
import { getRefsFromTestAsset } from "../helpers/apim/asset-kinds/test-kind-helper.js";
import {getRefsFromMockEndpointAsset} from "../helpers/apim/asset-kinds/mockEndpoint-kind-helper.js"
import { AssetCacheModel } from "../model/asset-cache-model.js";
import {getRefsFromPackageAsset} from "../helpers/apim/asset-kinds/package-kind-helper.js"
import {getRefsFromPlanAsset} from "../helpers/apim/asset-kinds/plan-kind-helper.js"
const getRefsFromAsset = (asset: BaseAsset): AssetCacheModel[] => {
if (equalsIgnoreCase(asset.kind, KindEnums.API)) {
return getRefsFromApiAsset(asset);
} else if (equalsIgnoreCase(asset.kind, KindEnums.PolicySequence)) {
return getRefsFromPolicySeqAsset(asset);
} else if (equalsIgnoreCase(asset.kind, KindEnums.Route)) {
return getRefsFromRouteAsset(asset);
} else if (equalsIgnoreCase(asset.kind, KindEnums.Test)) {
return getRefsFromTestAsset(asset);
} else if (equalsIgnoreCase(asset.kind, KindEnums.MockEndpoint)) {
return getRefsFromMockEndpointAsset(asset);
} else if (equalsIgnoreCase(asset.kind, KindEnums.Product)) {
return getRefsFromPackageAsset(asset);
} else if (equalsIgnoreCase(asset.kind, KindEnums.Plan)) {
return getRefsFromPlanAsset(asset);
}
return [];
};
export { getRefsFromAsset };