UNPKG

@sap/subaccount-destination-service-provider

Version:

Provide service consumption of SAP subaccount services

48 lines 2.86 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AbapBusinessRetrieverRepository = void 0; const Adapters = require("../utils/serviceProviderAdapter"); const service_provider_apis_1 = require("@sap/service-provider-apis"); const systemUtils_1 = require("../../utils/systemUtils"); const path = require("path"); const abapBusinessBaseRetriever_1 = require("./abapBusinessBaseRetriever"); const abapBaseRetriever_1 = require("./abapBaseRetriever"); const BO_RESOURCE_PATH = path.join(__dirname, "resources", "AllowedList_BO.json"); const CDS_RESOURCE_PATH = path.join(__dirname, "resources", "AllowedList_CDS.json"); class AbapBusinessRetrieverRepository extends abapBaseRetriever_1.AbapBaseRetriever { constructor() { super(); this.abapRetrieverBo = new abapBusinessBaseRetriever_1.AbapBusinessBaseRetriever(BO_RESOURCE_PATH); this.abapRetrieverCds = new abapBusinessBaseRetriever_1.AbapBusinessBaseRetriever(CDS_RESOURCE_PATH); } retrieveSystemsBusinessItems(filter) { return __awaiter(this, void 0, void 0, function* () { try { const responseBody = yield this.executeRetrieveDestinationsRequest(); const systems = []; responseBody.forEach((destinationConfiguration) => { if (this.filterDestination(destinationConfiguration, filter) && (0, systemUtils_1.getSystemType)(destinationConfiguration) === service_provider_apis_1.DataType.CATALOG) { systems.push(Adapters.DestinationToProviderSystemBusiness(destinationConfiguration, this)); } }); return systems; } catch (e) { e.message = `${service_provider_apis_1.messages.SYS_ERROR_FAIL_RETRIEVE_DESTINATIONS}: ${e.message}`; throw new service_provider_apis_1.ServiceProviderError(service_provider_apis_1.ServiceProviderErrorCode.RETRIEVE_DATA, e); } }); } } exports.AbapBusinessRetrieverRepository = AbapBusinessRetrieverRepository; //# sourceMappingURL=abapBusinessRetrieverRepository.js.map