From 3a28b1cdd7ec132ab675af6d0cb8a74d5d9bb295 Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Mon, 6 May 2024 18:51:47 +0530 Subject: [PATCH 1/7] fix: encode in base64 of guest signing url and decode it in guest login page --- apps/OpenSign/src/App.js | 4 ++ apps/OpenSign/src/pages/GuestLogin.js | 39 +++++++++++++------ apps/OpenSign/src/pages/PdfRequestFiles.js | 16 +++++--- apps/OpenSign/src/pages/PlaceHolderSign.js | 25 +++++------- .../src/primitives/GetReportDisplay.js | 16 +++++--- 5 files changed, 63 insertions(+), 37 deletions(-) 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 }); From 6afa97a76bed44d1a0b7c3437e6123810cdcf7fc Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Mon, 6 May 2024 18:54:07 +0530 Subject: [PATCH 2/7] fix: encode in base64 of guest signing url and decode it in guest login page --- .../customRoute/v1/routes/CreateDocumentWithTemplate.js | 8 +++++--- .../customRoute/v1/routes/createDocumentwithCoordinate.js | 7 +++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js index b3b6f2179..bc5343487 100644 --- a/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js +++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js @@ -217,9 +217,10 @@ export default async function createDocumentWithTemplate(request, response) { }; const objectId = contactMail[i].contactPtr.objectId; - const hostUrl = baseUrl.origin; - let signPdf = `${hostUrl}/login/${res.id}/${contactMail[i].email}/${objectId}/${serverParams}`; + // let signPdf = `${hostUrl}/login/${res.id}/${contactMail[i].email}/${objectId}/${serverParams}`; + const encodeBase64 = btoa(`${res.id}/${contactMail[i].email}/${objectId}`); + let signPdf = `${hostUrl}/login/${encodeBase64}`; const openSignUrl = 'https://www.opensignlabs.com/contact-us'; const orgName = template.ExtUserPtr.Company ? template.ExtUserPtr.Company : ''; const themeBGcolor = '#47a3ad'; @@ -316,11 +317,12 @@ export default async function createDocumentWithTemplate(request, response) { properties: { response_code: 200 }, }); } + const encodeBase64 = btoa(`${res.id}/${x.email}/${x.contactPtr.objectId}`); return response.json({ objectId: res.id, signurl: contact.map(x => ({ email: x.email, - url: `${baseUrl.origin}/login/${res.id}/${x.email}/${x.contactPtr.objectId}/${serverParams}`, + url: `${baseUrl.origin}/login/${encodeBase64}`, })), message: 'Document sent successfully!', }); diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js index f6656f6fb..435bda342 100644 --- a/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js +++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js @@ -278,7 +278,9 @@ export default async function createDocumentwithCoordinate(request, response) { const objectId = contactMail[i].contactPtr.objectId; const hostUrl = baseUrl.origin; - let signPdf = `${hostUrl}/login/${res.id}/${contactMail[i].email}/${objectId}/${serverParams}`; + const encodeBase64 = btoa(`${response.id}/${contactMail[i].email}/${objectId}`); + let signPdf = `${hostUrl}/login/${encodeBase64}`; + // let signPdf = `${hostUrl}/login/${res.id}/${contactMail[i].email}/${objectId}/${serverParams}`; const openSignUrl = 'https://www.opensignlabs.com/contact-us'; const orgName = parseExtUser.Company ? parseExtUser.Company : ''; const themeBGcolor = '#47a3ad'; @@ -359,11 +361,12 @@ export default async function createDocumentwithCoordinate(request, response) { properties: { response_code: 200 }, }); } + const encodeBase64 = btoa(`${res.id}/${x.email}/${x.contactPtr.objectId}`); return response.json({ objectId: res.id, signurl: contact.map(x => ({ email: x.email, - url: `${baseUrl.origin}/login/${res.id}/${x.email}/${x.contactPtr.objectId}/${serverParams}`, + url: `${baseUrl.origin}/login/${encodeBase64}`, })), message: 'Document sent successfully!', }); From 66bf577676be48a82790756f8a26841ff19916f4 Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Tue, 7 May 2024 09:54:10 +0530 Subject: [PATCH 3/7] refactor: add comment --- apps/OpenSign/src/pages/GuestLogin.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/OpenSign/src/pages/GuestLogin.js b/apps/OpenSign/src/pages/GuestLogin.js index 78f4ce2fa..409b29fb0 100644 --- a/apps/OpenSign/src/pages/GuestLogin.js +++ b/apps/OpenSign/src/pages/GuestLogin.js @@ -40,7 +40,7 @@ function GuestLogin() { localStorage.clear(); let parseId, appName, newServer; - //first condition is used to handle old route data url that already save + //first condition is used to manage previously stored URL data for the old route. if (id) { //split url in array from '&' const checkSplit = serverUrl.split("&"); @@ -50,9 +50,11 @@ function GuestLogin() { newServer = server.replaceAll("%2F", "/"); setEmail(userMail); } else { + //in this condition decode base64 route to in string and save required dataf. parseId = appInfo.appId; newServer = `${appInfo.baseUrl}/`; appName = appInfo.appname; + //`atob` function is used to decode base64 const decodebase64 = atob(base64url); //split url in array from '/' const checkSplit = decodebase64.split("/"); From 51c3a0f71ad63f5d1e05fa4cfa6328965b2c1158 Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Tue, 7 May 2024 15:55:46 +0530 Subject: [PATCH 4/7] fix: in opensign-drive unnecessary render tour message and onclick same folder route then it show no data found issue --- apps/OpenSign/src/pages/Opensigndrive.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/apps/OpenSign/src/pages/Opensigndrive.js b/apps/OpenSign/src/pages/Opensigndrive.js index 0803cb8bb..12d1c0f61 100644 --- a/apps/OpenSign/src/pages/Opensigndrive.js +++ b/apps/OpenSign/src/pages/Opensigndrive.js @@ -64,6 +64,7 @@ function Opensigndrive() { const sortingValue = ["Name", "Date"]; const [isDontShow, setIsDontShow] = useState(false); const [tourData, setTourData] = useState(); + const [showTourFirstTIme, setShowTourFirstTime] = useState(true); const orderName = { Ascending: "Ascending", Descending: "Descending", @@ -134,7 +135,9 @@ function Opensigndrive() { //function for get all pdf document list const getPdfDocumentList = async (disbaleLoading) => { setLoading(true); - checkTourStatus(); + if (showTourFirstTIme) { + checkTourStatus(); + } if (!disbaleLoading) { setIsLoading({ isLoad: true, message: "This might take some time" }); } @@ -250,17 +253,23 @@ function Opensigndrive() { }, [loading, sortingOrder, selectedSort]); // Add/remove scroll event listener when loading changes //function for handle folder name path - const handleRoute = (index) => { - setPdfData([]); + const handleRoute = (index, folderData) => { setSkip(0); + // after onclick on route filter route from that index const updateFolderName = folderName.filter((x, i) => { if (i <= index) { return x; } }); setFolderName(updateFolderName); + //get route details after onclick path of folder name + const getCurrentId = folderData[index]; const getLastId = updateFolderName[updateFolderName.length - 1]; - setDocId(getLastId.objectId); + //below condition is used to check if user click on same route which already open then don't change any thing + if (docId !== getCurrentId.objectId) { + setPdfData([]); + setDocId(getLastId.objectId); + } }; //function for add new folder name @@ -439,7 +448,7 @@ function Opensigndrive() { return ( handleRoute(id)} + onClick={() => handleRoute(id, folderData)} style={{ color: "#a64b4e", fontWeight: "400", @@ -474,6 +483,7 @@ function Opensigndrive() { const closeTour = async () => { setIsTour(false); + setShowTourFirstTime(false); if (isDontShow) { const serverUrl = localStorage.getItem("baseUrl"); const appId = localStorage.getItem("parseAppId"); From d9126d6701cb74cf36c24c31b805bf5f5f8f78ae Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Tue, 7 May 2024 16:04:47 +0530 Subject: [PATCH 5/7] refactor: add comment --- apps/OpenSign/src/pages/PdfRequestFiles.js | 7 ++++--- apps/OpenSign/src/pages/PlaceHolderSign.js | 4 ++-- apps/OpenSign/src/primitives/GetReportDisplay.js | 1 + .../customRoute/v1/routes/CreateDocumentWithTemplate.js | 2 ++ .../customRoute/v1/routes/createDocumentwithCoordinate.js | 2 ++ 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/apps/OpenSign/src/pages/PdfRequestFiles.js b/apps/OpenSign/src/pages/PdfRequestFiles.js index 2a71a2f4c..a1d768fad 100644 --- a/apps/OpenSign/src/pages/PdfRequestFiles.js +++ b/apps/OpenSign/src/pages/PdfRequestFiles.js @@ -747,6 +747,7 @@ function PdfRequestFiles() { // "parseAppId" // )}&${localStorage.getItem("_appName")}`; const hostUrl = window.location.origin; + //encode this url value `${pdfDetails?.[0].objectId}/${user.Email}/${objectId}` to base64 using `btoa` function const encodeBase64 = btoa( `${pdfDetails?.[0].objectId}/${user.Email}/${objectId}` ); @@ -1249,9 +1250,9 @@ function PdfRequestFiles() { isDecline.currnt === "Sure" ? "Are you sure want to decline this document ?" : isDecline.currnt === "YouDeclined" - ? "You have declined this document!" - : isDecline.currnt === "another" && - "You can not sign this document as it has been declined/revoked." + ? "You have declined this document!" + : isDecline.currnt === "another" && + "You can not sign this document as it has been declined/revoked." } footerMessage={isDecline.currnt === "Sure"} declineDoc={declineDoc} diff --git a/apps/OpenSign/src/pages/PlaceHolderSign.js b/apps/OpenSign/src/pages/PlaceHolderSign.js index 516ffa68c..978eec980 100644 --- a/apps/OpenSign/src/pages/PlaceHolderSign.js +++ b/apps/OpenSign/src/pages/PlaceHolderSign.js @@ -969,7 +969,7 @@ function PlaceHolderSign() { for (let i = 0; i < signerMail.length; i++) { const objectId = signerMail[i].objectId; const hostUrl = window.location.origin; - //convert this url documentId/signersEmail/signerObjId base64 and send url + //encode this url value `${pdfDetails?.[0].objectId}/${signerMail[i].Email}/${objectId}` to base64 using `btoa` function const encodeBase64 = btoa( `${pdfDetails?.[0].objectId}/${signerMail[i].Email}/${objectId}` ); @@ -1049,7 +1049,7 @@ function PlaceHolderSign() { }; const objectId = signerMail[i].objectId; const hostUrl = window.location.origin; - //convert this url documentId/signersEmail/signerObjId base64 and send url + //encode this url value `${pdfDetails?.[0].objectId}/${signerMail[i].Email}/${objectId}` to base64 using `btoa` function const encodeBase64 = btoa( `${pdfDetails?.[0].objectId}/${signerMail[i].Email}/${objectId}` ); diff --git a/apps/OpenSign/src/primitives/GetReportDisplay.js b/apps/OpenSign/src/primitives/GetReportDisplay.js index d492b83e4..fe54580cd 100644 --- a/apps/OpenSign/src/primitives/GetReportDisplay.js +++ b/apps/OpenSign/src/primitives/GetReportDisplay.js @@ -293,6 +293,7 @@ const ReportTable = (props) => { // const baseURL = serverUrl.replace(/\//g, "%2F"); const getUrl = (x) => { + //encode this url value `${item.objectId}/${x.Email}/${x.objectId}` to base64 using `btoa` function const encodeBase64 = btoa(`${item.objectId}/${x.Email}/${x.objectId}`); return `${host}/login/${encodeBase64}`; }; diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js index bc5343487..a075f3aae 100644 --- a/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js +++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js @@ -219,6 +219,7 @@ export default async function createDocumentWithTemplate(request, response) { const objectId = contactMail[i].contactPtr.objectId; const hostUrl = baseUrl.origin; // let signPdf = `${hostUrl}/login/${res.id}/${contactMail[i].email}/${objectId}/${serverParams}`; + //encode this url value `${res.id}/${contactMail[i].email}/${objectId}` to base64 using `btoa` function const encodeBase64 = btoa(`${res.id}/${contactMail[i].email}/${objectId}`); let signPdf = `${hostUrl}/login/${encodeBase64}`; const openSignUrl = 'https://www.opensignlabs.com/contact-us'; @@ -317,6 +318,7 @@ export default async function createDocumentWithTemplate(request, response) { properties: { response_code: 200 }, }); } + //encode this url value `${res.id}/${x.email}/${x.contactPtr.objectId}` to base64 using `btoa` function const encodeBase64 = btoa(`${res.id}/${x.email}/${x.contactPtr.objectId}`); return response.json({ objectId: res.id, diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js index 435bda342..b954e046e 100644 --- a/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js +++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js @@ -278,6 +278,7 @@ export default async function createDocumentwithCoordinate(request, response) { const objectId = contactMail[i].contactPtr.objectId; const hostUrl = baseUrl.origin; + //encode this url value `${response.id}/${contactMail[i].email}/${objectId}` to base64 using `btoa` function const encodeBase64 = btoa(`${response.id}/${contactMail[i].email}/${objectId}`); let signPdf = `${hostUrl}/login/${encodeBase64}`; // let signPdf = `${hostUrl}/login/${res.id}/${contactMail[i].email}/${objectId}/${serverParams}`; @@ -361,6 +362,7 @@ export default async function createDocumentwithCoordinate(request, response) { properties: { response_code: 200 }, }); } + //encode this url value `${res.id}/${x.email}/${x.contactPtr.objectId}` to base64 using `btoa` function const encodeBase64 = btoa(`${res.id}/${x.email}/${x.contactPtr.objectId}`); return response.json({ objectId: res.id, From 65d5c7f33791dd036d3512ae8ab9161b7b12d3c8 Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Tue, 7 May 2024 18:30:06 +0530 Subject: [PATCH 6/7] refactor: remove commented code and remove extra condition --- apps/OpenSign/src/pages/GuestLogin.js | 32 +++++++------------ apps/OpenSign/src/pages/PdfRequestFiles.js | 6 ---- .../src/primitives/GetReportDisplay.js | 5 --- .../v1/routes/CreateDocumentWithTemplate.js | 1 - .../v1/routes/createDocumentwithCoordinate.js | 1 - 5 files changed, 11 insertions(+), 34 deletions(-) diff --git a/apps/OpenSign/src/pages/GuestLogin.js b/apps/OpenSign/src/pages/GuestLogin.js index 409b29fb0..6df724448 100644 --- a/apps/OpenSign/src/pages/GuestLogin.js +++ b/apps/OpenSign/src/pages/GuestLogin.js @@ -9,9 +9,9 @@ import logo from "../assets/images/logo.png"; import { appInfo } from "../constant/appinfo"; function GuestLogin() { - const { id, userMail, contactBookId, serverUrl, base64url } = useParams(); + const { id, userMail, contactBookId, base64url } = useParams(); let navigate = useNavigate(); - const [email, setEmail] = useState(""); + const [email, setEmail] = useState(userMail); const [OTP, setOTP] = useState(""); const [EnterOTP, setEnterOtp] = useState(false); const [loading, setLoading] = useState(false); @@ -39,33 +39,23 @@ function GuestLogin() { } localStorage.clear(); - let parseId, appName, newServer; - //first condition is used to manage previously stored URL data for the old route. - 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 { - //in this condition decode base64 route to in string and save required dataf. - parseId = appInfo.appId; - newServer = `${appInfo.baseUrl}/`; - appName = appInfo.appname; + const parseId = appInfo.appId; + const newServer = `${appInfo.baseUrl}/`; + const appName = appInfo.appname; + localStorage.setItem("baseUrl", newServer); + localStorage.setItem("parseAppId", parseId); + localStorage.setItem("_appName", appName); + //first condition is used decode base64 to string and get userEmail,documentId, contactBoookId data. + if (!id) { //`atob` function is used to decode base64 const decodebase64 = atob(base64url); //split url in array from '/' const checkSplit = decodebase64.split("/"); - setEmail(checkSplit[1]); setDocumentId(checkSplit[0]); + setEmail(checkSplit[1]); setContactId(checkSplit[2]); } - localStorage.setItem("baseUrl", newServer); - localStorage.setItem("parseAppId", parseId); - localStorage.setItem("_appName", appName); setIsLoading(false); }; diff --git a/apps/OpenSign/src/pages/PdfRequestFiles.js b/apps/OpenSign/src/pages/PdfRequestFiles.js index a1d768fad..57a6bef83 100644 --- a/apps/OpenSign/src/pages/PdfRequestFiles.js +++ b/apps/OpenSign/src/pages/PdfRequestFiles.js @@ -740,19 +740,13 @@ function PdfRequestFiles() { localStorage.getItem("parseAppId"), sessionToken: localStorage.getItem("accesstoken") }; - // const serverUrl = localStorage.getItem("baseUrl"); - // const newServer = serverUrl.replaceAll("/", "%2F"); const objectId = user.objectId; - // const serverParams = `${newServer}&${localStorage.getItem( - // "parseAppId" - // )}&${localStorage.getItem("_appName")}`; const hostUrl = window.location.origin; //encode this url value `${pdfDetails?.[0].objectId}/${user.Email}/${objectId}` to base64 using `btoa` function 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/primitives/GetReportDisplay.js b/apps/OpenSign/src/primitives/GetReportDisplay.js index fe54580cd..927a0e14f 100644 --- a/apps/OpenSign/src/primitives/GetReportDisplay.js +++ b/apps/OpenSign/src/primitives/GetReportDisplay.js @@ -287,11 +287,6 @@ 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 getUrl = (x) => { //encode this url value `${item.objectId}/${x.Email}/${x.objectId}` to base64 using `btoa` function const encodeBase64 = btoa(`${item.objectId}/${x.Email}/${x.objectId}`); diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js index a075f3aae..f70466a9f 100644 --- a/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js +++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js @@ -218,7 +218,6 @@ export default async function createDocumentWithTemplate(request, response) { const objectId = contactMail[i].contactPtr.objectId; const hostUrl = baseUrl.origin; - // let signPdf = `${hostUrl}/login/${res.id}/${contactMail[i].email}/${objectId}/${serverParams}`; //encode this url value `${res.id}/${contactMail[i].email}/${objectId}` to base64 using `btoa` function const encodeBase64 = btoa(`${res.id}/${contactMail[i].email}/${objectId}`); let signPdf = `${hostUrl}/login/${encodeBase64}`; diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js index b954e046e..52c00ef33 100644 --- a/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js +++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js @@ -281,7 +281,6 @@ export default async function createDocumentwithCoordinate(request, response) { //encode this url value `${response.id}/${contactMail[i].email}/${objectId}` to base64 using `btoa` function const encodeBase64 = btoa(`${response.id}/${contactMail[i].email}/${objectId}`); let signPdf = `${hostUrl}/login/${encodeBase64}`; - // let signPdf = `${hostUrl}/login/${res.id}/${contactMail[i].email}/${objectId}/${serverParams}`; const openSignUrl = 'https://www.opensignlabs.com/contact-us'; const orgName = parseExtUser.Company ? parseExtUser.Company : ''; const themeBGcolor = '#47a3ad'; From 0f6701300543cee6985a4b5b28633c6c1846fa12 Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Tue, 7 May 2024 18:30:45 +0530 Subject: [PATCH 7/7] refactor: remove commented code and remove extra condition --- apps/OpenSign/src/pages/GuestLogin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/OpenSign/src/pages/GuestLogin.js b/apps/OpenSign/src/pages/GuestLogin.js index 6df724448..003ef60bb 100644 --- a/apps/OpenSign/src/pages/GuestLogin.js +++ b/apps/OpenSign/src/pages/GuestLogin.js @@ -45,7 +45,7 @@ function GuestLogin() { localStorage.setItem("baseUrl", newServer); localStorage.setItem("parseAppId", parseId); localStorage.setItem("_appName", appName); - //first condition is used decode base64 to string and get userEmail,documentId, contactBoookId data. + //this condition is used decode base64 to string and get userEmail,documentId, contactBoookId data. if (!id) { //`atob` function is used to decode base64 const decodebase64 = atob(base64url);