@codee-sh/medusa-plugin-notification-emails 0.0.2 → 0.1.1
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/emails-previews/contact-form.js +5 -7
- package/.medusa/server/emails-previews/inventory-level.js +23 -0
- package/.medusa/server/emails-previews/order-completed.js +20 -14
- package/.medusa/server/emails-previews/order-placed.js +19 -13
- package/.medusa/server/src/admin/index.js +834 -6778
- package/.medusa/server/src/admin/index.mjs +760 -6704
- package/.medusa/server/src/api/admin/notification-plugin/render-template/route.js +8 -5
- package/.medusa/server/src/hooks/api/orders.js +3 -2
- package/.medusa/server/src/hooks/api/preview.js +5 -4
- package/.medusa/server/src/subscribers/order-completed.js +14 -62
- package/.medusa/server/src/subscribers/order-placed.js +12 -58
- package/.medusa/server/src/templates/emails/base-template/index.js +23 -0
- package/.medusa/server/src/templates/emails/base-template/template.js +25 -0
- package/.medusa/server/src/templates/emails/blocks/components/heading.js +15 -0
- package/.medusa/server/src/templates/emails/blocks/components/product-item.js +14 -0
- package/.medusa/server/src/templates/emails/blocks/components/repeater.js +26 -0
- package/.medusa/server/src/templates/emails/blocks/components/row.js +13 -0
- package/.medusa/server/src/templates/emails/blocks/components/section.js +14 -0
- package/.medusa/server/src/templates/emails/blocks/components/separator.js +13 -0
- package/.medusa/server/src/templates/emails/blocks/components/text.js +15 -0
- package/.medusa/server/src/templates/emails/blocks/index.js +41 -0
- package/.medusa/server/src/templates/{shared/i18n → emails/blocks}/types.js +1 -1
- package/.medusa/server/src/templates/emails/contact-form/config.js +79 -0
- package/.medusa/server/src/templates/emails/contact-form/index.js +6 -17
- package/.medusa/server/src/templates/emails/contact-form/translations/de.json +14 -0
- package/.medusa/server/src/templates/emails/contact-form/translations/en.json +12 -14
- package/.medusa/server/src/templates/emails/contact-form/translations/pl.json +8 -10
- package/.medusa/server/src/templates/emails/index.js +192 -91
- package/.medusa/server/src/templates/emails/inventory-level/config.js +126 -0
- package/.medusa/server/src/templates/emails/inventory-level/index.js +6 -17
- package/.medusa/server/src/templates/emails/order/completed/config.js +221 -0
- package/.medusa/server/src/templates/emails/order/completed/index.js +8 -0
- package/.medusa/server/src/templates/emails/{order-completed → order/completed}/translations/en.json +2 -1
- package/.medusa/server/src/templates/emails/{order-placed → order/completed}/translations/index.js +1 -1
- package/.medusa/server/src/templates/emails/{order-completed → order/completed}/translations/pl.json +2 -1
- package/.medusa/server/src/templates/emails/order/placed/config.js +221 -0
- package/.medusa/server/src/templates/emails/order/placed/index.js +8 -0
- package/.medusa/server/src/templates/emails/{order-placed → order/placed}/translations/en.json +1 -1
- package/.medusa/server/src/templates/emails/{order-completed → order/placed}/translations/index.js +1 -1
- package/.medusa/server/src/templates/emails/{order-placed → order/placed}/translations/pl.json +1 -1
- package/.medusa/server/src/templates/emails/order/updated/config.js +221 -0
- package/.medusa/server/src/templates/emails/order/updated/index.js +7 -0
- package/.medusa/server/src/templates/emails/order/updated/translations/en.json +24 -0
- package/.medusa/server/src/templates/emails/{contact-form → order/updated}/translations/index.js +1 -1
- package/.medusa/server/src/templates/emails/order/updated/translations/pl.json +24 -0
- package/.medusa/server/src/templates/emails/types.js +3 -1
- package/.medusa/server/src/utils/attribute-helpers.js +17 -0
- package/.medusa/server/src/utils/data/modules/index.js +15 -0
- package/.medusa/server/src/utils/data/modules/inventory/index.js +18 -0
- package/.medusa/server/src/utils/data/modules/inventory/inventory.js +108 -0
- package/.medusa/server/src/utils/data/modules/order/index.js +18 -0
- package/.medusa/server/src/utils/data/modules/order/order.js +415 -0
- package/.medusa/server/src/utils/data/modules/product/helpers.js +9 -0
- package/.medusa/server/src/utils/data/modules/product/index.js +18 -0
- package/.medusa/server/src/utils/data/modules/product/product.js +276 -0
- package/.medusa/server/src/utils/data/modules/product-category/index.js +18 -0
- package/.medusa/server/src/utils/data/modules/product-category/product-category.js +75 -0
- package/.medusa/server/src/utils/data/modules/product-tag/index.js +18 -0
- package/.medusa/server/src/utils/data/modules/product-tag/product-tag.js +39 -0
- package/.medusa/server/src/utils/data/modules/product-type/index.js +18 -0
- package/.medusa/server/src/utils/data/modules/product-type/product-type.js +39 -0
- package/.medusa/server/src/utils/data/modules/product-variant/index.js +18 -0
- package/.medusa/server/src/utils/data/modules/product-variant/product-variant.js +139 -0
- package/.medusa/server/src/utils/i18n/i18n.js +176 -0
- package/.medusa/server/src/utils/i18n/index.js +18 -0
- package/.medusa/server/src/utils/index.js +11 -1
- package/.medusa/server/src/utils/is-defined.js +7 -0
- package/.medusa/server/src/utils/is-object.js +7 -0
- package/.medusa/server/src/utils/pick-value-from-object.js +28 -0
- package/.medusa/server/src/utils/transforms/index.js +42 -0
- package/.medusa/server/src/utils/transforms/order-transformer.js +42 -0
- package/.medusa/server/src/workflows/order/get-order-by-id.js +23 -0
- package/.medusa/server/src/workflows/order/index.js +18 -0
- package/.medusa/server/src/workflows/order/steps/get-order-by-id.js +40 -0
- package/.medusa/server/src/workflows/order/steps/index.js +18 -0
- package/package.json +18 -11
- package/.medusa/server/src/templates/emails/contact-form/template.js +0 -28
- package/.medusa/server/src/templates/emails/contact-form/types.js +0 -3
- package/.medusa/server/src/templates/emails/inventory-level/template.js +0 -28
- package/.medusa/server/src/templates/emails/inventory-level/types.js +0 -3
- package/.medusa/server/src/templates/emails/order-completed/index.js +0 -19
- package/.medusa/server/src/templates/emails/order-completed/template.js +0 -36
- package/.medusa/server/src/templates/emails/order-completed/types.js +0 -3
- package/.medusa/server/src/templates/emails/order-placed/index.js +0 -19
- package/.medusa/server/src/templates/emails/order-placed/template.js +0 -36
- package/.medusa/server/src/templates/emails/order-placed/types.js +0 -3
- package/.medusa/server/src/templates/shared/i18n/index.js +0 -6
- package/.medusa/server/src/templates/shared/i18n/languages.js +0 -187
- package/.medusa/server/src/templates/shared/i18n/utils.js +0 -186
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PRODUCT_VARIANT_QUERY_FIELDS = exports.PRODUCT_VARIANT_ATTRIBUTES = void 0;
|
|
4
|
+
exports.PRODUCT_VARIANT_ATTRIBUTES = [
|
|
5
|
+
{
|
|
6
|
+
value: "product_variant.id",
|
|
7
|
+
label: "ID",
|
|
8
|
+
description: "Unique identifier of the product variant",
|
|
9
|
+
examples: ["variant_01ABC123", "variant_01XYZ789"],
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
value: "product_variant.title",
|
|
13
|
+
label: "Title",
|
|
14
|
+
description: "Title/name of the product variant (e.g., size and color combination)",
|
|
15
|
+
examples: ["Small / Blue", "Medium / Red", "Large / Black"],
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
value: "product_variant.sku",
|
|
19
|
+
label: "SKU",
|
|
20
|
+
description: "SKU (Stock Keeping Unit) of the product variant",
|
|
21
|
+
examples: ["TSHIRT-SM-BLUE", "JEANS-32-BLACK", "SNEAKERS-42-WHITE"],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
value: "product_variant.barcode",
|
|
25
|
+
label: "Barcode",
|
|
26
|
+
description: "Barcode identifier for the product variant",
|
|
27
|
+
examples: ["1234567890123", "9876543210987"],
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
value: "product_variant.ean",
|
|
31
|
+
label: "EAN",
|
|
32
|
+
description: "European Article Number (EAN) barcode",
|
|
33
|
+
examples: ["1234567890123", "9876543210987"],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
value: "product_variant.upc",
|
|
37
|
+
label: "UPC",
|
|
38
|
+
description: "Universal Product Code (UPC) barcode",
|
|
39
|
+
examples: ["123456789012", "987654321098"],
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
value: "product_variant.allow_backorder",
|
|
43
|
+
label: "Allow Backorder",
|
|
44
|
+
description: "Whether backorders are allowed for this variant",
|
|
45
|
+
examples: ["true", "false"],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
value: "product_variant.manage_inventory",
|
|
49
|
+
label: "Manage Inventory",
|
|
50
|
+
description: "Whether inventory is managed for this variant",
|
|
51
|
+
examples: ["true", "false"],
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
value: "product_variant.hs_code",
|
|
55
|
+
label: "HS Code",
|
|
56
|
+
description: "Harmonized System (HS) code for customs classification",
|
|
57
|
+
examples: ["6109.10.00", "6403.99.00"],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
value: "product_variant.origin_country",
|
|
61
|
+
label: "Origin Country",
|
|
62
|
+
description: "ISO 3166-1 alpha-2 country code where the variant originates",
|
|
63
|
+
examples: ["PL", "US", "CN", "DE"],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
value: "product_variant.mid_code",
|
|
67
|
+
label: "MID Code",
|
|
68
|
+
description: "Manufacturer Identification (MID) code",
|
|
69
|
+
examples: ["MID123456"],
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
value: "product_variant.material",
|
|
73
|
+
label: "Material",
|
|
74
|
+
description: "Material composition of the product variant",
|
|
75
|
+
examples: ["Cotton", "Polyester", "Leather", "Metal"],
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
value: "product_variant.weight",
|
|
79
|
+
label: "Weight",
|
|
80
|
+
description: "Weight of the product variant in grams",
|
|
81
|
+
examples: ["100", "500", "1000", "2500"],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
value: "product_variant.length",
|
|
85
|
+
label: "Length",
|
|
86
|
+
description: "Length of the product variant in centimeters",
|
|
87
|
+
examples: ["10", "20", "30", "50"],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
value: "product_variant.height",
|
|
91
|
+
label: "Height",
|
|
92
|
+
description: "Height of the product variant in centimeters",
|
|
93
|
+
examples: ["5", "10", "15", "25"],
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
value: "product_variant.width",
|
|
97
|
+
label: "Width",
|
|
98
|
+
description: "Width of the product variant in centimeters",
|
|
99
|
+
examples: ["10", "20", "30", "40"],
|
|
100
|
+
},
|
|
101
|
+
// {
|
|
102
|
+
// value: "product_variant.metadata",
|
|
103
|
+
// label: "Metadata",
|
|
104
|
+
// },
|
|
105
|
+
{
|
|
106
|
+
value: "product_variant.variant_rank",
|
|
107
|
+
label: "Variant Rank",
|
|
108
|
+
description: "Display order/rank of the variant",
|
|
109
|
+
examples: ["0", "1", "2", "10"],
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
value: "product_variant.product_id",
|
|
113
|
+
label: "Product ID",
|
|
114
|
+
description: "Unique identifier of the parent product",
|
|
115
|
+
examples: ["prod_01ABC123"],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
value: "product_variant.created_at",
|
|
119
|
+
label: "Created At",
|
|
120
|
+
description: "Date and time when the variant was created (ISO 8601 format)",
|
|
121
|
+
examples: ["2024-01-15T10:30:00Z", "2024-12-25T00:00:00Z"],
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
value: "product_variant.updated_at",
|
|
125
|
+
label: "Updated At",
|
|
126
|
+
description: "Date and time when the variant was last updated (ISO 8601 format)",
|
|
127
|
+
examples: ["2024-01-15T10:30:00Z", "2024-12-25T00:00:00Z"],
|
|
128
|
+
},
|
|
129
|
+
];
|
|
130
|
+
// Fields for use in query.graph() - includes technical relations with *
|
|
131
|
+
// These fields are needed for correct data retrieval including all relation data
|
|
132
|
+
// PRODUCT_VARIANT_QUERY_FIELDS contains all fields from PRODUCT_VARIANT_ATTRIBUTES plus technical relations
|
|
133
|
+
exports.PRODUCT_VARIANT_QUERY_FIELDS = [
|
|
134
|
+
// Basic fields from PRODUCT_VARIANT_ATTRIBUTES
|
|
135
|
+
...exports.PRODUCT_VARIANT_ATTRIBUTES.map((attr) => attr.value),
|
|
136
|
+
// Technical relations required for complete data retrieval (if any)
|
|
137
|
+
// These fields are not available in UI rules, but are needed for correct data retrieval
|
|
138
|
+
];
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC12YXJpYW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2RhdGEvbW9kdWxlcy9wcm9kdWN0LXZhcmlhbnQvcHJvZHVjdC12YXJpYW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsMEJBQTBCLEdBQUc7SUFDeEM7UUFDRSxLQUFLLEVBQUUsb0JBQW9CO1FBQzNCLEtBQUssRUFBRSxJQUFJO1FBQ1gsV0FBVyxFQUFFLDBDQUEwQztRQUN2RCxRQUFRLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQztLQUNuRDtJQUNEO1FBQ0UsS0FBSyxFQUFFLHVCQUF1QjtRQUM5QixLQUFLLEVBQUUsT0FBTztRQUNkLFdBQVcsRUFBRSxzRUFBc0U7UUFDbkYsUUFBUSxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUM7S0FDNUQ7SUFDRDtRQUNFLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsS0FBSyxFQUFFLEtBQUs7UUFDWixXQUFXLEVBQUUsaURBQWlEO1FBQzlELFFBQVEsRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO0tBQ3BFO0lBQ0Q7UUFDRSxLQUFLLEVBQUUseUJBQXlCO1FBQ2hDLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsUUFBUSxFQUFFLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQztLQUM3QztJQUNEO1FBQ0UsS0FBSyxFQUFFLHFCQUFxQjtRQUM1QixLQUFLLEVBQUUsS0FBSztRQUNaLFdBQVcsRUFBRSx1Q0FBdUM7UUFDcEQsUUFBUSxFQUFFLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQztLQUM3QztJQUNEO1FBQ0UsS0FBSyxFQUFFLHFCQUFxQjtRQUM1QixLQUFLLEVBQUUsS0FBSztRQUNaLFdBQVcsRUFBRSxzQ0FBc0M7UUFDbkQsUUFBUSxFQUFF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
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVariableValue = getVariableValue;
|
|
4
|
+
exports.multiInterpolate = multiInterpolate;
|
|
5
|
+
exports.t = t;
|
|
6
|
+
exports.createTranslator = createTranslator;
|
|
7
|
+
exports.mergeTranslations = mergeTranslations;
|
|
8
|
+
const index_1 = require("../index");
|
|
9
|
+
/**
|
|
10
|
+
* Simple i18n utility for templates
|
|
11
|
+
* Provides basic translation functionality without external dependencies
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Flatten translations structure - extracts 'general' object properties to root level
|
|
15
|
+
* This allows JSON files to have nested structure while templates use flat structure
|
|
16
|
+
*
|
|
17
|
+
* @param translations - Translations object (may contain 'general' wrapper)
|
|
18
|
+
* @returns Flattened translations object
|
|
19
|
+
*/
|
|
20
|
+
function flattenTranslations(translations) {
|
|
21
|
+
if (!(0, index_1.isObject)(translations) || !translations.general) {
|
|
22
|
+
return translations;
|
|
23
|
+
}
|
|
24
|
+
// Extract 'general' properties to root level
|
|
25
|
+
const { general, ...rest } = translations;
|
|
26
|
+
return { ...general, ...rest };
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get variable value from text
|
|
30
|
+
*/
|
|
31
|
+
function getVariableValue(text) {
|
|
32
|
+
if (!text || typeof text !== "string") {
|
|
33
|
+
return { replaced: text, original: text };
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
replaced: text.replace(/\{\{(\w+(?:\.\w+)*)\}\}/g, (match, key) => {
|
|
37
|
+
return key;
|
|
38
|
+
}),
|
|
39
|
+
original: text
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Group interpolate - handles variables with prefixes (data. or translations.)
|
|
44
|
+
*
|
|
45
|
+
* Variables with prefix `data.` are resolved using interpolate function
|
|
46
|
+
* Variables with prefix `translations.` are resolved using translator.single
|
|
47
|
+
*
|
|
48
|
+
* @param text - Text with {{data.variable}} and {{translations.key}} placeholders
|
|
49
|
+
* @param data - Data object for interpolation
|
|
50
|
+
* @param translator - Translator instance with single method
|
|
51
|
+
* @returns Interpolated text with all variables resolved
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* multiInterpolate(
|
|
55
|
+
* "Order {{data.order.id}} - {{translations.headerTitle}}",
|
|
56
|
+
* { order: { id: "123" } },
|
|
57
|
+
* translator
|
|
58
|
+
* )
|
|
59
|
+
* // Returns: "Order 123 - Order Confirmation"
|
|
60
|
+
*/
|
|
61
|
+
function multiInterpolate(text, data = {}, translator, config) {
|
|
62
|
+
if (!text || typeof text !== "string") {
|
|
63
|
+
return text;
|
|
64
|
+
}
|
|
65
|
+
// Find all variables in format {{...}}
|
|
66
|
+
const variableRegex = /\{\{((?:data\.|translations\.)?\w+(?:\.\w+)*)\}\}/g;
|
|
67
|
+
const matches = Array.from(text.matchAll(variableRegex));
|
|
68
|
+
if (matches.length === 0) {
|
|
69
|
+
return text;
|
|
70
|
+
}
|
|
71
|
+
// Build dynamic data prefix array (e.g., ["data"] or ["data", "items"])
|
|
72
|
+
const dataPrefix = config?.arrayPath
|
|
73
|
+
? ["data", config.arrayPath]
|
|
74
|
+
: ["data"];
|
|
75
|
+
const dataPrefixString = dataPrefix.join(".");
|
|
76
|
+
// Process each variable separately
|
|
77
|
+
let result = text;
|
|
78
|
+
for (const match of matches) {
|
|
79
|
+
const fullMatch = match[0]; // e.g., "{{data.order.id}}"
|
|
80
|
+
const variable = match[1]; // e.g., "data.order.id"
|
|
81
|
+
let replacement;
|
|
82
|
+
// Check if variable starts with dynamic data prefix
|
|
83
|
+
// console.log('variable', dataPrefixString);
|
|
84
|
+
if (variable.startsWith(`${dataPrefixString}.`)) {
|
|
85
|
+
// Escape dots in prefix for regex
|
|
86
|
+
const escapedPrefix = dataPrefixString.replace(/\./g, '\\.');
|
|
87
|
+
const dataPath = variable.replace(new RegExp(`^${escapedPrefix}\\.`), "");
|
|
88
|
+
const value = (0, index_1.pickValueFromObject)(dataPath, data);
|
|
89
|
+
// Convert value to string, preserving false as "false" and true as "true"
|
|
90
|
+
// String(false) = "false", String(true) = "true", String(0) = "0", etc.
|
|
91
|
+
if (value === undefined || value === null) {
|
|
92
|
+
replacement = undefined;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
replacement = String(value);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Check if variable starts with translations. prefix
|
|
99
|
+
else if (variable.startsWith("translations.")) {
|
|
100
|
+
// Remove "translations." prefix and use translator.single
|
|
101
|
+
const translationKey = variable.replace(/^translations\./, "");
|
|
102
|
+
replacement = translator.t(translationKey, data);
|
|
103
|
+
replacement = multiInterpolate(replacement, data, translator);
|
|
104
|
+
}
|
|
105
|
+
// Replace the variable in text if we found a replacement
|
|
106
|
+
if (replacement !== undefined) {
|
|
107
|
+
result = result.replace(fullMatch, replacement);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Simple translation function
|
|
114
|
+
*
|
|
115
|
+
* @param locale - Target locale (e.g., 'pl', 'en')
|
|
116
|
+
* @param translations - Record of translations by locale
|
|
117
|
+
* @param key - Translation key (supports dot notation: "labels.inventoryLevelId")
|
|
118
|
+
* @param data - Data for interpolation
|
|
119
|
+
* @returns Translated and interpolated text
|
|
120
|
+
*/
|
|
121
|
+
function t(locale, translations, key) {
|
|
122
|
+
// Get translations for locale with fallback to 'pl'
|
|
123
|
+
const localeTranslations = translations[locale] || translations["pl"] || {};
|
|
124
|
+
// Flatten translations structure
|
|
125
|
+
const flatTranslations = flattenTranslations(localeTranslations);
|
|
126
|
+
const { replaced, original } = getVariableValue(key);
|
|
127
|
+
// Get translation value (supports nested keys)
|
|
128
|
+
const translation = (0, index_1.pickValueFromObject)(replaced, flatTranslations);
|
|
129
|
+
// Use key as fallback if translation not found
|
|
130
|
+
const text = translation || original;
|
|
131
|
+
return text;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Create a translator function
|
|
135
|
+
*
|
|
136
|
+
* @param locale - Target locale (e.g., 'pl', 'en')
|
|
137
|
+
* @param translations - Record of translations by locale
|
|
138
|
+
* @returns Translator function that takes (key, data?) and returns translated string
|
|
139
|
+
*/
|
|
140
|
+
function createTranslator(locale, translations) {
|
|
141
|
+
return {
|
|
142
|
+
t: (key, data = {}) => {
|
|
143
|
+
return t(locale, translations, key);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Merge custom translations with base translations
|
|
149
|
+
* Custom translations override base translations
|
|
150
|
+
*
|
|
151
|
+
* @param baseTranslations - Base translations object
|
|
152
|
+
* @param customTranslations - Custom translations to merge (optional)
|
|
153
|
+
* @returns Merged translations object
|
|
154
|
+
*/
|
|
155
|
+
function mergeTranslations(baseTranslations, customTranslations) {
|
|
156
|
+
if (!customTranslations ||
|
|
157
|
+
!(0, index_1.isObject)(customTranslations)) {
|
|
158
|
+
return baseTranslations;
|
|
159
|
+
}
|
|
160
|
+
const merged = {
|
|
161
|
+
...baseTranslations,
|
|
162
|
+
};
|
|
163
|
+
for (const [lang, custom] of Object.entries(customTranslations)) {
|
|
164
|
+
if ((0, index_1.isObject)(custom)) {
|
|
165
|
+
merged[lang] = {
|
|
166
|
+
...baseTranslations[lang],
|
|
167
|
+
general: {
|
|
168
|
+
...(baseTranslations[lang]?.general || {}),
|
|
169
|
+
...(custom?.general || custom),
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return merged;
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91dGlscy9pMThuL2kxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE4QkEsNENBZ0JDO0FBcUJELDRDQStEQztBQVdELGNBdUJDO0FBU0QsNENBU0M7QUFVRCw4Q0E4QkM7QUE5TkQsb0NBR2lCO0FBRWpCOzs7R0FHRztBQUVIOzs7Ozs7R0FNRztBQUNILFNBQVMsbUJBQW1CLENBQUMsWUFBaUI7SUFDNUMsSUFBSSxDQUFDLElBQUEsZ0JBQVEsRUFBQyxZQUFZLENBQUMsSUFBSSxDQUFFLFlBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUQsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztJQUVELDZDQUE2QztJQUM3QyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsWUFBbUIsQ0FBQTtJQUNoRCxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQTtBQUNoQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDOUIsSUFBWTtJQUVaLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFBO0lBQzNDLENBQUM7SUFFRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQ3BCLDBCQUEwQixFQUMxQixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNiLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQyxDQUNGO1FBQ0QsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDOUIsSUFBWSxFQUNaLE9BQTRCLEVBQUUsRUFD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
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./i18n"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdXRpbHMvaTE4bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXNCIn0=
|
|
@@ -18,4 +18,14 @@ __exportStar(require("./date"), exports);
|
|
|
18
18
|
__exportStar(require("./addresses"), exports);
|
|
19
19
|
__exportStar(require("./money-amount-helpers"), exports);
|
|
20
20
|
__exportStar(require("./payment"), exports);
|
|
21
|
-
|
|
21
|
+
__exportStar(require("./pick-value-from-object"), exports);
|
|
22
|
+
__exportStar(require("./is-defined"), exports);
|
|
23
|
+
__exportStar(require("./is-object"), exports);
|
|
24
|
+
__exportStar(require("./attribute-helpers"), exports);
|
|
25
|
+
__exportStar(require("./i18n/i18n"), exports);
|
|
26
|
+
__exportStar(require("./transforms"), exports);
|
|
27
|
+
__exportStar(require("./data/modules"), exports);
|
|
28
|
+
__exportStar(require("./data/currencies"), exports);
|
|
29
|
+
__exportStar(require("./data/countries"), exports);
|
|
30
|
+
__exportStar(require("./data/country-states"), exports);
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2Qiw4Q0FBNEI7QUFDNUIseURBQXVDO0FBQ3ZDLDRDQUEwQjtBQUMxQiwyREFBeUM7QUFDekMsK0NBQTZCO0FBQzdCLDhDQUE0QjtBQUM1QixzREFBb0M7QUFDcEMsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUM3QixpREFBK0I7QUFDL0Isb0RBQWtDO0FBQ2xDLG1EQUFpQztBQUNqQyx3REFBc0MifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDefined = isDefined;
|
|
4
|
+
function isDefined(val) {
|
|
5
|
+
return typeof val !== "undefined";
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZGVmaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9pcy1kZWZpbmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOEJBSUM7QUFKRCxTQUFnQixTQUFTLENBQ3ZCLEdBQU07SUFFTixPQUFPLE9BQU8sR0FBRyxLQUFLLFdBQVcsQ0FBQTtBQUNuQyxDQUFDIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isObject = isObject;
|
|
4
|
+
function isObject(obj) {
|
|
5
|
+
return obj != null && obj?.constructor?.name === "Object";
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2lzLW9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDRCQUVDO0FBRkQsU0FBZ0IsUUFBUSxDQUFDLEdBQVE7SUFDL0IsT0FBTyxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQTtBQUMzRCxDQUFDIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pickValueFromObject = pickValueFromObject;
|
|
4
|
+
const is_defined_1 = require("./is-defined");
|
|
5
|
+
const is_object_1 = require("./is-object");
|
|
6
|
+
function pickValueFromObject(path, object) {
|
|
7
|
+
const segments = path.split(".");
|
|
8
|
+
let result = object;
|
|
9
|
+
for (let i = 0; i < segments.length; i++) {
|
|
10
|
+
const segment = segments[i];
|
|
11
|
+
result = result[segment];
|
|
12
|
+
if (!(0, is_defined_1.isDefined)(result)) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (i === segments.length - 1) {
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
if (Array.isArray(result)) {
|
|
19
|
+
const subPath = segments.slice(i + 1).join(".");
|
|
20
|
+
return result.map((item) => pickValueFromObject(subPath, item)).flat();
|
|
21
|
+
}
|
|
22
|
+
if (!(0, is_object_1.isObject)(result)) {
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljay12YWx1ZS1mcm9tLW9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9waWNrLXZhbHVlLWZyb20tb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0Esa0RBOEJDO0FBakNELDZDQUF3QztBQUN4QywyQ0FBc0M7QUFFdEMsU0FBZ0IsbUJBQW1CLENBQ2pDLElBQVksRUFDWixNQUF3QjtJQUV4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2hDLElBQUksTUFBTSxHQUFRLE1BQU0sQ0FBQTtJQUV4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMzQixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRXhCLElBQUksQ0FBQyxJQUFBLHNCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFNO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQy9DLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDeEUsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFBLG9CQUFRLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDIn0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformContext = transformContext;
|
|
4
|
+
const order_transformer_1 = require("./order-transformer");
|
|
5
|
+
/**
|
|
6
|
+
* Transform raw context data to email template format
|
|
7
|
+
*
|
|
8
|
+
* This function transforms raw data from API/subscribers/workflows into
|
|
9
|
+
* a format suitable for email templates (formatted dates, amounts, addresses, etc.)
|
|
10
|
+
*
|
|
11
|
+
* @param contextType - Type of context data (e.g., "order", "inventory_level")
|
|
12
|
+
* @param rawData - Raw data from API/subscribers/workflows
|
|
13
|
+
* @param localeCode - Locale code for formatting (default: "pl")
|
|
14
|
+
* @returns Transformed data ready for template rendering
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const transformedData = transformContext("order", rawOrderData, "pl")
|
|
19
|
+
* await renderTemplate("order-placed", transformedData, { locale: "pl" })
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
function transformContext(contextType, rawData, localeCode = "pl") {
|
|
23
|
+
if (!contextType || !rawData) {
|
|
24
|
+
return rawData;
|
|
25
|
+
}
|
|
26
|
+
switch (contextType) {
|
|
27
|
+
case "order":
|
|
28
|
+
return {
|
|
29
|
+
[contextType]: (0, order_transformer_1.transformOrderData)(rawData[contextType], localeCode)
|
|
30
|
+
};
|
|
31
|
+
case "inventory_level":
|
|
32
|
+
// Inventory level data doesn't need transformation (uses raw data directly)
|
|
33
|
+
return rawData;
|
|
34
|
+
case "payment":
|
|
35
|
+
// Payment data transformation can be added here if needed
|
|
36
|
+
return rawData;
|
|
37
|
+
default:
|
|
38
|
+
// Unknown context type - return raw data as-is
|
|
39
|
+
return rawData;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdXRpbHMvdHJhbnNmb3Jtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXdCQSw0Q0EyQkM7QUFuREQsMkRBQXdEO0FBT3hEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLFdBQW9ELEVBQ3BELE9BQVksRUFDWixhQUFxQixJQUFJO0lBRXpCLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0lBRUQsUUFBUSxXQUFXLEVBQUUsQ0FBQztRQUNwQixLQUFLLE9BQU87WUFDVixPQUFPO2dCQUNMLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBQSxzQ0FBa0IsRUFBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsVUFBVSxDQUFDO2FBQ3BFLENBQUE7UUFFSCxLQUFLLGlCQUFpQjtZQUNwQiw0RUFBNEU7WUFDNUUsT0FBTyxPQUFPLENBQUE7UUFFaEIsS0FBSyxTQUFTO1lBQ1osMERBQTBEO1lBQzFELE9BQU8sT0FBTyxDQUFBO1FBRWhCO1lBQ0UsK0NBQStDO1lBQy9DLE9BQU8sT0FBTyxDQUFBO0lBQ2xCLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformOrderData = transformOrderData;
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
/**
|
|
6
|
+
* Transform raw order data from API to email template format
|
|
7
|
+
*
|
|
8
|
+
* @param order - Raw order data from Medusa API
|
|
9
|
+
* @param localeCode - Locale code for formatting (default: "pl")
|
|
10
|
+
* @returns Transformed order data ready for email templates
|
|
11
|
+
*/
|
|
12
|
+
function transformOrderData(order, localeCode = "pl") {
|
|
13
|
+
const shippingAddressText = (0, index_1.getFormattedAddress)({ address: order.shipping_address }).join("<br/>");
|
|
14
|
+
const billingAddressText = (0, index_1.getFormattedAddress)({ address: order.billing_address }).join("<br/>");
|
|
15
|
+
const transformedOrder = {
|
|
16
|
+
...order,
|
|
17
|
+
transformed: {
|
|
18
|
+
order_number: `#${order.display_id}`,
|
|
19
|
+
order_date: (0, index_1.formatDate)({ date: order.created_at, includeTime: true, localeCode }),
|
|
20
|
+
...(order.updated_at && {
|
|
21
|
+
completedDate: (0, index_1.formatDate)({ date: order.updated_at, includeTime: true, localeCode }),
|
|
22
|
+
}),
|
|
23
|
+
total_amount: order.items?.reduce((acc, item) => acc + (item.variant?.prices?.[0]?.amount || 0) * item.quantity, 0) || 0,
|
|
24
|
+
items: order.items?.map((item) => ({
|
|
25
|
+
thumbnail: item.thumbnail,
|
|
26
|
+
title: item.title,
|
|
27
|
+
quantity: item.quantity,
|
|
28
|
+
price: (0, index_1.getLocaleAmount)(item.unit_price, order.currency_code),
|
|
29
|
+
})) || [],
|
|
30
|
+
shipping_address_text: shippingAddressText,
|
|
31
|
+
billing_address_text: billingAddressText,
|
|
32
|
+
summary: {
|
|
33
|
+
total: (0, index_1.getLocaleAmount)(order.summary?.original_order_total || 0, order.currency_code),
|
|
34
|
+
paid_total: (0, index_1.getLocaleAmount)((0, index_1.getTotalCaptured)(order.payment_collections || []), order.currency_code),
|
|
35
|
+
tax_total: (0, index_1.getLocaleAmount)(order.tax_total || 0, order.currency_code),
|
|
36
|
+
discount_total: (0, index_1.getLocaleAmount)(order.discount_total || 0, order.currency_code)
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
return transformedOrder;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdHJhbnNmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdXRpbHMvdHJhbnNmb3Jtcy9vcmRlci10cmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVNBLGdEQXdDQztBQWpERCxvQ0FBNkY7QUFFN0Y7Ozs7OztHQU1HO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQ2hDLEtBQVUsRUFDVixhQUFxQixJQUFJO0lBRXpCLE1BQU0sbUJBQW1CLEdBQUcsSUFBQSwyQkFBbUIsRUFBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNsRyxNQUFNLGtCQUFrQixHQUFHLElBQUEsMkJBQW1CLEVBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRWhHLE1BQU0sZ0JBQWdCLEdBQUc7UUFDdkIsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFO1lBQ1gsWUFBWSxFQUFFLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNwQyxVQUFVLEVBQUUsSUFBQSxrQkFBVSxFQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUNqRixHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSTtnQkFDdEIsYUFBYSxFQUFFLElBQUEsa0JBQVUsRUFBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7YUFDckYsQ0FBQztZQUNGLFlBQVksRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FDL0IsQ0FBQyxHQUFXLEVBQUUsSUFBUyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUMxRixDQUFDLENBQ0YsSUFBSSxDQUFDO1lBQ04sS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixLQUFLLEVBQUUsSUFBQSx1QkFBZSxFQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQzthQUM3RCxDQUFDLENBQUMsSUFBSSxFQUFFO1lBQ1QscUJBQXFCLEVBQUUsbUJBQW1CO1lBQzFDLG9CQUFvQixFQUFFLGtCQUFrQjtZQUN4QyxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLElBQUEsdUJBQWUsRUFBQyxLQUFLLENBQUMsT0FBTyxFQUFFLG9CQUFvQixJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNyRixVQUFVLEVBQUUsSUFBQSx1QkFBZSxFQUN6QixJQUFBLHdCQUFnQixFQUFDLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUMsRUFDakQsS0FBSyxDQUFDLGFBQWEsQ0FDcEI7Z0JBQ0QsU0FBUyxFQUFFLElBQUEsdUJBQWUsRUFBQyxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNyRSxjQUFjLEVBQUUsSUFBQSx1QkFBZSxFQUFDLEtBQUssQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUM7YUFDaEY7U0FDRjtLQUNGLENBQUE7SUFFRCxPQUFPLGdCQUFnQixDQUFBO0FBQ3pCLENBQUMifQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOrderByIdWorkflow = exports.getOrderByIdWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const get_order_by_id_1 = require("./steps/get-order-by-id");
|
|
6
|
+
exports.getOrderByIdWorkflowId = "get-order-by-id";
|
|
7
|
+
/**
|
|
8
|
+
* This workflow retrieves an order by its ID with related items, customer, addresses, and payment collections.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const { result } = await getOrderByIdWorkflow(container).run({
|
|
12
|
+
* input: {
|
|
13
|
+
* order_id: "order_123"
|
|
14
|
+
* }
|
|
15
|
+
* })
|
|
16
|
+
*/
|
|
17
|
+
exports.getOrderByIdWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getOrderByIdWorkflowId, (input) => {
|
|
18
|
+
const order = (0, get_order_by_id_1.getOrderByIdStep)({
|
|
19
|
+
order_id: input.order_id,
|
|
20
|
+
});
|
|
21
|
+
return new workflows_sdk_1.WorkflowResponse(order);
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9yZGVyLWJ5LWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlci9nZXQtb3JkZXItYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTBDO0FBQzFDLDZEQUEwRDtBQU03QyxRQUFBLHNCQUFzQixHQUFHLGlCQUFpQixDQUFBO0FBRXZEOzs7Ozs7Ozs7R0FTRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsSUFBQSw4QkFBYyxFQUNoRCw4QkFBc0IsRUFDdEIsQ0FBQyxLQUE4QyxFQUFFLEVBQUU7SUFDakQsTUFBTSxLQUFLLEdBQUcsSUFBQSxrQ0FBZ0IsRUFBQztRQUM3QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7S0FDekIsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ3BDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./get-order-by-id"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUMifQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOrderByIdStep = exports.getOrderByIdStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const order_1 = require("../../../utils/data/modules/order");
|
|
7
|
+
const attribute_helpers_1 = require("../../../utils/attribute-helpers");
|
|
8
|
+
exports.getOrderByIdStepId = "get-order-by-id";
|
|
9
|
+
/**
|
|
10
|
+
* This step retrieves an order by its ID with related items, customer, addresses, and payment collections.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const data = getOrderByIdStep({
|
|
14
|
+
* order_id: "order_123"
|
|
15
|
+
* })
|
|
16
|
+
*/
|
|
17
|
+
exports.getOrderByIdStep = (0, workflows_sdk_1.createStep)(exports.getOrderByIdStepId, async (input, { container }) => {
|
|
18
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
19
|
+
if (!input.order_id) {
|
|
20
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_ARGUMENT, "Order ID is required");
|
|
21
|
+
}
|
|
22
|
+
// Generate fields from ORDER_QUERY_FIELDS which includes technical relations needed for totals calculation
|
|
23
|
+
const fields = (0, attribute_helpers_1.getFieldsFromAttributes)(order_1.ORDER_QUERY_FIELDS.map((field) => ({ value: field })), "order");
|
|
24
|
+
const { data: orders } = await query.graph({
|
|
25
|
+
entity: "order",
|
|
26
|
+
fields: fields,
|
|
27
|
+
filters: {
|
|
28
|
+
id: {
|
|
29
|
+
$in: [input.order_id],
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
if (!orders || orders.length === 0) {
|
|
34
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Order with ID ${input.order_id} not found`);
|
|
35
|
+
}
|
|
36
|
+
return new workflows_sdk_1.StepResponse({
|
|
37
|
+
order: orders[0],
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9yZGVyLWJ5LWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlci9zdGVwcy9nZXQtb3JkZXItYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBR2tDO0FBQ2xDLHFFQUcwQztBQUMxQyw2REFBc0U7QUFDdEUsd0VBQTBFO0FBWTdELFFBQUEsa0JBQWtCLEdBQUcsaUJBQWlCLENBQUE7QUFFbkQ7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUN4QywwQkFBa0IsRUFDbEIsS0FBSyxFQUNILEtBQTRCLEVBQzVCLEVBQUUsU0FBUyxFQUFFLEVBQ2tDLEVBQUU7SUFDakQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFBO0lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLHNCQUFzQixDQUN2QixDQUFBO0lBQ0gsQ0FBQztJQUVELDJHQUEyRztJQUMzRyxNQUFNLE1BQU0sR0FBRyxJQUFBLDJDQUF1QixFQUNwQywwQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUNyRCxPQUFPLENBQ1IsQ0FBQTtJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUU7Z0JBQ0YsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQzthQUN0QjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLGlCQUFpQixLQUFLLENBQUMsUUFBUSxZQUFZLENBQzVDLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7S0FDakIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./get-order-by-id"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyL3N0ZXBzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUMifQ==
|