@webbers/invoices-medusa 1.0.6 → 1.0.7
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.
|
@@ -11,6 +11,9 @@ const i18n_1 = require("../../i18n");
|
|
|
11
11
|
const addressFormatterSchema = zod_1.z.custom((value) => typeof value === "function", {
|
|
12
12
|
message: "address must be a function",
|
|
13
13
|
});
|
|
14
|
+
const shouldInvoiceOrderSchema = zod_1.z.custom((value) => typeof value === "function", {
|
|
15
|
+
message: "shouldInvoiceOrder must be a function",
|
|
16
|
+
});
|
|
14
17
|
exports.moduleOptionsSchema = zod_1.z.object({
|
|
15
18
|
defaultLocale: zod_1.z.enum(i18n_1.SUPPORTED_LOCALES).optional(),
|
|
16
19
|
addressInfo: zod_1.z.object({
|
|
@@ -31,6 +34,7 @@ exports.moduleOptionsSchema = zod_1.z.object({
|
|
|
31
34
|
.optional(),
|
|
32
35
|
header: zod_1.z.custom().optional(),
|
|
33
36
|
footer: zod_1.z.custom().optional(),
|
|
37
|
+
shouldInvoiceOrder: shouldInvoiceOrderSchema.optional(),
|
|
34
38
|
});
|
|
35
39
|
class Service extends (0, utils_1.MedusaService)({ Invoice: invoice_1.default }) {
|
|
36
40
|
constructor(container, options) {
|
|
@@ -42,4 +46,4 @@ class Service extends (0, utils_1.MedusaService)({ Invoice: invoice_1.default })
|
|
|
42
46
|
}
|
|
43
47
|
}
|
|
44
48
|
exports.default = Service;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2ludm9pY2Uvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxREFBdUQ7QUFFdkQsK0RBQXNDO0FBQ3RDLGlEQUF5QztBQUV6QyxxQ0FBNEM7QUFJNUMsTUFBTSxzQkFBc0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUNyQyxDQUFDLEtBQUssRUFBNkIsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFDakU7SUFDRSxPQUFPLEVBQUUsNEJBQTRCO0NBQ3RDLENBQ0YsQ0FBQTtBQVdELE1BQU0sd0JBQXdCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FDdkMsQ0FBQyxLQUFLLEVBQStCLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQ25FO0lBQ0UsT0FBTyxFQUFFLHVDQUF1QztDQUNqRCxDQUNGLENBQUE7QUFFWSxRQUFBLG1CQUFtQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDMUMsYUFBYSxFQUFFLE9BQUMsQ0FBQyxJQUFJLENBQUMsd0JBQWlCLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbkQsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDcEIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDbEMsZ0JBQWdCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUN2QyxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtRQUN2QixPQUFPLEVBQUUsc0JBQXNCO1FBQy9CLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1FBQ3JCLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1FBQ3JCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1FBQ2hCLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0tBQ2xCLENBQUM7SUFDRixNQUFNLEVBQUUsT0FBQztTQUNOLE1BQU0sQ0FBQztRQUNOLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ2pDLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQzVCLENBQUM7U0FDRCxRQUFRLEVBQUU7SUFDYixNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBVyxDQUFDLFFBQVEsRUFBRTtJQUN0QyxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBVyxDQUFDLFFBQVEsRUFBRTtJQUN0QyxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQyxRQUFRLEVBQUU7Q0FDeEQsQ0FBQyxDQUFBO0FBSUYsTUFBTSxPQUFRLFNBQVEsSUFBQSxxQkFBYSxFQUFDLEVBQUMsT0FBTyxFQUFQLGlCQUFPLEVBQUMsQ0FBQztJQUc1QyxZQUFZLFNBQVMsRUFBRSxPQUFzQjtRQUMzQyxLQUFLLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7Q0FDRjtBQUVELGtCQUFlLE9BQU8sQ0FBQSJ9
|
|
@@ -7,6 +7,7 @@ exports.config = void 0;
|
|
|
7
7
|
exports.default = fulfillmentCreatedInvoiceHandler;
|
|
8
8
|
const utils_1 = require("@medusajs/framework/utils");
|
|
9
9
|
const invoice_order_1 = __importDefault(require("../links/invoice-order"));
|
|
10
|
+
const invoice_1 = require("../modules/invoice");
|
|
10
11
|
const create_invoice_1 = require("../workflows/create-invoice");
|
|
11
12
|
async function fulfillmentCreatedInvoiceHandler({ event: { data }, container, }) {
|
|
12
13
|
const logger = container.resolve("logger");
|
|
@@ -24,6 +25,12 @@ async function fulfillmentCreatedInvoiceHandler({ event: { data }, container, })
|
|
|
24
25
|
logger.info(`[invoice] Invoice already exists for order ${order_id}, skipping`);
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
28
|
+
const invoiceModuleService = container.resolve(invoice_1.INVOICE_MODULE);
|
|
29
|
+
const { shouldInvoiceOrder } = invoiceModuleService.getOptions();
|
|
30
|
+
if (shouldInvoiceOrder && !(await shouldInvoiceOrder(container, order_id))) {
|
|
31
|
+
logger.info(`[invoice] Order ${order_id} is not invoiced automatically, skipping`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
27
34
|
await (0, create_invoice_1.createInvoiceWorkflow)(container).run({
|
|
28
35
|
input: { order_id },
|
|
29
36
|
});
|
|
@@ -36,4 +43,4 @@ async function fulfillmentCreatedInvoiceHandler({ event: { data }, container, })
|
|
|
36
43
|
exports.config = {
|
|
37
44
|
event: "order.fulfillment_created",
|
|
38
45
|
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtY3JlYXRlZC1pbnZvaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2Z1bGZpbGxtZW50LWNyZWF0ZWQtaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFhQSxtREE4Q0M7QUExREQscURBQW1FO0FBQ25FLDJFQUFxRDtBQUNyRCxnREFBaUQ7QUFFakQsZ0VBQWlFO0FBUWxELEtBQUssVUFBVSxnQ0FBZ0MsQ0FBQyxFQUM3RCxLQUFLLEVBQUUsRUFBQyxJQUFJLEVBQUMsRUFDYixTQUFTLEdBQzhCO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxHQUFHLElBQUksQ0FBQTtJQUV2QixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRWhFLDJFQUEyRTtRQUMzRSxnRUFBZ0U7UUFDaEUsTUFBTSxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDekMsTUFBTSxFQUFFLHVCQUFnQixDQUFDLFVBQVU7WUFDbkMsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxFQUFDLFFBQVEsRUFBQztTQUNwQixDQUFDLENBQUE7UUFFRixJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLElBQUksQ0FDVCw4Q0FBOEMsUUFBUSxZQUFZLENBQ25FLENBQUE7WUFDRCxPQUFNO1FBQ1IsQ0FBQztRQUVELE1BQU0sb0JBQW9CLEdBQ3hCLFNBQVMsQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFBO1FBQ25DLE1BQU0sRUFBQyxrQkFBa0IsRUFBQyxHQUFHLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRTlELElBQUksa0JBQWtCLElBQUksQ0FBQyxDQUFDLE1BQU0sa0JBQWtCLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxNQUFNLENBQUMsSUFBSSxDQUNULG1CQUFtQixRQUFRLDBDQUEwQyxDQUN0RSxDQUFBO1lBQ0QsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLElBQUEsc0NBQXFCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3pDLEtBQUssRUFBRSxFQUFDLFFBQVEsRUFBQztTQUNsQixDQUFDLENBQUE7UUFFRixNQUFNLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FDVixnREFBZ0QsUUFBUSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDN0UsQ0FBQTtJQUNILENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSwyQkFBMkI7Q0FDbkMsQ0FBQSJ9
|
package/README.md
CHANGED
|
@@ -95,6 +95,7 @@ export default defineConfig({
|
|
|
95
95
|
| `colors.text` | `string` | No | Table header text color (CSS hex). |
|
|
96
96
|
| `header` | `Content` | No | pdfmake content block rendered as page header. Replaces the default logo header. |
|
|
97
97
|
| `footer` | `Content` | No | pdfmake content block rendered as page footer. |
|
|
98
|
+
| `shouldInvoiceOrder` | `(container, orderId) => boolean \| Promise<boolean>` | No | Called before an order is invoiced on fulfillment. Return `false` to skip that order. Without it every fulfilled order is invoiced. Invoices created on request are not affected. |
|
|
98
99
|
|
|
99
100
|
## How it works
|
|
100
101
|
|