navidev-adt-api
Version:
API de conexión al Abap Developer Tools
81 lines (80 loc) • 3.44 kB
JavaScript
;
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());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Result_1 = require("../shared/core/Result");
const xmlParser_1 = __importDefault(require("../shared/utilities/parser/xmlParser"));
const transportConstants_1 = require("./transportConstants");
class TransportValueHelpApp {
constructor(connectionController) {
this.connectionController = connectionController;
}
/**
* Ayuda para búsqueda del campo target
* @param filterName Patron para filtar por el nombre
* @returns
*/
getTarget(filterName) {
return __awaiter(this, void 0, void 0, function* () {
return this.getValues("target", filterName);
});
}
/**
* Ayuda para búsqueda del campo CTS Project
* @param filterName Patron para filtar por el nombre
* @returns
*/
getCTSProject(filterName) {
return __awaiter(this, void 0, void 0, function* () {
return this.getValues("ctsproject", filterName);
});
}
/**
* Ayuda para búsqueda del campo Tipo de objeto
* @param filterName Patron para filtar por el nombre
* @returns
*/
getType(filterName) {
return __awaiter(this, void 0, void 0, function* () {
return this.getValues("object/TYPE", filterName);
});
}
/**
* Obtiene los valores para el campo de la ayuda para búsqueda
* @param fieldVH Campo de la ayuda para búsqueda
* @param filterName Patron para filtar por el nombre
* @returns
*/
getValues(fieldVH, filterName) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.connectionController.request(`${transportConstants_1.TRANSPORT_URL.VALUE_HELP}/${fieldVH}?name=${filterName ? filterName : "*"}`, {
method: "GET",
});
if (response.isSuccess) {
let httpResponse = response.getValue();
let bodyParsed = xmlParser_1.default.fullParse(httpResponse.body);
return Result_1.Result.ok(xmlParser_1.default.xmlArray(bodyParsed["nameditem:namedItemList"]["nameditem:namedItem"]).map((row) => {
return {
name: row["nameditem:name"],
description: row["nameditem:description"],
data: row["nameditem:data"],
};
}));
}
else {
return Result_1.Result.fail(response.getErrorValue());
}
});
}
}
exports.default = TransportValueHelpApp;