medusajs-documents-plugin 1.1.29 → 1.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/api/admin/documents/[id]/document/route.js +55 -4
- package/.medusa/server/src/api/admin/documents/templates/preview/route.js +22 -2
- package/.medusa/server/src/api/api/admin/documents/[id]/document/route.js +25 -4
- package/.medusa/server/src/api/documents/[id]/document/route.js +24 -3
- package/.medusa/server/src/api/documents/templates/preview/route.js +118 -47
- package/.medusa/server/src/api/middlewares.js +35 -0
- package/.medusa/server/src/modules/documents/service.js +48 -20
- package/.medusa/server/src/services/pdfkit-generator.js +176 -111
- package/CHANGELOG.md +19 -0
- package/package.json +1 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HEAD = exports.AUTHENTICATE = void 0;
|
|
3
4
|
exports.GET = GET;
|
|
4
5
|
const documents_1 = require("../../../../../modules/documents");
|
|
5
6
|
const service_1 = require("../../../../../modules/documents/service");
|
|
7
|
+
exports.AUTHENTICATE = false;
|
|
6
8
|
// GET /admin/documents/:id/document
|
|
7
9
|
async function GET(req, res) {
|
|
8
10
|
const documentService = req.scope.resolve(documents_1.DOCUMENTS_MODULE);
|
|
@@ -34,6 +36,15 @@ async function GET(req, res) {
|
|
|
34
36
|
}
|
|
35
37
|
catch (_) { }
|
|
36
38
|
}
|
|
39
|
+
if (!record) {
|
|
40
|
+
try {
|
|
41
|
+
const records = await documentService.listDocumentRecords({ order_id: cleanId }, {}, sharedContext);
|
|
42
|
+
if (records && records.length > 0) {
|
|
43
|
+
record = records[0];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (_) { }
|
|
47
|
+
}
|
|
37
48
|
if (!record) {
|
|
38
49
|
const pg = (0, service_1.getDatabaseConnection)(req.scope);
|
|
39
50
|
if (pg) {
|
|
@@ -43,19 +54,57 @@ async function GET(req, res) {
|
|
|
43
54
|
builder
|
|
44
55
|
.where({ id: cleanId })
|
|
45
56
|
.orWhere({ display_id: cleanId })
|
|
46
|
-
.orWhere({ repair_ticket_id: cleanId })
|
|
57
|
+
.orWhere({ repair_ticket_id: cleanId })
|
|
58
|
+
.orWhere({ order_id: cleanId });
|
|
47
59
|
})
|
|
48
60
|
.first();
|
|
49
61
|
}
|
|
50
62
|
}
|
|
63
|
+
// Fallback: If not in documents table, check if cleanId is an approval token or ticket ID in repair module
|
|
64
|
+
if (!record) {
|
|
65
|
+
try {
|
|
66
|
+
const repairModule = req.scope.resolve("repair", { allowUnregistered: true });
|
|
67
|
+
if (repairModule) {
|
|
68
|
+
let tickets = await repairModule.listRepairTickets({ approval_token: cleanId }).catch(() => []);
|
|
69
|
+
if (!tickets || tickets.length === 0) {
|
|
70
|
+
tickets = await repairModule.listRepairTickets({ id: cleanId }).catch(() => []);
|
|
71
|
+
}
|
|
72
|
+
if (tickets && tickets.length > 0) {
|
|
73
|
+
const ticket = tickets[0];
|
|
74
|
+
const metaDocId = ticket.metadata?.document_id;
|
|
75
|
+
if (metaDocId) {
|
|
76
|
+
record = await documentService.retrieveDocumentRecord(metaDocId, {}, sharedContext).catch(() => null);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (e) { }
|
|
82
|
+
}
|
|
51
83
|
if (!record) {
|
|
52
84
|
return res.status(404).send("Document not found");
|
|
53
85
|
}
|
|
54
86
|
const pdfBuffer = await documentService.getPdfForRecord(record.id, req.scope, sharedContext);
|
|
87
|
+
const safeFilename = (record.display_id || record.id || "document").replace(/[^a-zA-Z0-9_\-\.]/g, "_");
|
|
88
|
+
const totalLength = pdfBuffer.length;
|
|
55
89
|
res.setHeader("Content-Type", "application/pdf");
|
|
56
|
-
res.setHeader("Content-Disposition", `inline; filename="${
|
|
57
|
-
res.setHeader("
|
|
90
|
+
res.setHeader("Content-Disposition", `inline; filename="${safeFilename}.pdf"`);
|
|
91
|
+
res.setHeader("Accept-Ranges", "bytes");
|
|
58
92
|
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
|
|
93
|
+
const range = req.headers?.range;
|
|
94
|
+
if (range && req.method !== "HEAD") {
|
|
95
|
+
const parts = range.replace(/bytes=/, "").split("-");
|
|
96
|
+
const start = parseInt(parts[0], 10);
|
|
97
|
+
const end = parts[1] ? parseInt(parts[1], 10) : totalLength - 1;
|
|
98
|
+
if (!isNaN(start) && start < totalLength) {
|
|
99
|
+
const chunkEnd = Math.min(end, totalLength - 1);
|
|
100
|
+
const chunk = pdfBuffer.subarray(start, chunkEnd + 1);
|
|
101
|
+
res.status(206);
|
|
102
|
+
res.setHeader("Content-Range", `bytes ${start}-${chunkEnd}/${totalLength}`);
|
|
103
|
+
res.setHeader("Content-Length", String(chunk.length));
|
|
104
|
+
return res.send(chunk);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
res.setHeader("Content-Length", String(totalLength));
|
|
59
108
|
return res.send(pdfBuffer);
|
|
60
109
|
}
|
|
61
110
|
catch (err) {
|
|
@@ -66,4 +115,6 @@ async function GET(req, res) {
|
|
|
66
115
|
return res.status(500).send(`Failed to generate document: ${err.message}`);
|
|
67
116
|
}
|
|
68
117
|
}
|
|
69
|
-
|
|
118
|
+
// HEAD /admin/documents/:id/document
|
|
119
|
+
exports.HEAD = GET;
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy9baWRdL2RvY3VtZW50L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLGtCQWlIQztBQXZIRCxnRUFBb0U7QUFDcEUsc0VBQXdHO0FBRTNGLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQztBQUVsQyxvQ0FBb0M7QUFDN0IsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQyxFQUFFLEdBQW1CO0lBQy9FLE1BQU0sZUFBZSxHQUEwQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxDQUFDO0lBQ25GLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTdELElBQUksQ0FBQztRQUNILElBQUksTUFBTSxHQUFRLElBQUksQ0FBQztRQUN2Qiw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDcEYsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDO1FBRWQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDO2dCQUNILE1BQU0sT0FBTyxHQUFH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
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HEAD = exports.AUTHENTICATE = void 0;
|
|
3
4
|
exports.GET = GET;
|
|
4
5
|
const documents_1 = require("../../../../../modules/documents");
|
|
5
6
|
const pdfkit_generator_1 = require("../../../../../services/pdfkit-generator");
|
|
7
|
+
exports.AUTHENTICATE = false;
|
|
6
8
|
// GET /admin/documents/templates/preview?style=modern | classic | minimal&type=invoice | receipt | packing_slip | estimate | custom | job_card
|
|
7
9
|
async function GET(req, res) {
|
|
8
10
|
try {
|
|
@@ -193,10 +195,26 @@ async function GET(req, res) {
|
|
|
193
195
|
: undefined,
|
|
194
196
|
};
|
|
195
197
|
const pdfBuffer = await pdfkit_generator_1.PDFKitGenerator.generate(sampleData, style);
|
|
198
|
+
const totalLength = pdfBuffer.length;
|
|
196
199
|
res.setHeader("Content-Type", "application/pdf");
|
|
197
200
|
res.setHeader("Content-Disposition", `inline; filename="preview-${style}-${type}.pdf"`);
|
|
198
|
-
res.setHeader("
|
|
201
|
+
res.setHeader("Accept-Ranges", "bytes");
|
|
199
202
|
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
|
|
203
|
+
const range = req.headers?.range;
|
|
204
|
+
if (range && req.method !== "HEAD") {
|
|
205
|
+
const parts = range.replace(/bytes=/, "").split("-");
|
|
206
|
+
const start = parseInt(parts[0], 10);
|
|
207
|
+
const end = parts[1] ? parseInt(parts[1], 10) : totalLength - 1;
|
|
208
|
+
if (!isNaN(start) && start < totalLength) {
|
|
209
|
+
const chunkEnd = Math.min(end, totalLength - 1);
|
|
210
|
+
const chunk = pdfBuffer.subarray(start, chunkEnd + 1);
|
|
211
|
+
res.status(206);
|
|
212
|
+
res.setHeader("Content-Range", `bytes ${start}-${chunkEnd}/${totalLength}`);
|
|
213
|
+
res.setHeader("Content-Length", String(chunk.length));
|
|
214
|
+
return res.send(chunk);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
res.setHeader("Content-Length", String(totalLength));
|
|
200
218
|
return res.send(pdfBuffer);
|
|
201
219
|
}
|
|
202
220
|
catch (err) {
|
|
@@ -204,4 +222,6 @@ async function GET(req, res) {
|
|
|
204
222
|
return res.status(500).send(`Failed to generate preview: ${err.message}`);
|
|
205
223
|
}
|
|
206
224
|
}
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLGtCQStNQztBQXBORCxnRUFBb0U7QUFFcEUsK0VBQXlGO0FBRXpGLCtJQUErSTtBQUN4SSxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxlQUFlLEdBQTBCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLDRCQUFnQixDQUFDLENBQUM7UUFDbkYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTVGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwRSxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRSxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUVuRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEUsTUFBTSxVQUFVLEdBQUcs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
|
|
225
|
+
// HEAD /admin/documents/templates/preview
|
|
226
|
+
exports.HEAD = GET;
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkFrT0M7QUF6T0QsZ0VBQW9FO0FBRXBFLCtFQUF5RjtBQUU1RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsK0lBQStJO0FBQ3hJLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBeUIsQ0FBQztRQUUxRixNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssVUFBVSxDQUFDO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxRQUFRLENBQUM7UUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQztRQUNyQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssY0FBYyxDQUFDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLElBQUksS0FBSyxVQUFVLENBQUM7UUFFdkMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksSUFBSSx1QkFBdUIsQ0FBQztRQUNyRSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdEUseUNBQXlDO1FBQ3pDLE1BQU0sT0FBTyxHQUF1RTtZQUNsRixRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLHNCQUFzQjtnQkFDN0IsU0FBUyxFQUFFLDZaQUE2WjtnQkFDeGEsS0FBSyxFQUFFO29CQUNMLEVBQUUsS0FBSyxFQUFFLG1DQUFtQyxFQUFFLFdBQVcsRUFBRSwwQ0FBMEMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDN0ksRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUUsV0FBVyxFQUFFLDBDQUEwQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO2lCQUN2STthQUNGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLEtBQUssRUFBRSx5Q0FBeUM7Z0JBQ2hELFNBQVMsRUFBRSx5T0FBeU87Z0JBQ3BQLEtBQUssRUFBRTtvQkFDTCxFQUFFLEtBQUssRUFBRSxxQ0FBcUMsRUFBRSxXQUFXLEVBQUUsNENBQTRDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7b0JBQ2pKLEVBQUUsS0FBSyxFQUFFLHNDQUFzQyxFQUFFLFdBQVcsRUFBRSx5REFBeUQsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDL0osRUFBRSxLQUFLLEVBQUUsb0NBQW9DLEVBQUUsV0FBVyxFQUFFLHFEQUFxRCxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO2lCQUMxSjthQUNGO1lBQ0Qsa0JBQWtCLEVBQUU7Z0JBQ2xCLEtBQUssRUFBRSxtQ0FBbUM7Z0JBQzFDLFNBQVMsRUFBRSx5T0FBeU87Z0JBQ3BQLEtBQUssRUFBRTtvQkFDTCxFQUFFLEtBQUssRUFBRSw0Q0FBNEMsRUFBRSxXQUFXLEVBQUUsd0NBQXdDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7b0JBQ3BKLEVBQUUsS0FBSyxFQUFFLHVDQUF1QyxFQUFFLFdBQVcsRUFBRSxzQ0FBc0MsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtpQkFDOUk7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixLQUFLLEVBQUUsZ0RBQWdEO2dCQUN2RCxTQUFTLEVBQUUsNk5BQTZOO2dCQUN4TyxLQUFLLEVBQUU7b0JBQ0wsRUFBRSxLQUFLLEVBQUUsb0NBQW9DLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO29CQUNoSSxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsNERBQTRELEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7aUJBQ25KO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLGlDQUFpQztnQkFDeEMsU0FBUyxFQUFFLDJNQUEyTTtnQkFDdE4sS0FBSyxFQUFFO29CQUNMLEVBQUUsS0FBSyxFQUFFLG1DQUFtQyxFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtvQkFDekksRUFBRSxLQUFLLEVBQUUsMENBQTBDLEVBQUUsV0FBVyxFQUFFLGlEQUFpRCxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2lCQUNsSzthQUNGO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxxQ0FBcUM7Z0JBQzVDLFNBQVMsRUFBRSxvTkFBb047Z0JBQy9OLEtBQUssRUFBRTtvQkFDTCxFQUFFLEtBQUssRUFBRSxvQ0FBb0MsRUFBRSxXQUFXLEVBQUUsc0NBQXNDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7b0JBQ2xKLEVBQUUsS0FBSyxFQUFFLHdDQUF3QyxFQUFFLFdBQVcsRUFBRSwwQ0FBMEMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtpQkFDbko7YUFDRjtZQUNELFdBQVcsRUFBRTtnQkFDWCxLQUFLLEVBQUUsMkNBQTJDO2dCQUNsRCxTQUFTLEVBQUUsNExBQTRMO2dCQUN2TSxLQUFLLEVBQUU7b0JBQ0wsRUFBRSxLQUFLLEVBQUUsc0NBQXNDLEVBQUUsV0FBVyxFQUFFLHFDQUFxQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO29CQUMzSSxFQUFFLEtBQUssRUFBRSwrQkFBK0IsRUFBRSxXQUFXLEVBQUUsMkNBQTJDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7aUJBQzNJO2FBQ0Y7U0FDRixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVoRixNQUFNLFVBQVUsR0FBaUI7WUFDL0IsVUFBVSxFQUFFLFNBQVM7Z0JBQ25CLENBQUMsQ0FBQyxVQUFVO2dCQUNaLENBQUMsQ0FBQyxTQUFTO29CQUNYLENBQUMsQ0FBQyxVQUFVO29CQUNaLENBQUMsQ0FBQyxhQUFhO3dCQUNmLENBQUMsQ0FBQyxVQUFVO3dCQUNaLENBQUMsQ0FBQyxVQUFVOzRCQUNaLENBQUMsQ0FBQyxVQUFVOzRCQUNaLENBQUMsQ0FBQyxRQUFRO2dDQUNWLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU87Z0NBQy9ELENBQUMsQ0FBQyxVQUFVO1lBQ2QsS0FBSyxFQUFFLFNBQVM7Z0JBQ2QsQ0FBQyxDQUFDLGlCQUFpQjtnQkFDbkIsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTO29CQUNwQixDQUFDLENBQUMsYUFBYTtvQkFDZixDQUFDLENBQUMsU0FBUzt3QkFDWCxDQUFDLENBQUMsaUJBQWlCO3dCQUNuQixDQUFDLENBQUMsYUFBYTs0QkFDZixDQUFDLENBQUMsY0FBYzs0QkFDaEIsQ0FBQyxDQUFDLFVBQVU7Z0NBQ1osQ0FBQyxDQUFDLHNCQUFzQjtnQ0FDeEIsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssSUFBSSxzQkFBc0IsQ0FBQztZQUNuRCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsUUFBUSxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxVQUFVLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLENBQUMsQ0FBQyxTQUFTO1lBQ2IsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxVQUFVO2dCQUNoQixLQUFLLEVBQUUsc0JBQXNCO2dCQUM3QixLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixPQUFPLEVBQUUsNkNBQTZDO2FBQ3ZEO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxXQUFXO2dCQUNqQixRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVk7Z0JBQy9CLE9BQU8sRUFBRSxRQUFRLENBQUMsV0FBVyxJQUFJLGtFQUFrRTtnQkFDbkcsS0FBSyxFQUFFLFFBQVEsQ0FBQyxTQUFTLElBQUksNkJBQTZCO2dCQUMxRCxLQUFLLEVBQUUsUUFBUSxDQUFDLFNBQVMsSUFBSSw0QkFBNEI7Z0JBQ3pELE9BQU8sRUFBRSxRQUFRLENBQUMsV0FBVyxJQUFJLDJCQUEyQjtnQkFDNUQsZUFBZSxFQUFFLFFBQVEsQ0FBQyxtQkFBbUIsSUFBSSxnQ0FBZ0M7Z0JBQ2pGLEtBQUssRUFBRSxRQUFRLENBQUMsU0FBUyxJQUFJLDZFQUE2RTthQUMzRztZQUNELEtBQUssRUFBRSxTQUFTO2dCQUNkLENBQUMsQ0FBQztvQkFDRSxFQUFFLEtBQUssRUFBRSxnREFBZ0QsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDakcsRUFBRSxLQUFLLEVBQUUsc0RBQXNELEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7b0JBQ3ZHLEVBQUUsS0FBSyxFQUFFLDBDQUEwQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO29CQUMzRixFQUFFLEtBQUssRUFBRSwwQ0FBMEMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDM0YsRUFBRSxLQUFLLEVBQUUsa0RBQWtELEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7aUJBQ3BHO2dCQUNILENBQUMsQ0FBQyxRQUFRO29CQUNWLENBQUMsQ0FBQyxZQUFhLENBQUMsS0FBSztvQkFDckIsQ0FBQyxDQUFDO3dCQUNFOzRCQUNFLEtBQUssRUFBRSxvQ0FBb0M7NEJBQzNDLFdBQVcsRUFBRSxtREFBbUQ7NEJBQ2hFLFFBQVEsRUFBRSxDQUFDOzRCQUNYLFVBQVUsRUFBRSxPQUFPOzRCQUNuQixLQUFLLEVBQUUsT0FBTzt5QkFDZjt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsaUNBQWlDOzRCQUN4QyxXQUFXLEVBQUUsNERBQTREOzRCQUN6RSxRQUFRLEVBQUUsQ0FBQzs0QkFDWCxVQUFVLEVBQUUsTUFBTTs0QkFDbEIsS0FBSyxFQUFFLE1BQU07eUJBQ2Q7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLGlDQUFpQzs0QkFDeEMsV0FBVyxFQUFFLHFDQUFxQzs0QkFDbEQsUUFBUSxFQUFFLENBQUM7NEJBQ1gsVUFBVSxFQUFFLE1BQU07NEJBQ2xCLEtBQUssRUFBRSxNQUFNO3lCQUNkO3FCQUNGO1lBQ0wsUUFBUSxFQUFFLENBQUMsU0FBUyxJQUFJLGFBQWEsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQ3JJLFNBQVMsRUFBRSxDQUFDLFNBQVMsSUFBSSxhQUFhLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRSxjQUFjLEVBQUUsQ0FBQyxTQUFTLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEUsS0FBSyxFQUFFLENBQUMsU0FBUyxJQUFJLGFBQWEsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQzFILGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUM3QyxZQUFZLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMvRyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLFVBQVUsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDdEgsS0FBSyxFQUFFLFNBQVM7Z0JBQ2QsQ0FBQyxDQUFDLG1GQUFtRjtnQkFDckYsQ0FBQyxDQUFDLFNBQVM7b0JBQ1gsQ0FBQyxDQUFDLHdEQUF3RDtvQkFDMUQsQ0FBQyxDQUFDLGFBQWE7d0JBQ2YsQ0FBQyxDQUFDLDZGQUE2Rjt3QkFDL0YsQ0FBQyxDQUFDLFVBQVU7NEJBQ1osQ0FBQyxDQUFDLHNFQUFzRTs0QkFDeEUsQ0FBQyxDQUFDLFFBQVE7Z0NBQ1YsQ0FBQyxDQUFDLHVFQUF1RTtnQ0FDekUsQ0FBQyxDQUFDLGtFQUFrRTtZQUN0RSxTQUFTLEVBQUUsUUFBUTtnQkFDakIsQ0FBQyxDQUFDLFlBQWEsQ0FBQyxTQUFTO2dCQUN6QixDQUFDLENBQUMsU0FBUztZQUNiLGFBQWEsRUFBRSxTQUFTO2dCQUN0QixDQUFDLENBQUM7b0JBQ0UsY0FBYyxFQUFFLHlCQUF5QjtvQkFDekMsZUFBZSxFQUFFLGNBQWM7b0JBQy9CLFlBQVksRUFBRSxhQUFhO29CQUMzQixnQkFBZ0IsRUFBRSwyREFBMkQ7b0JBQzdFLG9CQUFvQixFQUFFLHVDQUF1QztvQkFDN0Qsa0JBQWtCLEVBQUUsa0JBQWtCO2lCQUN2QztnQkFDSCxDQUFDLENBQUMsU0FBUztTQUNkLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxNQUFNLGtDQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVwRSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDakQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSw2QkFBNkIsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUM7UUFDeEYsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUscUNBQXFDLENBQUMsQ0FBQztRQUV0RSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUNqQyxJQUFJLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUVoRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztnQkFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLFNBQVMsS0FBSyxJQUFJLFFBQVEsSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RSxHQUFHLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDO1FBRUQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNyRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUFDLE9BQU8sR0FBUSxFQUFFLENBQUM7UUFDbEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLDZDQUE2QyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMvRixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0FBQ0gsQ0FBQztBQUVELDBDQUEwQztBQUM3QixRQUFBLElBQUksR0FBRyxHQUFHLENBQUMifQ==
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HEAD = exports.AUTHENTICATE = void 0;
|
|
3
4
|
exports.GET = GET;
|
|
4
5
|
const documents_1 = require("../../../../../../modules/documents");
|
|
5
6
|
const service_1 = require("../../../../../../modules/documents/service");
|
|
7
|
+
exports.AUTHENTICATE = false;
|
|
6
8
|
// GET /api/admin/documents/:id/document (Compatibility endpoint for handed-over URLs)
|
|
7
9
|
async function GET(req, res) {
|
|
8
10
|
const documentService = req.scope.resolve(documents_1.DOCUMENTS_MODULE);
|
|
@@ -62,10 +64,27 @@ async function GET(req, res) {
|
|
|
62
64
|
return res.status(404).send("Document not found");
|
|
63
65
|
}
|
|
64
66
|
const pdfBuffer = await documentService.getPdfForRecord(record.id, req.scope);
|
|
67
|
+
const safeFilename = (record.display_id || record.id || "document").replace(/[^a-zA-Z0-9_\-\.]/g, "_");
|
|
68
|
+
const totalLength = pdfBuffer.length;
|
|
65
69
|
res.setHeader("Content-Type", "application/pdf");
|
|
66
|
-
res.setHeader("Content-Disposition", `inline; filename="${
|
|
67
|
-
res.setHeader("
|
|
68
|
-
res.setHeader("Cache-Control", "
|
|
70
|
+
res.setHeader("Content-Disposition", `inline; filename="${safeFilename}.pdf"`);
|
|
71
|
+
res.setHeader("Accept-Ranges", "bytes");
|
|
72
|
+
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
|
|
73
|
+
const range = req.headers?.range;
|
|
74
|
+
if (range && req.method !== "HEAD") {
|
|
75
|
+
const parts = range.replace(/bytes=/, "").split("-");
|
|
76
|
+
const start = parseInt(parts[0], 10);
|
|
77
|
+
const end = parts[1] ? parseInt(parts[1], 10) : totalLength - 1;
|
|
78
|
+
if (!isNaN(start) && start < totalLength) {
|
|
79
|
+
const chunkEnd = Math.min(end, totalLength - 1);
|
|
80
|
+
const chunk = pdfBuffer.subarray(start, chunkEnd + 1);
|
|
81
|
+
res.status(206);
|
|
82
|
+
res.setHeader("Content-Range", `bytes ${start}-${chunkEnd}/${totalLength}`);
|
|
83
|
+
res.setHeader("Content-Length", String(chunk.length));
|
|
84
|
+
return res.send(chunk);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
res.setHeader("Content-Length", String(totalLength));
|
|
69
88
|
return res.send(pdfBuffer);
|
|
70
89
|
}
|
|
71
90
|
catch (err) {
|
|
@@ -76,4 +95,6 @@ async function GET(req, res) {
|
|
|
76
95
|
return res.status(500).send(`Failed to generate document: ${err.message}`);
|
|
77
96
|
}
|
|
78
97
|
}
|
|
79
|
-
|
|
98
|
+
// HEAD /api/admin/documents/:id/document
|
|
99
|
+
exports.HEAD = GET;
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FwaS9hZG1pbi9kb2N1bWVudHMvW2lkXS9kb2N1bWVudC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxrQkErRkM7QUFyR0QsbUVBQXVFO0FBQ3ZFLHlFQUEyRztBQUU5RixRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsc0ZBQXNGO0FBQy9FLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0MsRUFBRSxHQUFtQjtJQUMvRSxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztJQUNuRixNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFN0QsSUFBSSxDQUFDO1FBQ0gsSUFBSSxNQUFNLEdBQVEsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUM7UUFFZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLE9BQU8sR0FBRyxNQUFNLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLENBQUM7UUFDSCxDQUFD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
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HEAD = exports.AUTHENTICATE = void 0;
|
|
3
4
|
exports.GET = GET;
|
|
4
5
|
const documents_1 = require("../../../../modules/documents");
|
|
5
6
|
const service_1 = require("../../../../modules/documents/service");
|
|
7
|
+
exports.AUTHENTICATE = false;
|
|
6
8
|
// GET /documents/:id/document (Public PDF download & view for recipients)
|
|
7
9
|
async function GET(req, res) {
|
|
8
10
|
const documentService = req.scope.resolve(documents_1.DOCUMENTS_MODULE);
|
|
@@ -66,10 +68,27 @@ async function GET(req, res) {
|
|
|
66
68
|
return res.status(404).send("Document not found");
|
|
67
69
|
}
|
|
68
70
|
const pdfBuffer = await documentService.getPdfForRecord(record.id, req.scope, sharedContext);
|
|
71
|
+
const safeFilename = (record.display_id || record.id || "document").replace(/[^a-zA-Z0-9_\-\.]/g, "_");
|
|
72
|
+
const totalLength = pdfBuffer.length;
|
|
69
73
|
res.setHeader("Content-Type", "application/pdf");
|
|
70
|
-
res.setHeader("Content-Disposition", `inline; filename="${
|
|
71
|
-
res.setHeader("
|
|
74
|
+
res.setHeader("Content-Disposition", `inline; filename="${safeFilename}.pdf"`);
|
|
75
|
+
res.setHeader("Accept-Ranges", "bytes");
|
|
72
76
|
res.setHeader("Cache-Control", "public, max-age=3600");
|
|
77
|
+
const range = req.headers?.range;
|
|
78
|
+
if (range && req.method !== "HEAD") {
|
|
79
|
+
const parts = range.replace(/bytes=/, "").split("-");
|
|
80
|
+
const start = parseInt(parts[0], 10);
|
|
81
|
+
const end = parts[1] ? parseInt(parts[1], 10) : totalLength - 1;
|
|
82
|
+
if (!isNaN(start) && start < totalLength) {
|
|
83
|
+
const chunkEnd = Math.min(end, totalLength - 1);
|
|
84
|
+
const chunk = pdfBuffer.subarray(start, chunkEnd + 1);
|
|
85
|
+
res.status(206);
|
|
86
|
+
res.setHeader("Content-Range", `bytes ${start}-${chunkEnd}/${totalLength}`);
|
|
87
|
+
res.setHeader("Content-Length", String(chunk.length));
|
|
88
|
+
return res.send(chunk);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
res.setHeader("Content-Length", String(totalLength));
|
|
73
92
|
return res.send(pdfBuffer);
|
|
74
93
|
}
|
|
75
94
|
catch (err) {
|
|
@@ -80,4 +99,6 @@ async function GET(req, res) {
|
|
|
80
99
|
return res.status(500).send(`Failed to generate document: ${err.message}`);
|
|
81
100
|
}
|
|
82
101
|
}
|
|
83
|
-
|
|
102
|
+
// HEAD /documents/:id/document
|
|
103
|
+
exports.HEAD = GET;
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2RvY3VtZW50cy9baWRdL2RvY3VtZW50L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLGtCQW9HQztBQTFHRCw2REFBaUU7QUFDakUsbUVBQXFHO0FBRXhGLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQztBQUVsQywwRUFBMEU7QUFDbkUsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQyxFQUFFLEdBQW1CO0lBQy9FLE1BQU0sZUFBZSxHQUEwQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxDQUFDO0lBQ25GLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU3RCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRWpELElBQUksQ0FBQztRQUNILElBQUksTUFBTSxHQUFRLElBQUksQ0FBQztRQUN2Qiw2RUFBNkU7UUFDN0UsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDcEYsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDO1FBRWQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxPQUFPLEdBQUcsTUFBTSxlQUFlLENBQUMsbUJBQW1CLENB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
|