diff --git a/memory-bank/change-log.md b/memory-bank/change-log.md index 4a339e46..98e99d86 100644 --- a/memory-bank/change-log.md +++ b/memory-bank/change-log.md @@ -583,3 +583,40 @@ Validation: Follow-ups: - Optional: dead import cleanup (`Document/Page/Text/View/StyleSheet/PDFViewer`, `middleware`, `nextConnect`, `fs`, etc.) can be done in a dedicated non-behavioral hygiene PR. + +--- + +### CL-015: TASK22224 pdf handler dead-code hygiene slice + +date: 2026-03-24 +author: Cline +scope: `pages/api/file/{generatepdf,generateappealpdf}.js` +type: change +rationale: Execute the requested next low-risk slice by removing dead imports and unused locals in recently hardened PDF handlers. +impact: Non-behavioral maintainability cleanup; reduces lint noise and future edit risk while preserving existing contracts. +status: completed + +Summary: + +- `pages/api/file/generatepdf.js` + - pruned unused Azure storage imports, leaving only `createRepPDFBlob` + - pruned unused `@react-pdf/renderer` named imports + - removed unused imports (`middleware`, `nextConnect`, `fs`) + - removed unused locals (`casefolderID`, `representationType`, `repRaiser`, `localeSelect`, `repCapacity`, `repType`) +- `pages/api/file/generateappealpdf.js` + - pruned unused Azure storage imports to only required functions + - pruned unused `@react-pdf/renderer` named imports + - removed unused imports (`middleware`, `nextConnect`, `fs`, `path`, unused pdf templates) + - removed unused local (`caseRef`) + +Validation: + +- `node tests/phase21/api-contract-slice1.test.cjs` -> pass + - helper: 4/4 + - file-handler: 53/53 + - email-handler: 12/12 + - endpoint-handler: 152/152 + +Follow-ups: + +- Optional: run full repo lint in a separate pass for broader non-slice hygiene now that targeted contract suite is stable. diff --git a/pages/api/file/generateappealpdf.js b/pages/api/file/generateappealpdf.js index 1a809246..d4fb3569 100644 --- a/pages/api/file/generateappealpdf.js +++ b/pages/api/file/generateappealpdf.js @@ -73,12 +73,6 @@ */ import { - createContainer, - getContainers, - getBlobs, - createRepBlob, - uploadFile, - uploadPDFAppealFiles, downloadProgressFile, getProgressBlobs, getTempCaseBlob, @@ -86,23 +80,9 @@ import { } from "../../../actions/azurestorage"; import { hashAPIPath } from "../../../actions/core/hash"; -import ReactPDF, { - Document, - Page, - Text, - View, - StyleSheet, - PDFViewer -} from "@react-pdf/renderer"; -import middleware from "../middleware/middleware"; -import nextConnect from "next-connect"; -import fs from "fs"; -import path from "path"; +import ReactPDF from "@react-pdf/renderer"; import { getPickLists } from "../../../actions/services/referenceDataService"; import { planningappeals78_pdf } from "../../../components/pdftemplates/planningappeals78_pdf"; -import { finalComments_pdf } from "../../../components/pdftemplates/finalComments_pdf"; -import { statement_pdf } from "../../../components/pdftemplates/statement_pdf"; -import { writtenStatement_pdf } from "../../../components/pdftemplates/writtenStatement_pdf"; import { other_pdf } from "../../../components/pdftemplates/other_pdf"; import { respondError, respondSuccess } from "../middleware/apiResponse"; @@ -120,7 +100,6 @@ export default async function handler(req, res) { typeof req.body === "string" ? JSON.parse(req.body) : req.body; const containerID = appealBodyObj.containerID; const casefolderID = appealBodyObj.casefolderID; - const caseRef = appealBodyObj.caseRef; let checkquerypath = "/api/file/generateappealpdf"; if ( diff --git a/pages/api/file/generatepdf.js b/pages/api/file/generatepdf.js index 025e784e..42500ca6 100644 --- a/pages/api/file/generatepdf.js +++ b/pages/api/file/generatepdf.js @@ -72,28 +72,10 @@ * description: Success */ -import { - createContainer, - getContainers, - getBlobs, - createRepBlob, - uploadFile, - uploadPDFRepFiles, - createRepPDFBlob -} from "../../../actions/azurestorage"; +import { createRepPDFBlob } from "../../../actions/azurestorage"; import { hashAPIPath } from "../../../actions/core/hash"; -import ReactPDF, { - Document, - Page, - Text, - View, - StyleSheet, - PDFViewer -} from "@react-pdf/renderer"; -import middleware from "../middleware/middleware"; -import nextConnect from "next-connect"; -import fs from "fs"; +import ReactPDF from "@react-pdf/renderer"; import { EnforcementQuestionnaire_pdf } from "../../../components/pdftemplates/enforcement_pdf"; import { lpaQuestionnaire_pdf } from "../../../components/pdftemplates/lpaQuestionnaire_pdf"; import { finalComments_pdf } from "../../../components/pdftemplates/finalComments_pdf"; @@ -170,11 +152,7 @@ export default async function handler(req, res) { // ); const containerID = reqBodyobj.containerID; - const casefolderID = reqBodyobj.casefolderID; const caseRef = reqBodyobj.ticketnumber || reqBodyobj.caseRef; - const representationType = reqBodyobj.representationType; - const repRaiser = reqBodyobj.lastname; - const localeSelect = reqBodyobj.locale; //console.log("there are files:", Object.keys(req.files).length); let checkquerypath = "/api/file/generatepdf"; @@ -247,67 +225,6 @@ export default async function handler(req, res) { } }; - let repCapacity = ""; - switch (reqBodyobj.representationCapacity) { - case "Appellant": - repCapacity = "APP"; - break; - case "Agent": - repCapacity = "AGENT"; - break; - case "Interested Party/Person": - repCapacity = "IP"; - break; - case "Land Owner": - repCapacity = "LO"; - break; - case "lpa": - case "LPA": - repCapacity = "LPA"; - break; - - default: - // code block - } - - let repType = ""; - switch (reqBodyobj.representationType) { - case "Statement": - repType = "Statement"; - break; - case "Statement of common ground": - repType = "SCG"; - break; - case "Written statement": - repType = "WS"; - break; - case "Written statement of evidence": - repType = "WSE"; - break; - case "Questionnaire": - repType = "Questionnaire"; - break; - case "Final comments": - repType = "Comments"; - break; - case "Local Impact Report": - repType = "Impact"; - break; - case "Consultation Response": - repType = "Consultation_Response"; - break; - case "Marine Impact Report": - repType = "Marine_Impact"; - break; - - case "Other": - repType = "OTHER"; - break; - - default: - // code block - } - //console.log( // "///////////////////////////////////\n file created: \n" + // process.cwd() +