diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 575d4b0ce4b4bade8b030d18b4bc7c64db222ff4..7ad243400d972b5a1e4b18cde88d149b4b694dd7 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1227,6 +1227,21 @@ const connection = Penpal.connectToParent({ return response.data; }, + getPassports: async fileId => { + const authenticationPublicKey = localStorage.getItem("authenticatedIdentity"); + + if ( + !authenticationPublicKey || + !window.loadedIdentities[authenticationPublicKey] || + !extendPinCodeTtl(authenticationPublicKey) + ) { + return encodeResponse("400", "", "Identity not authenticated"); + } + + const response = await wopiAPI.getPassports(fileId); + return response.data; + }, + wopiCreateDocument: async (passportUUID, path, contentType, title) => { const authenticationPublicKey = localStorage.getItem("authenticatedIdentity"); if ( diff --git a/javascript/src/iframe/wopiapi-iframe.js b/javascript/src/iframe/wopiapi-iframe.js index 8c5c2fc31b9b6bb0f85dd55d5b60e4033177eb6b..a7106a486dc8a6ec9515197ad52e9d1bf770e9a1 100644 --- a/javascript/src/iframe/wopiapi-iframe.js +++ b/javascript/src/iframe/wopiapi-iframe.js @@ -20,6 +20,23 @@ WopiAPI.prototype.getPassportsNewProtocol = function (resourceID, contentType) { return axios(requestConfig); }; +WopiAPI.prototype.getPassports = function (fileID) { + const { publicKey, uuid, token, deviceHash } = window.viamApi.getConfig().headers; + const requestConfig = { + url: `${window.WOPI_URL}getPassports`, + method: 'POST', + headers: { + publicKey, + uuid, + token, + deviceHash, + fileID: encodeURI(fileID) + } + }; + + return axios(requestConfig); +}; + WopiAPI.prototype.putDocument = function (resourceID, accessToken, file) { const { publicKey, uuid, token, deviceHash } = window.viamApi.getConfig().headers;