Correct export of Delivery Unit EON_EMOBILITY_PROVIDER (37 files, replaces incomplete initial export)

This commit is contained in:
Thorsten Schmitz
2026-07-09 01:59:09 +02:00
parent 1baef99314
commit dce458f6c1
38 changed files with 6669 additions and 75 deletions
@@ -0,0 +1,116 @@
//var datetimelib = $.import("uniorg.libs", "datetime");
//var logginglib = $.import("uniorg.libs", "uologging");
//var billingEngine = $.import("uniorg.eon.emobility.billing.engine.v1", "BillingEngine");
var serviceName = "eon.emobility.provider.backend.keepAlive.xsjs";
var serviceVersion = '1.0';
var output = {};
var outMessages = [];
var outMsg = {};
var outStatus = "success";
var myDebug = {};
var debugLevel = 0;
switch ($.request.parameters.get("debug")) {
case "true":
case "yes":
case "1":
debugLevel = 1;
break;
case "full":
case "2":
debugLevel = 2;
break;
}
if (debugLevel > 0) {
output.requestParams = $.request.parameters;
}
function setOutputMessage() {
output.status = outStatus;
if (debugLevel > 0) {
output.debugInfos = myDebug;
}
output.messages = outMessages;
$.response.contentType = "application/json";
$.response.setBody(JSON.stringify(output));
//$.response.status = $.net.http.OK;
}
function exceptionHandler(ex) {
outMsg = {};
outMsg.method = "exceptionHandler";
outMsg.status = "error";
outMsg.message = ex.toString();
if (debugLevel > 0) {
outMsg.exceptionInfo = {};
outMsg.exceptionInfo.name = ex.name;
outMsg.exceptionInfo.message = ex.message;
outMsg.exceptionInfo.fileName = ex.fileName;
outMsg.exceptionInfo.lineNumber = ex.lineNumber;
outMsg.exceptionInfo.columnNumber = ex.columnNumber;
outMsg.exceptionInfo.stack = ex.stack;
//outMsg.exceptionInfo.source = ex.toSource();
}
outMessages.push(outMsg);
outStatus = "error";
output.status = outStatus;
if (debugLevel > 0) {
output.debugInfos = myDebug;
}
output.messages = outMessages;
var errbody = JSON.stringify(output);
$.response.contentType = 'application/json';
$.response.setBody(errbody);
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
}
function checkAuthorization() {
var isAuthorized = true;
try {
$.session.assertAppPrivilege("uniorg.eon.emobility.provider::ViewProviderData");
} catch (ex) {
isAuthorized = false;
outMsg = {};
outMsg.method = "checkAuthorization";
outMsg.status = "error";
outStatus = "error";
outMsg.message = "Privilege '" + ex.privilege + "' is missing";
outMessages.push(outMsg);
$.response.status = $.net.http.FORBIDDEN;
}
return isAuthorized;
}
function dbRequest() {
outMsg = {};
outMsg.method = "databaseKeepAliveRequest";
outMsg.status = "success";
try {
var conn = $.db.getConnection();
var pstmt;
var query = "SELECT 'ok' as \"Alive\" FROM DUMMY";
pstmt = conn.prepareStatement(query);
var rs = pstmt.executeQuery();
if (rs.next()) {
outMsg.status = 'success';
outStatus = 'success';
}
rs.close();
pstmt.close();
conn.close();
outMessages.push(outMsg);
} catch (ex) {
exceptionHandler(ex);
}
}
// main
if (checkAuthorization()) {
dbRequest();
}
setOutputMessage();