diff --git a/apps/OpenSign/src/App.js b/apps/OpenSign/src/App.js index 929008576..40bebb3de 100644 --- a/apps/OpenSign/src/App.js +++ b/apps/OpenSign/src/App.js @@ -109,6 +109,10 @@ function App() { path="/login/:id/:userMail/:contactBookId/:serverUrl" element={} /> + } + /> } /> { handleServerUrl(); @@ -36,14 +38,29 @@ function GuestLogin() { setAppLogo(logo); } - //split url in array from '&' localStorage.clear(); - const checkSplit = serverUrl.split("&"); - const server = checkSplit[0]; - const parseId = checkSplit[1]; - const appName = checkSplit[2]; + let parseId, appName, newServer; + //first condition is used to handle old route data url that already save + if (id) { + //split url in array from '&' + const checkSplit = serverUrl.split("&"); + const server = checkSplit[0]; + parseId = checkSplit[1]; + appName = checkSplit[2]; + newServer = server.replaceAll("%2F", "/"); + setEmail(userMail); + } else { + parseId = appInfo.appId; + newServer = `${appInfo.baseUrl}/`; + appName = appInfo.appname; + const decodebase64 = atob(base64url); + //split url in array from '/' + const checkSplit = decodebase64.split("/"); + setEmail(checkSplit[1]); + setDocumentId(checkSplit[0]); + setContactId(checkSplit[2]); + } - const newServer = server.replaceAll("%2F", "/"); localStorage.setItem("baseUrl", newServer); localStorage.setItem("parseAppId", parseId); localStorage.setItem("_appName", appName); @@ -74,7 +91,7 @@ function GuestLogin() { }; let body = { email: email.toString(), - docId: id + docId: documentId }; let Otp = await axios.post(url, body, { headers: headers }); @@ -137,7 +154,7 @@ function GuestLogin() { //save isGuestSigner true in local to handle login flow header in mobile view localStorage.setItem("isGuestSigner", true); setLoading(false); - navigate(`/load/recipientSignPdf/${id}/${contactBookId}`); + navigate(`/load/recipientSignPdf/${documentId}/${contactId}`); } } catch (error) { console.log("err ", error); diff --git a/apps/OpenSign/src/pages/PdfRequestFiles.js b/apps/OpenSign/src/pages/PdfRequestFiles.js index 4b4cb0781..421e32c17 100644 --- a/apps/OpenSign/src/pages/PdfRequestFiles.js +++ b/apps/OpenSign/src/pages/PdfRequestFiles.js @@ -741,14 +741,18 @@ function PdfRequestFiles() { localStorage.getItem("parseAppId"), sessionToken: localStorage.getItem("accesstoken") }; - const serverUrl = localStorage.getItem("baseUrl"); - const newServer = serverUrl.replaceAll("/", "%2F"); + // const serverUrl = localStorage.getItem("baseUrl"); + // const newServer = serverUrl.replaceAll("/", "%2F"); const objectId = user.objectId; - const serverParams = `${newServer}&${localStorage.getItem( - "parseAppId" - )}&${localStorage.getItem("_appName")}`; + // const serverParams = `${newServer}&${localStorage.getItem( + // "parseAppId" + // )}&${localStorage.getItem("_appName")}`; const hostUrl = window.location.origin; - let signPdf = `${hostUrl}/login/${pdfDetails?.[0].objectId}/${user.Email}/${objectId}/${serverParams}`; + const encodeBase64 = btoa( + `${pdfDetails?.[0].objectId}/${user.Email}/${objectId}` + ); + let signPdf = `${hostUrl}/login/${encodeBase64}`; + // let signPdf = `${hostUrl}/login/${pdfDetails?.[0].objectId}/${user.Email}/${objectId}/${serverParams}`; const openSignUrl = "https://www.opensignlabs.com/contact-us"; const orgName = pdfDetails[0]?.ExtUserPtr.Company diff --git a/apps/OpenSign/src/pages/PlaceHolderSign.js b/apps/OpenSign/src/pages/PlaceHolderSign.js index 1eaddc43c..516ffa68c 100644 --- a/apps/OpenSign/src/pages/PlaceHolderSign.js +++ b/apps/OpenSign/src/pages/PlaceHolderSign.js @@ -251,7 +251,6 @@ function PlaceHolderSign() { navigate(`/subscription`); } } - //function for get document details const getDocumentDetails = async () => { fetchTenantDetails(); @@ -968,15 +967,13 @@ function PlaceHolderSign() { const shareLinkList = []; let signerMail = signersdata; for (let i = 0; i < signerMail.length; i++) { - const serverUrl = localStorage.getItem("baseUrl"); - const newServer = serverUrl.replaceAll("/", "%2F"); const objectId = signerMail[i].objectId; - const serverParams = `${newServer}&${localStorage.getItem( - "parseAppId" - )}&${localStorage.getItem("_appName")}`; - const hostUrl = window.location.origin; - let signPdf = `${hostUrl}/login/${pdfDetails?.[0].objectId}/${signerMail[i].Email}/${objectId}/${serverParams}`; + //convert this url documentId/signersEmail/signerObjId base64 and send url + const encodeBase64 = btoa( + `${pdfDetails?.[0].objectId}/${signerMail[i].Email}/${objectId}` + ); + let signPdf = `${hostUrl}/login/${encodeBase64}`; shareLinkList.push({ signerEmail: signerMail[i].Email, url: signPdf }); } return shareLinkList.map((data, ind) => { @@ -1050,15 +1047,13 @@ function PlaceHolderSign() { "X-Parse-Application-Id": localStorage.getItem("parseAppId"), sessionToken: localStorage.getItem("accesstoken") }; - const serverUrl = localStorage.getItem("baseUrl"); - const newServer = serverUrl.replaceAll("/", "%2F"); const objectId = signerMail[i].objectId; - const serverParams = `${newServer}&${localStorage.getItem( - "parseAppId" - )}&${localStorage.getItem("_appName")}`; - const hostUrl = window.location.origin; - let signPdf = `${hostUrl}/login/${pdfDetails?.[0].objectId}/${signerMail[i].Email}/${objectId}/${serverParams}`; + //convert this url documentId/signersEmail/signerObjId base64 and send url + const encodeBase64 = btoa( + `${pdfDetails?.[0].objectId}/${signerMail[i].Email}/${objectId}` + ); + let signPdf = `${hostUrl}/login/${encodeBase64}`; const openSignUrl = "https://www.opensignlabs.com/"; const orgName = pdfDetails[0]?.ExtUserPtr.Company ? pdfDetails[0].ExtUserPtr.Company diff --git a/apps/OpenSign/src/primitives/GetReportDisplay.js b/apps/OpenSign/src/primitives/GetReportDisplay.js index 8064e7382..da8ed1d95 100644 --- a/apps/OpenSign/src/primitives/GetReportDisplay.js +++ b/apps/OpenSign/src/primitives/GetReportDisplay.js @@ -286,13 +286,19 @@ const ReportTable = (props) => { const handleShare = (item) => { setActLoader({ [item.objectId]: true }); const host = window.location.origin; - const serverUrl = process.env.REACT_APP_SERVERURL - ? process.env.REACT_APP_SERVERURL - : window.location.origin + "/api/app"; - const baseURL = serverUrl.replace(/\//g, "%2F"); + // const serverUrl = process.env.REACT_APP_SERVERURL + // ? process.env.REACT_APP_SERVERURL + // : window.location.origin + "/api/app"; + // const baseURL = serverUrl.replace(/\//g, "%2F"); + + const getUrl = (x) => { + const encodeBase64 = btoa(`${item.objectId}/${x.Email}/${x.objectId}`); + return `${host}/login/${encodeBase64}`; + }; + const urls = item.Signers.map((x) => ({ email: x.Email, - url: `${host}/login/${item.objectId}/${x.Email}/${x.objectId}/${baseURL}%2F&opensign&contracts` + url: getUrl(x) })); setShareUrls(urls); setIsShare({ [item.objectId]: true });