UNPKG

navidev-abap-gw-api

Version:

API para la extracción de datos de servicios SAP GW

35 lines (34 loc) 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class MetadataURLUtils { /** * Construye la URL para obtener el metadata de un servicio del value list a partir de la URL del metadata del servicio. * Yaa que la URL del valuest se concatena a la URL del servicio. Ejemplo: * la URL del servicio es esta: /sap/opu/odata4/sap/zui_booking_o4/srvd/sap/zui_booking/0001/ * la URL del valie list es esta: ../../../../srvd_f4/dmo/i_customer_stdvh/0001;ps='srvd-zui_booking-0001';va='com.sap.gateway.srvd.zui_booking.v0001.et-zc_booking.customerid'/$metadata * la URL resultante tiene que ser: http://vhcala4hci:50000/sap/opu/odata4/sap/zui_booking_o4/srvd_f4/dmo/i_customer_stdvh/0001;ps='srvd-zui_booking-0001';va='com.sap.gateway.srvd.zui_booking.v0001.et-zc_booking.customerid'/$metadata * Cada ".."" de la URL del value list se tiene que eliminar y quitar también la parte final de la URL del servicio . Una vez quitado los ".." y la parte final * de la URL del servicio se concatena la URL del value list a la URL del servicio. * @param urlValueList * @param urlService */ static buildURLMetadataValueList(urlValueList, urlService) { let urlValueListAux = urlValueList; let urlServiceAux = urlService; let urlValueListAuxSplit = urlValueListAux.split("/"); let urlServiceAuxSplit = urlServiceAux.split("/"); // En la separación se añaden cadenas vacias en ambos arrays al principio y final que se tengo que eliminar. if (urlServiceAuxSplit[0] === "") urlServiceAuxSplit.shift(); if (urlServiceAuxSplit[urlServiceAuxSplit.length - 1] === "") urlServiceAuxSplit.pop(); // Se quitan los ".." y la parte final de la URL del servicio. while (urlValueListAuxSplit[0] === "..") { urlValueListAuxSplit.shift(); urlServiceAuxSplit.pop(); } let urlValueListMetadata = "/" + urlServiceAuxSplit.join("/") + "/" + urlValueListAuxSplit.join("/"); return urlValueListMetadata; } } exports.default = MetadataURLUtils;