Skip to content
Snippets Groups Projects

Use webpack for bundling JS libs and move Golang code related to Iframe generation there

Merged Igor Markin requested to merge feature-vcl-webpack-bundle into master
Compare and
19 files
+ 8518
102
Compare changes
  • Side-by-side
  • Inline
Files
19
+ 107
0
import Penpal from 'penpal';
/**
* This script defines global variables and functions used everywhere.
* TODO: must be reworked to get rid of global vars
*/
const ViamAPI = require('../../temp/viamapi');
const WopiAPI = require('./wopiapi-iframe');
window.viamApi = new ViamAPI();
window.viamAnonymousApi = new ViamAPI();
window.wopiAPI = new WopiAPI();
window.loadedIdentities = {};
window.currentlyAuthenticatedIdentity = null;
window.currentlyLoadedIdentity = null;
window.lastTimeGetProfile = 0;
window.executeRestfulFunction = function (type, that, fn, ...args) {
if(type == "private") {
return new Penpal.Promise(executeResult => {
fn.apply(that, args).then((response) => {
if (response.data.code == "400" && response.data.status == "Bad session") {
console.log("Trying to login again")
if(currentlyAuthenticatedIdentity != "" && currentlyAuthenticatedIdentity != null) {
viamApi.identityLogin("previousaddeddevice").then((response1) => {
if (response1.data.code == "200") {
//console.log(response.data.data)
var uuid = response1.data.data["Uuid"]
var token = response1.data.data["Session"]
//console.log(uuid + " " + token)
viamApi.setSessionData(uuid, token)
localStorage.setItem("uuid", uuid)
localStorage.setItem("token", token)
localStorage.setItem("authenticatedIdentity", currentlyAuthenticatedIdentity.authentication.publicKey)
currentlyAuthenticatedIdentity = loadedIdentities[currentlyAuthenticatedIdentity.authentication.publicKey]
setKeyForUUID(uuid, currentlyAuthenticatedIdentity.authentication.publicKey)
console.log('Last', lastTimeGetProfile)
lastTimeGetProfile = 0;
fn.apply(null, args).then((response2) => {
executeResult(response2.data)
});
} else {
executeResult(response1.data)
}
});
} else {
if(currentlyLoadedIdentity != "" && currentlyLoadedIdentity != null) {
viamApi.identityLogin("previousaddeddevice").then((response1) => {
if (response1.data.code == "200") {
//console.log(response.data.data)
var uuid = response1.data.data["Uuid"]
var token = response1.data.data["Session"]
//console.log(uuid + " " + token)
viamApi.setSessionData(uuid, token)
localStorage.setItem("uuid", uuid)
localStorage.setItem("token", token)
localStorage.setItem("authenticatedIdentity", currentlyLoadedIdentity.authentication.publicKey)
currentlyAuthenticatedIdentity = loadedIdentities[currentlyLoadedIdentity.authentication.publicKey]
setKeyForUUID(uuid, currentlyLoadedIdentity.authentication.publicKey)
lastTimeGetProfile = 0;
fn.apply(null, args).then((response2) => {
executeResult(response2.data)
});
} else {
executeResult(response1.data)
}
});
} else {
executeResult(response.data)
}
}
} else {
executeResult(response.data)
}
});
});
} else {
return new Penpal.Promise(executeResult => {
fn.apply(that, args).then((response) => {
executeResult(response.data)
});
});
}
};
window.extendPinCodeTtl = function(key, pinCode) {
if(pinCode == null || pinCode == "") {
var now = new Date();
var nowMillis = now.getTime();
var ttl = window.sessionStorage.getItem("pincodettls/" + key);
if (ttl == null || ttl == "" || nowMillis >= parseInt(ttl)) {
clearPinCodeTtl(key)
return false
} else {
var ttl = now.getTime() + 10 * 60 * 1000;
window.sessionStorage.setItem("pincodettls/" + key, ttl);
}
} else {
var now = new Date();
var ttl = now.getTime() + 10 * 60 * 1000;
window.sessionStorage.setItem("pincodettls/" + key, ttl);
window.sessionStorage.setItem("pincodes/" + key, pinCode);
}
return true;
}
\ No newline at end of file
Loading