@webbers/invoices-medusa 1.0.0 → 1.0.2
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.
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GET = void 0;
|
|
4
|
+
const promises_1 = require("stream/promises");
|
|
4
5
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
6
|
const generate_invoice_pdf_1 = require("../../../../../../workflows/generate-invoice-pdf");
|
|
6
7
|
const invoice_1 = require("../../../../../../modules/invoice");
|
|
@@ -10,8 +11,18 @@ const GET = async (req, res) => {
|
|
|
10
11
|
const invoice = await invoiceModule.retrieveInvoice(invoiceId);
|
|
11
12
|
if (invoice.pdf_url) {
|
|
12
13
|
const fileModuleService = req.scope.resolve(utils_1.Modules.FILE);
|
|
13
|
-
const
|
|
14
|
-
|
|
14
|
+
const stream = await fileModuleService.getDownloadStream(invoice.pdf_url);
|
|
15
|
+
res.contentType("application/pdf");
|
|
16
|
+
res.attachment(`invoice-${invoice.display_id}.pdf`);
|
|
17
|
+
try {
|
|
18
|
+
await (0, promises_1.pipeline)(stream, res);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
if (!res.headersSent) {
|
|
22
|
+
res.status(500).json({ message: "Failed to stream invoice" });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return;
|
|
15
26
|
}
|
|
16
27
|
// Fallback: generate on-demand for invoices created before storage upload was introduced
|
|
17
28
|
const { result } = await (0, generate_invoice_pdf_1.generateInvoicePdfWorkflow)(req.scope).run({
|
|
@@ -25,4 +36,4 @@ const GET = async (req, res) => {
|
|
|
25
36
|
res.send(Buffer.from(result.data, "base64"));
|
|
26
37
|
};
|
|
27
38
|
exports.GET = GET;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL29yZGVycy9baWRdL2ludm9pY2UvW2ludm9pY2VfaWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUF3QztBQUt4QyxxREFBaUQ7QUFDakQsMkZBQTJGO0FBQzNGLCtEQUFnRTtBQUd6RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEVBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV2RCxNQUFNLGFBQWEsR0FBeUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFBO0lBQzdFLE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUU5RCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN6RCxNQUFNLE1BQU0sR0FBRyxNQUFNLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUV6RSxHQUFHLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDbEMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLE9BQU8sQ0FBQyxVQUFVLE1BQU0sQ0FBQyxDQUFBO1FBRW5ELElBQUksQ0FBQztZQUNILE1BQU0sSUFBQSxtQkFBUSxFQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUMsQ0FBQyxDQUFBO1lBQzdELENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTTtJQUNSLENBQUM7SUFFRCx5RkFBeUY7SUFDekYsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLE1BQU0sSUFBQSxpREFBMEIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQy9ELEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFVBQVUsRUFBRSxTQUFTO1NBQ3RCO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2xDLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQy9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7QUFDOUMsQ0FBQyxDQUFBO0FBdENZLFFBQUEsR0FBRyxPQXNDZiJ9
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GET = void 0;
|
|
4
|
+
const promises_1 = require("stream/promises");
|
|
4
5
|
const generate_invoice_pdf_1 = require("../../../../../workflows/generate-invoice-pdf");
|
|
5
6
|
const utils_1 = require("@medusajs/framework/utils");
|
|
6
7
|
const GET = async (req, res) => {
|
|
@@ -20,8 +21,18 @@ const GET = async (req, res) => {
|
|
|
20
21
|
const debitInvoice = orderData?.invoices?.find((inv) => inv.type === "debit");
|
|
21
22
|
if (debitInvoice?.pdf_url) {
|
|
22
23
|
const fileModuleService = req.scope.resolve(utils_1.Modules.FILE);
|
|
23
|
-
const
|
|
24
|
-
|
|
24
|
+
const stream = await fileModuleService.getDownloadStream(debitInvoice.pdf_url);
|
|
25
|
+
res.contentType("application/pdf");
|
|
26
|
+
res.attachment(`invoice-${debitInvoice.display_id}.pdf`);
|
|
27
|
+
try {
|
|
28
|
+
await (0, promises_1.pipeline)(stream, res);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
if (!res.headersSent) {
|
|
32
|
+
res.status(500).json({ message: "Failed to stream invoice" });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
25
36
|
}
|
|
26
37
|
// Fallback: generate on-demand for invoices created before storage upload was introduced
|
|
27
38
|
const { result } = await (0, generate_invoice_pdf_1.generateInvoicePdfWorkflow)(req.scope).run({
|
|
@@ -34,4 +45,4 @@ const GET = async (req, res) => {
|
|
|
34
45
|
res.send(Buffer.from(result.data, "base64"));
|
|
35
46
|
};
|
|
36
47
|
exports.GET = GET;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL29yZGVycy9baWRdL2ludm9pY2Uvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQXdDO0FBRXhDLHdGQUF3RjtBQUN4RixxREFBeUY7QUFHbEYsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQStCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ2hGLE1BQU0sRUFBQyxFQUFFLEVBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3ZCLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFBO0lBRTVDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNELE1BQU0sS0FBSyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsRUFBQyxDQUFDLENBQUE7SUFFekYsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMzRCxNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sRUFBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBQyxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN0QixPQUFPLEVBQUUsRUFBQyxFQUFFLEVBQUM7S0FDZCxDQUFDLENBQUE7SUFFRixNQUFNLFlBQVksR0FBRyxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQW1CLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUEyQixDQUFBO0lBRXZILElBQUksWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzFCLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXpELE1BQU0sTUFBTSxHQUFHLE1BQU0saUJBQWlCLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlFLEdBQUcsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUNsQyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsWUFBWSxDQUFDLFVBQVUsTUFBTSxDQUFDLENBQUE7UUFFeEQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFBLG1CQUFRLEVBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzdCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLE9BQU8sRUFBRSwwQkFBMEIsRUFBQyxDQUFDLENBQUE7WUFDN0QsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFNO0lBQ1IsQ0FBQztJQUVELHlGQUF5RjtJQUN6RixNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxJQUFBLGlEQUEwQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDL0QsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLEVBQUU7U0FDYjtLQUNGLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNsQyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMvQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO0FBQzlDLENBQUMsQ0FBQTtBQWhEWSxRQUFBLEdBQUcsT0FnRGYifQ==
|
|
@@ -9,7 +9,7 @@ exports.uploadInvoicePdfStep = (0, workflows_sdk_1.createStep)("upload-invoice-p
|
|
|
9
9
|
const invoiceModule = container.resolve(invoice_1.INVOICE_MODULE);
|
|
10
10
|
const [file] = await fileModuleService.createFiles([
|
|
11
11
|
{
|
|
12
|
-
filename: `invoices/${
|
|
12
|
+
filename: `invoices/${file_name}`,
|
|
13
13
|
mimeType: "application/pdf",
|
|
14
14
|
content: data,
|
|
15
15
|
access: "private",
|
|
@@ -26,4 +26,4 @@ exports.uploadInvoicePdfStep = (0, workflows_sdk_1.createStep)("upload-invoice-p
|
|
|
26
26
|
await fileModuleService.deleteFiles([file_id]);
|
|
27
27
|
await invoiceModule.updateInvoices({ id: invoice_id, pdf_url: null });
|
|
28
28
|
});
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWludm9pY2UtcGRmLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL3VwbG9hZC1pbnZvaWNlLXBkZi1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUEwRTtBQUMxRSxtREFBb0Q7QUFFcEQscURBQWlEO0FBUXBDLFFBQUEsb0JBQW9CLEdBQUcsSUFBQSwwQkFBVSxFQUM1Qyx5QkFBeUIsRUFDekIsS0FBSyxFQUFFLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQTRCLEVBQUUsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFFO0lBQzlFLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekQsTUFBTSxhQUFhLEdBQXlCLFNBQVMsQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFBO0lBRTdFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztRQUNqRDtZQUNFLFFBQVEsRUFBRSxZQUFZLFNBQVMsRUFBRTtZQUNqQyxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLFNBQVM7U0FDbEI7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQTtJQUV0RSxPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQTtBQUNsRSxDQUFDLEVBQ0QsS0FBSyxFQUNILFlBQStELEVBQy9ELEVBQUMsU0FBUyxFQUFDLEVBQ1gsRUFBRTtJQUNGLElBQUksQ0FBQyxZQUFZO1FBQUUsT0FBTTtJQUN6QixNQUFNLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBQyxHQUFHLFlBQVksQ0FBQTtJQUUxQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3pELE1BQU0sYUFBYSxHQUF5QixTQUFTLENBQUMsT0FBTyxDQUFDLHdCQUFjLENBQUMsQ0FBQTtJQUU3RSxNQUFNLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDOUMsTUFBTSxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtBQUNyRSxDQUFDLENBQ0YsQ0FBQSJ9
|