listojs
Version:
a package for restaurant management
149 lines (140 loc) • 5.8 kB
JavaScript
;
var selectedServer;
var role;
var applicationID = 1;
let bearerCookie;
var RELEASE = "55710";
var release = "d16af_5";
let module = "server.js";
const WEBSERVER = "ws ?";
const backendVersion = "/RMLRest2-0.9.4-SNAPSHOT/";
const serverCount = 3;
const version = "1.2.1";
function getImagePath() {
return "https://images.listorante.com";
}
function getAPIServerPath() {
if (isReplicatedCustomer) {
if (!selectedServer) {
const node = Math.floor(Math.random() * serverCount);
try {
const xhttp0 = new XMLHttpRequest();
const url0 = `https://backend.listorante.com${backendVersion}server/nodeid`;
xhttp0.open("get", url0);
xhttp0.setRequestHeader('Content-Type', 'application/json');
xhttp0.send();
xhttp0.onreadystatechange = function () {
if (xhttp0.readyState === 4) {
if (xhttp0.status === 200) {
console.log("\n\t:::::::::::\t Selected node for replicated instance is node " + node);
selectedServer = `https://backend${node}.listorante.com${backendVersion}`;
}
}
};
} catch (err) {
console.error("Could not select server node " + node + ": " + err.message);
}
if (selectedServer) {
return selectedServer;
}
} else {
return selectedServer;
}
}
if (!selectedServer) {
console.log("getAPIServerPath() selectedServer not set");
const storedServer = sessionStorage.getItem("selectedServer");
if (!storedServer) {
console.log("In getAPIServerPath: storedServer not set (storedServer=" + storedServer + ")");
const url = `https://backend.listorante.com${backendVersion}server/nodeid`;
try {
const xhttp = new XMLHttpRequest();
xhttp.open("get", url);
xhttp.onreadystatechange = function () {
if (xhttp.readyState === 4) {
if (xhttp.status === 200) {
const serverData = JSON.parse(xhttp.responseText);
console.log("Server-response:" + JSON.stringify(serverData));
selectedServer = `https://backend${serverData.node}.listorante.com${backendVersion}`;
sessionStorage.setItem("selectedServer", selectedServer);
console.log(":::::::::::::\n\n\t Selected backend-server in xhttp-request of server.js: " + selectedServer + "\n\n ::::::::::::::::::::::::");
} else if (xhttp.status > 399) {
console.log(":::::::::::::\n\n\t Could not select backend-server. \n\n ::::::::::::::::::::::::");
}
}
};
if (!selectedServer) {
xhttp.send();
} else {
return selectedServer;
}
} catch (err2) {
console.error("Exception while trying to set backend server with url " + url + ":" + err2.message);
}
} else {
selectedServer = storedServer;
console.log(":::::::::::::\n\n\t Selected backend-server in server.js FROM SESSIONSTORAGE: " + selectedServer + "\n\n ::::::::::::::::::::::::");
return selectedServer;
}
} else {
return selectedServer;
}
}
function getCustomerId() {
if (!isNaN(customerID) && customerID > 0) {
return customerID;
} else {
const urlCustomerID = parseInt(getUrlVars()['cust'], 10);
if (urlCustomerID && !isNaN(urlCustomerID) && urlCustomerID > 0) {
sessionStorage.setItem("theCustomerID", "" + urlCustomerID);
return urlCustomerID;
} else {
const storedCustomer = parseInt(sessionStorage.theCustomerID, 10);
if (!isNaN(storedCustomer) && storedCustomer > 0) {
console.log("customerID " + storedCustomer + " retrieved from session");
customerID = storedCustomer;
return customerID;
} else {
console.log("No customerID is set!");
}
}
}
}
function getUrlVars() {
const vars = {};
window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {
vars[key] = value;
});
return vars;
}
function getUserRole() {
const urlRoleID = parseInt(getUrlVars()['role'], 10);
const notNeg = (urlRoleID >= 0);
console.log("urlRoleID=" + urlRoleID + " isNaN:" + isNaN(urlRoleID) + ", is >=0" + notNeg);
if (!isNaN(urlRoleID) && urlRoleID >= 0) {
sessionStorage.setItem("theRoleID", "" + urlRoleID);
role = urlRoleID;
console.log("role=" + role);
return urlRoleID;
} else {
if (!isNaN(role) && role >= 0) {
return role;
} else {
const storedRole = parseInt(sessionStorage.theRoleID, 10);
if (!isNaN(storedRole) && storedRole >= 0) {
console.log("storedRole " + storedRole + " retrieved from session");
role = storedRole;
return role;
} else {
console.log("No user-role is set!");
}
}
}
}
if (!selectedServer) {
console.log(":::: \n\tCalling getAPIServerPath() ...\n\n");
getAPIServerPath();
setTimeout(function () {
console.log("::::: \n\nTried hopefully to select a server. Currently selected server is: " + selectedServer);
}, 250);
}