TASK22224: prune dead code in pdf handlers
This commit is contained in:
@@ -583,3 +583,40 @@ Validation:
|
|||||||
Follow-ups:
|
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.
|
- 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.
|
||||||
|
|||||||
@@ -73,12 +73,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import {
|
import {
|
||||||
createContainer,
|
|
||||||
getContainers,
|
|
||||||
getBlobs,
|
|
||||||
createRepBlob,
|
|
||||||
uploadFile,
|
|
||||||
uploadPDFAppealFiles,
|
|
||||||
downloadProgressFile,
|
downloadProgressFile,
|
||||||
getProgressBlobs,
|
getProgressBlobs,
|
||||||
getTempCaseBlob,
|
getTempCaseBlob,
|
||||||
@@ -86,23 +80,9 @@ import {
|
|||||||
} from "../../../actions/azurestorage";
|
} from "../../../actions/azurestorage";
|
||||||
import { hashAPIPath } from "../../../actions/core/hash";
|
import { hashAPIPath } from "../../../actions/core/hash";
|
||||||
|
|
||||||
import ReactPDF, {
|
import ReactPDF from "@react-pdf/renderer";
|
||||||
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 { getPickLists } from "../../../actions/services/referenceDataService";
|
import { getPickLists } from "../../../actions/services/referenceDataService";
|
||||||
import { planningappeals78_pdf } from "../../../components/pdftemplates/planningappeals78_pdf";
|
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 { other_pdf } from "../../../components/pdftemplates/other_pdf";
|
||||||
import { respondError, respondSuccess } from "../middleware/apiResponse";
|
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;
|
typeof req.body === "string" ? JSON.parse(req.body) : req.body;
|
||||||
const containerID = appealBodyObj.containerID;
|
const containerID = appealBodyObj.containerID;
|
||||||
const casefolderID = appealBodyObj.casefolderID;
|
const casefolderID = appealBodyObj.casefolderID;
|
||||||
const caseRef = appealBodyObj.caseRef;
|
|
||||||
let checkquerypath = "/api/file/generateappealpdf";
|
let checkquerypath = "/api/file/generateappealpdf";
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
|||||||
@@ -72,28 +72,10 @@
|
|||||||
* description: Success
|
* description: Success
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {
|
import { createRepPDFBlob } from "../../../actions/azurestorage";
|
||||||
createContainer,
|
|
||||||
getContainers,
|
|
||||||
getBlobs,
|
|
||||||
createRepBlob,
|
|
||||||
uploadFile,
|
|
||||||
uploadPDFRepFiles,
|
|
||||||
createRepPDFBlob
|
|
||||||
} from "../../../actions/azurestorage";
|
|
||||||
import { hashAPIPath } from "../../../actions/core/hash";
|
import { hashAPIPath } from "../../../actions/core/hash";
|
||||||
|
|
||||||
import ReactPDF, {
|
import ReactPDF from "@react-pdf/renderer";
|
||||||
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 { EnforcementQuestionnaire_pdf } from "../../../components/pdftemplates/enforcement_pdf";
|
import { EnforcementQuestionnaire_pdf } from "../../../components/pdftemplates/enforcement_pdf";
|
||||||
import { lpaQuestionnaire_pdf } from "../../../components/pdftemplates/lpaQuestionnaire_pdf";
|
import { lpaQuestionnaire_pdf } from "../../../components/pdftemplates/lpaQuestionnaire_pdf";
|
||||||
import { finalComments_pdf } from "../../../components/pdftemplates/finalComments_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 containerID = reqBodyobj.containerID;
|
||||||
const casefolderID = reqBodyobj.casefolderID;
|
|
||||||
const caseRef = reqBodyobj.ticketnumber || reqBodyobj.caseRef;
|
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);
|
//console.log("there are files:", Object.keys(req.files).length);
|
||||||
|
|
||||||
let checkquerypath = "/api/file/generatepdf";
|
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(
|
//console.log(
|
||||||
// "///////////////////////////////////\n file created: \n" +
|
// "///////////////////////////////////\n file created: \n" +
|
||||||
// process.cwd() +
|
// process.cwd() +
|
||||||
|
|||||||
Reference in New Issue
Block a user