navidev-abap-gw-api
Version:
API para la extracción de datos de servicios SAP GW
71 lines (70 loc) • 3.13 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 adtExceptionController_1 = __importDefault(require("navidev-adt-api/dist/shared/exceptions/adtExceptionController"));
const connectionConstants_1 = require("../adtConnection/connectionConstants");
const Result_1 = require("navidev-adt-api/dist/shared/core/Result");
class CrudOperationsApp {
constructor(connectionController, serviceBindingInfo, serviceName, metadataInfo) {
this.adtExceptionController = new adtExceptionController_1.default();
this.connectionController = connectionController;
this.serviceBindingInfo = serviceBindingInfo;
this.serviceName = serviceName;
this.metadataInfo = metadataInfo;
}
delete(entity, keys) {
throw new Error("Method not implemented.");
}
patch(entity, keys, values) {
throw new Error("Method not implemented.");
}
read(entity, keys) {
throw new Error("Method not implemented.");
}
query(entity, parameters) {
throw new Error("Method not implemented.");
}
post(entity, values, parameters) {
throw new Error("Method not implemented.");
}
/**
* Obtención del x-csrf-token para operaciones de actualización
* @param entity
*/
getCsrfToken(entity) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.connectionController.request(`${this.serviceBindingInfo.serviceUrl}/${entity}`, {
method: "GET",
headers: {
[`${connectionConstants_1.CSRF_TOKEN.HEADER_VALUE}`]: connectionConstants_1.CSRF_TOKEN.FETCH,
},
});
if (response.isSuccess) {
let httpResponse = response.getValue();
return Result_1.Result.ok(httpResponse.headers[connectionConstants_1.CSRF_TOKEN.HEADER_VALUE]);
}
else {
return Result_1.Result.fail(response.getErrorValue());
}
});
}
/**
* Leer información de la entidad pasada por parámetro
* @param entity
*/
readEntityInfo(entity) {
this.entityInfo = this.metadataInfo.entities.find((row) => row.name == entity);
}
}
exports.default = CrudOperationsApp;