From 6b8bca080284a15e4f2b1bb5006b37e1ba32998e Mon Sep 17 00:00:00 2001 From: Rishab <33950743+rishabjasrotia@users.noreply.github.com> Date: Sat, 11 Nov 2023 13:25:04 +0530 Subject: [PATCH] #167 - Sanitize Output filename (#176) --- Makefile | 2 +- .../FolderDrive/legaDriveComponent.js | 10 ++++++++-- .../src/Component/component/emailComponent.js | 19 ++++++++++++------- .../src/Component/component/header.js | 10 ++++++++-- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index bf7f219d3..d44c064b7 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ build: cp .env.local_dev .env rm -rf apps/OpenSign/public/mfbuild cd microfrontends/SignDocuments && npm install && npm run build - docker compose up -d + docker compose up --build --force-recreate run: cp .env.local_dev .env diff --git a/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js b/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js index ab7d1bd4c..df62c822d 100644 --- a/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js +++ b/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js @@ -99,7 +99,7 @@ function PdfFileComponent({ //function for navigate user to microapp-signature component const checkPdfStatus = async (data) => { - + const hostUrl = getHostUrl(); const expireDate = data.ExpiryDate.iso; const expireUpdateDate = new Date(expireDate).getTime(); @@ -221,13 +221,19 @@ function PdfFileComponent({ // console.log("download") const pdfName = data && data.Name; const pdfUrl = data && data.SignedUrl ? data.SignedUrl : data.URL; - saveAs(pdfUrl, `${pdfName}_signed_by_OpenSign™.pdf`); + saveAs(pdfUrl, `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`); } else if (selectType === "Rename") { // console.log("rename") setRenameValue(data.Name); setRename(data.objectId); } }; + + const sanitizeFileName = (pdfName) => { + // Replace spaces with underscore + return pdfName.replace(/ /g, '_'); + } + const handleEnterPress = (e, data) => { if (e.key === "Enter") { handledRenameDoc(data); diff --git a/microfrontends/SignDocuments/src/Component/component/emailComponent.js b/microfrontends/SignDocuments/src/Component/component/emailComponent.js index 5892c8ef5..532b3be4e 100644 --- a/microfrontends/SignDocuments/src/Component/component/emailComponent.js +++ b/microfrontends/SignDocuments/src/Component/component/emailComponent.js @@ -28,9 +28,9 @@ function EmailComponent({ setIsLoading(true); let sendMail; for (let i = 0; i < emailCount.length; i++) { - + try { - + const imgPng = "https://qikinnovation.ams3.digitaloceanspaces.com/logo.png"; // "https://qikinnovation.ams3.digitaloceanspaces.com/mailLogo_2023-08-18T12%3A51%3A31.573Z.png"; @@ -41,7 +41,7 @@ function EmailComponent({ "X-Parse-Application-Id": localStorage.getItem("parseAppId"), sessionToken: localStorage.getItem("accesstoken") }; - + const themeBGcolor = themeColor(); let params = { pdfName: pdfName, @@ -125,12 +125,17 @@ function EmailComponent({ //handle download signed pdf const handleDownloadPdf = () => { - saveAs(pdfUrl, `${pdfName}_signed_by_OpenSign™.pdf`); + saveAs(pdfUrl, `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`); }; + const sanitizeFileName = (pdfName) => { + // Replace spaces with underscore + return pdfName.replace(/ /g, '_'); + } + const isAndroid = /Android/i.test(navigator.userAgent); - + return (