Merged PR 1132: sent pdf to stream not a file

sent pdf to stream not a file

Related work items: #11021
This commit is contained in:
Robert Bond
2024-04-30 10:28:01 +00:00
4 changed files with 58 additions and 16 deletions
+37
View File
@@ -303,6 +303,43 @@ export const createRepBlob = async (formContent, containerName, caseref) => {
return formContent.pinswg_name;
};
export const createAppealPDFBlob = async (
formContent,
containerName,
caseref
) => {
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/" + caseID + ".pdf";
console.log("blobName:", blobName);
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
const uploadBlobResponse = await blockBlobClient.uploadStream(content);
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;
};
export const deleteBlob = async (containerName, blobName) => {
const creds = new DefaultAzureCredential();
+1 -1
View File
@@ -111,7 +111,7 @@ export default function BuildRow(props) {
// mandatoryFieldsData
// );
console.log("build row datafieldname[0]", datafieldname[0]);
//console.log("build row datafieldname[0]", datafieldname[0]);
if (datafieldname[0].value == "pinswg_fileUpload") {
return (
+1 -1
View File
@@ -86,7 +86,7 @@
"devDependencies": {
"eslint": "^8.6.0",
"eslint-config-next": "^14.0.1",
"eslint-plugin-jsdoc": "^40.0.1",
"eslint-plugin-jsdoc": "^48.2.3",
"next-translate-plugin": "^2.6.2",
"prisma": "^5.0.0"
}
+19 -14
View File
@@ -82,6 +82,7 @@ import {
downloadProgressFile,
getProgressBlobs,
getTempCaseBlob,
createAppealPDFBlob,
} from "../../../actions/azurestorage";
import { hashAPIPath } from "../../../actions";
@@ -168,26 +169,30 @@ export default async function handler(req, res) {
const pickListData = await getPickLists(appealType);
ReactPDF.render(
<MyDocument docProps={blobProgress} pickListData={pickListData} />,
`./tmp/${blobProgress.pinswg_name}.pdf`
// ReactPDF.render(
// <MyDocument docProps={blobProgress} pickListData={pickListData} />,
// process.cwd() + `/tmp/${blobProgress.pinswg_name}.pdf`
// );
// ReactPDF.renderToStream();
const renderedPDF = await ReactPDF.renderToStream(
<MyDocument docProps={blobProgress} pickListData={pickListData} />
);
createAppealPDFBlob(renderedPDF, containerID, blobProgress.pinswg_name);
console.log(
"///////////////////////////////////\nfile created: " +
`./tmp/${blobProgress.pinswg_name}.pdf` +
"\n folder:" +
path.dirname(fs.realpathSync(__filename)) +
"\n" +
__dirname,
`/files/${blobProgress.pinswg_name}.pdf`,
"\n/////////////////////////"
);
uploadPDFAppealFiles(
`./tmp/${appealBodyObj.pinswg_name}.pdf`,
containerID,
appealBodyObj.pinswg_name
);
// uploadPDFAppealFiles(
// process.cwd() + `/tmp/${appealBodyObj.pinswg_name}.pdf`,
// containerID,
// appealBodyObj.pinswg_name
// );
// then remove from local folder
@@ -195,7 +200,7 @@ export default async function handler(req, res) {
return res.status(200).json({
data: "success",
path: `./tmp/${blobProgress.pinswg_name}.pdf`,
path: process.cwd() + `/tmp/${blobProgress.pinswg_name}.pdf`,
});
// } else {
// return res.status(400).json();