From 75ef2d6693cca8a857ac66e1bffac6482bc7d619 Mon Sep 17 00:00:00 2001 From: Markin Igor <markin.io210@gmail.com> Date: Thu, 8 Nov 2018 10:15:04 +0300 Subject: [PATCH] Rework libs to use API url argument --- javascript/src/viamapi-client.js | 21 ++++++++++++++++++--- javascript/src/viamapi-iframe.js | 7 +++++-- javascript/yarn.lock | 6 ------ 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/javascript/src/viamapi-client.js b/javascript/src/viamapi-client.js index 0a834db..69d1eb3 100644 --- a/javascript/src/viamapi-client.js +++ b/javascript/src/viamapi-client.js @@ -1,13 +1,28 @@ const Penpal = require('penpal').default; -function setupViamAPI(divId, methodsArg, url) { +/** + * Sets up interaction with Vereign Restful API + * @param divId - target container to append iframe via Penpal + * @param methods - list of methods to be used in iframe + * @param iframeUrl - iframe URL to connect + * @param apiUrl - API URL used to access API endpoints + * @returns {*} + */ +function setupViamAPI(divId, methods, iframeUrl, apiUrl) { + if (!apiUrl) { + return Promise.reject('API Host not specified.') + } + const connection = Penpal.connectToChild({ // URL of page to load into iframe. - url, + url: iframeUrl, // Container to which the iframe should be appended. appendTo: document.getElementById(divId), // Methods parent is exposing to child - methods: methodsArg + methods: { + ...methods, + getApiUrl: () => apiUrl + } }); return connection.promise diff --git a/javascript/src/viamapi-iframe.js b/javascript/src/viamapi-iframe.js index 83c5ab2..4040365 100644 --- a/javascript/src/viamapi-iframe.js +++ b/javascript/src/viamapi-iframe.js @@ -2260,10 +2260,13 @@ const connection = Penpal.connectToParent({ } }); -connection.promise.then(parent => { +connection.promise.then(async parent => { var identities = localStorage.getItem("identities") - window.API_HOST = `${window.location.protocol}//${window.location.host}/`; + let apiUrl = await parent.getApiUrl(); + apiUrl = apiUrl.charAt(apiUrl.length - 1) === "/" ? apiUrl : apiUrl + "/"; + + window.API_HOST = apiUrl; console.log("Library loaded at: " + new Date().toISOString()) diff --git a/javascript/yarn.lock b/javascript/yarn.lock index f330bd1..fc5f1c6 100644 --- a/javascript/yarn.lock +++ b/javascript/yarn.lock @@ -1060,12 +1060,6 @@ clean-css@4.2.x: dependencies: source-map "~0.6.0" -clean-webpack-plugin@^0.1.19: - version "0.1.19" - resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz#ceda8bb96b00fe168e9b080272960d20fdcadd6d" - dependencies: - rimraf "^2.6.1" - cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" -- GitLab