From 33dea1df8ccc8d75314d8c5dfb32974f64afb8af Mon Sep 17 00:00:00 2001 From: Damyan Mitev <damyan.mitev@vereign.com> Date: Tue, 4 Jun 2019 12:53:51 +0300 Subject: [PATCH] Add passportUUID parameter to wopiAPI.getPassports, --- javascript/src/iframe/viamapi-iframe.js | 12 +++++++----- javascript/src/iframe/wopiapi-iframe.js | 9 +++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 4f2b83f..e809e26 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1212,7 +1212,8 @@ const connection = Penpal.connectToParent({ }, // WOPI - getPassports: async (resourceID, contentType) => { + // passportUUID is optional, if not supplied, tokens for all passports are returned + getPassports: async (resourceID, contentType, passportUUID) => { const authenticationPublicKey = localStorage.getItem("authenticatedIdentity"); if ( @@ -1223,7 +1224,7 @@ const connection = Penpal.connectToParent({ return encodeResponse("400", "", "Identity not authenticated"); } - const response = await wopiAPI.getPassports(resourceID, contentType); + const response = await wopiAPI.getPassports(resourceID, contentType, passportUUID); return response.data; }, @@ -1249,11 +1250,12 @@ const connection = Penpal.connectToParent({ config); if (executeResult.code !== "200") return executeResult; const resourceID = executeResult.data; - const passports = await wopiAPI.getPassports(resourceID, contentType); + const passports = await wopiAPI.getPassports(resourceID, contentType, passportUUID); return passports; }, - wopiPutFile: async (path, accessToken, file) => { + // This function should not be used, client must issue direct wopi calls instead + wopiPutFile: async (resourceID, accessToken, file) => { const authenticationPublicKey = localStorage.getItem("authenticatedIdentity"); if ( @@ -1264,7 +1266,7 @@ const connection = Penpal.connectToParent({ return encodeResponse("400", "", "Identity not authenticated"); } - const response = await wopiAPI.putDocument(path, accessToken, file); + const response = await wopiAPI.putDocument(resourceID, accessToken, file); return response.data; } } diff --git a/javascript/src/iframe/wopiapi-iframe.js b/javascript/src/iframe/wopiapi-iframe.js index 6e7794e..99a1f46 100644 --- a/javascript/src/iframe/wopiapi-iframe.js +++ b/javascript/src/iframe/wopiapi-iframe.js @@ -2,7 +2,11 @@ const axios = require('axios'); function WopiAPI() {} -WopiAPI.prototype.getPassports = function (resourceID, contentType) { +// TODO create function generateAccessToken with the same semantics as getPassports, +// TODO but with mandatory passportUUID, and return single access token object, not a list + +// passportUUID - optional uuid to filter result list +WopiAPI.prototype.getPassports = function (resourceID, contentType, passportUUID) { const { publicKey, uuid, token, deviceHash } = window.viamApi.getConfig().headers; const requestConfig = { url: `${window.WOPI_URL}getPassports`, @@ -13,7 +17,8 @@ WopiAPI.prototype.getPassports = function (resourceID, contentType) { token, deviceHash, resourceID: encodeURI(resourceID), - contentType: encodeURI(contentType) + contentType: encodeURI(contentType), + passportUuid: passportUUID } }; -- GitLab