From 07b94a3ab0bb13b443acd8465af68b48f2821ced Mon Sep 17 00:00:00 2001
From: Alexey Lunin <alexey.lunin@vereign.com>
Date: Thu, 7 Mar 2019 14:46:29 +0400
Subject: [PATCH] wopiPutDocument: check front slash at path

---
 javascript/src/iframe/viamapi-iframe.js | 4 ++--
 javascript/src/iframe/wopiapi-iframe.js | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index ed9f97d..3a6be2b 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -1097,7 +1097,7 @@ const connection = Penpal.connectToParent({
       return response.data;
     },
 
-    wopiPutFile: async (fileId, accessToken, file) => {
+    wopiPutFile: async (path, accessToken, file) => {
       const authenticationPublicKey = localStorage.getItem("authenticatedIdentity");
 
       if (
@@ -1108,7 +1108,7 @@ const connection = Penpal.connectToParent({
         return encodeResponse("400", "", "Identity not authenticated");
       }
 
-      const response = await wopiAPI.putDocument(fileId, accessToken, file);
+      const response = await wopiAPI.putDocument(path, accessToken, file);
       return response.data;
     }
   }
diff --git a/javascript/src/iframe/wopiapi-iframe.js b/javascript/src/iframe/wopiapi-iframe.js
index 01639ea..c009f9e 100644
--- a/javascript/src/iframe/wopiapi-iframe.js
+++ b/javascript/src/iframe/wopiapi-iframe.js
@@ -19,10 +19,11 @@ WopiAPI.prototype.getPassports = function (fileID) {
   return axios(requestConfig);
 };
 
-WopiAPI.prototype.putDocument = function (fileId, accessToken, file) {
+WopiAPI.prototype.putDocument = function (path, accessToken, file) {
   const { publicKey, uuid, token, deviceHash } = window.viamApi.getConfig().headers;
+  path = path[0] === "/" ? path : `/${path}`;
   const requestConfig = {
-    url: `${window.WOPI_URL}files/${fileId}/contents`,
+    url: `${window.WOPI_URL}files${path}/contents`,
     method: 'POST',
     headers: {
       publicKey,
-- 
GitLab