From 923ed0c47d8b4f51ec8c0fa28f7d476f9829038c Mon Sep 17 00:00:00 2001 From: rdbsolutions Date: Tue, 30 Apr 2024 14:02:25 +0100 Subject: [PATCH] changed order of so pdf doesnt get orphaned --- actions/azurestorage.js | 41 +++++++++++++++++++ components/newappeal/buildchecksection.js | 18 ++++---- data/formsxml/adverts.xml | 8 ++-- data/formsxml/commercialappealcas.xml | 12 +++--- data/formsxml/enforcementnoticeappeals174.xml | 10 ++--- data/formsxml/householderappealhas.xml | 12 +++--- ...istedbuildingandconservationareaconsen.xml | 12 +++--- data/formsxml/planningappeals78.xml | 10 ++--- pages/api/file/generateappealpdf.js | 39 +++++++++--------- pages/api/file/generatepdf.js | 34 ++++++++++----- 10 files changed, 124 insertions(+), 72 deletions(-) diff --git a/actions/azurestorage.js b/actions/azurestorage.js index 68420117..420a683c 100644 --- a/actions/azurestorage.js +++ b/actions/azurestorage.js @@ -327,6 +327,47 @@ export const createAppealPDFBlob = async ( const uploadBlobResponse = await blockBlobClient.uploadStream(content); + console.log(uploadBlobResponse); + + const tags = { + containerid: containerName, + caseID: caseID, + blobType: "Appeal PDF", + }; + + //console.log("the tags:", tags); + const withTags = await blockBlobClient.setTags(tags); + const withMeta = await blockBlobClient.setMetadata(tags); + + //return formContent.pinswg_name; + return uploadBlobResponse; +}; + +export const createRepPDFBlob = async ( + formContent, + containerName, + caseref, + repName +) => { + const containerToken = await createContainerSas(containerName); + const sasUrl = `${STORAGE_PATH}/${containerName}?${containerToken}`; + const containerClient = new ContainerClient(sasUrl); + + formContent = formContent; + let caseID = ""; + + caseID = caseref; + + const content = formContent; + + //console.log(content); + const blobName = caseID + "/files/" + repName + ".pdf"; + + console.log("blobName:", blobName); + const blockBlobClient = containerClient.getBlockBlobClient(blobName); + + const uploadBlobResponse = await blockBlobClient.uploadStream(content); + const tags = { containerid: containerName, caseID: caseID, diff --git a/components/newappeal/buildchecksection.js b/components/newappeal/buildchecksection.js index 7b2235a2..4c753c6d 100644 --- a/components/newappeal/buildchecksection.js +++ b/components/newappeal/buildchecksection.js @@ -254,15 +254,15 @@ let BuildCheckSection = (props) => { className="govuk-button" data-module="govuk-button" onClick={() => { - setCurrentSection(9999), - generateAppealPDF( - pdfObj, - props.props.accountDetails.containerID, - props.appealType.caseReference.ticketnumber, - router.query.appealtypes, - pdfObj.filesList - // props.appealType.fileList - ); + generateAppealPDF( + pdfObj, + props.props.accountDetails.containerID, + props.appealType.caseReference.ticketnumber, + router.query.appealtypes, + pdfObj.filesList + // props.appealType.fileList + ), + setCurrentSection(9999); }} > {t("newappeal:submit-appeal-button")} diff --git a/data/formsxml/adverts.xml b/data/formsxml/adverts.xml index 5d16323c..fb20814b 100644 --- a/data/formsxml/adverts.xml +++ b/data/formsxml/adverts.xml @@ -166,7 +166,7 @@ - + @@ -250,7 +250,7 @@ - + @@ -304,13 +304,13 @@ - + - + diff --git a/data/formsxml/commercialappealcas.xml b/data/formsxml/commercialappealcas.xml index 5d39ca57..a1af9acf 100644 --- a/data/formsxml/commercialappealcas.xml +++ b/data/formsxml/commercialappealcas.xml @@ -91,7 +91,7 @@ - + @@ -205,7 +205,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -289,7 +289,7 @@ - + @@ -325,13 +325,13 @@ - + - + diff --git a/data/formsxml/enforcementnoticeappeals174.xml b/data/formsxml/enforcementnoticeappeals174.xml index d5469b50..95ea8d85 100644 --- a/data/formsxml/enforcementnoticeappeals174.xml +++ b/data/formsxml/enforcementnoticeappeals174.xml @@ -797,7 +797,7 @@ - + @@ -809,7 +809,7 @@ - + @@ -1116,7 +1116,7 @@ - + @@ -1170,13 +1170,13 @@ - + - + diff --git a/data/formsxml/householderappealhas.xml b/data/formsxml/householderappealhas.xml index 7320c67d..690c0b13 100644 --- a/data/formsxml/householderappealhas.xml +++ b/data/formsxml/householderappealhas.xml @@ -78,7 +78,7 @@ - + @@ -210,7 +210,7 @@ - + @@ -222,7 +222,7 @@ - + @@ -320,7 +320,7 @@ - + @@ -368,13 +368,13 @@ - + - + diff --git a/data/formsxml/listedbuildingandconservationareaconsen.xml b/data/formsxml/listedbuildingandconservationareaconsen.xml index 7e7f3f6f..0fd9af40 100644 --- a/data/formsxml/listedbuildingandconservationareaconsen.xml +++ b/data/formsxml/listedbuildingandconservationareaconsen.xml @@ -70,7 +70,7 @@ - + @@ -172,7 +172,7 @@ - + @@ -184,7 +184,7 @@ - + @@ -262,7 +262,7 @@ - + @@ -316,13 +316,13 @@ - + - + diff --git a/data/formsxml/planningappeals78.xml b/data/formsxml/planningappeals78.xml index 17c8b2d5..29ef9af7 100644 --- a/data/formsxml/planningappeals78.xml +++ b/data/formsxml/planningappeals78.xml @@ -196,7 +196,7 @@ - + @@ -208,7 +208,7 @@ - + @@ -244,7 +244,7 @@ - + @@ -304,13 +304,13 @@ - + - + diff --git a/pages/api/file/generateappealpdf.js b/pages/api/file/generateappealpdf.js index 52f221ad..3318019e 100644 --- a/pages/api/file/generateappealpdf.js +++ b/pages/api/file/generateappealpdf.js @@ -180,28 +180,27 @@ export default async function handler(req, res) { ); - createAppealPDFBlob(renderedPDF, containerID, blobProgress.pinswg_name); - - console.log( - "///////////////////////////////////\nfile created: " + + await createAppealPDFBlob( + renderedPDF, + containerID, + blobProgress.pinswg_name + ).then((data) => { + console.log( + "///////////////////////////////////\nfile created: " + data, `/files/${blobProgress.pinswg_name}.pdf`, - "\n/////////////////////////" - ); - - // uploadPDFAppealFiles( - // process.cwd() + `/tmp/${appealBodyObj.pinswg_name}.pdf`, - // containerID, - // appealBodyObj.pinswg_name - // ); - - // then remove from local folder - - //fs.unlinkSync(process.cwd() + `/tmp/${appealBodyObj.repfile_name}.pdf`); - - return res.status(200).json({ - data: "success", - path: process.cwd() + `/tmp/${blobProgress.pinswg_name}.pdf`, + "\n/////////////////////////" + ); + return res.status(200).json({ + status: "success", + data: data, + path: `/files/${blobProgress.pinswg_name}.pdf`, + }); }); + + // return res.status(200).json({ + // data: "success", + // path: process.cwd() + `/tmp/${blobProgress.pinswg_name}.pdf`, + // }); // } else { // return res.status(400).json(); // } diff --git a/pages/api/file/generatepdf.js b/pages/api/file/generatepdf.js index 2c43dbfd..fa447fa6 100644 --- a/pages/api/file/generatepdf.js +++ b/pages/api/file/generatepdf.js @@ -104,7 +104,7 @@ import { other_pdf } from "../../../components/pdftemplates/other_pdf"; // ApiProxy.post(async (req, res) => { -export default function handler(req, res) { +export default async function handler(req, res) { var checkHash = req.query.hash; let reqBodyobj = req.body; //JSON.parse(req.body); @@ -217,25 +217,37 @@ export default function handler(req, res) { "\n/////////////////////////" ); - ReactPDF.render( - , - process.cwd() + `/tmp/${reqBodyobj.repfile_name}.pdf` + const renderedPDF = await ReactPDF.renderStream( + + ); + + await createRepPDFBlob( + renderedPDF, + containerID, + caseRef, + reqBodyobj.repfile_name + ); + + console.log( + "///////////////////////////////////\nrep pdf file created: " + + `/files/${reqBodyobj.repfile_name}.pdf`, + "\n/////////////////////////" ); // upload file to storage account - uploadPDFRepFiles( - process.cwd() + `/tmp/${reqBodyobj.repfile_name}.pdf`, - containerID, - caseRef + "/" + reqBodyobj.repfile_name, - repType - ); + // uploadPDFRepFiles( + // process.cwd() + `/tmp/${reqBodyobj.repfile_name}.pdf`, + // containerID, + // caseRef + "/" + reqBodyobj.repfile_name, + // repType + // ); // remove from local folder //fs.unlinkSync(process.cwd() + `/tmp/${reqBodyobj.repfile_name}.pdf`); return res.status(200).json({ data: "success", - path: `tmp/${reqBodyobj.repfile_name}.pdf`, + path: `${reqBodyobj.repfile_name}.pdf`, }); // } else { // return res.status(400).json();