@hszrdm/core 1.4.0 → 1.6.0

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.
Files changed (182) hide show
  1. package/.medusa/server/src/admin/index.js +6361 -3789
  2. package/.medusa/server/src/admin/index.mjs +6361 -3789
  3. package/.medusa/server/src/api/admin/back-in-stock/route.d.ts +2 -0
  4. package/.medusa/server/src/api/admin/back-in-stock/route.js +70 -0
  5. package/.medusa/server/src/api/admin/core-carts/[id]/items/[itemId]/route.d.ts +3 -0
  6. package/.medusa/server/src/api/admin/core-carts/[id]/items/[itemId]/route.js +64 -0
  7. package/.medusa/server/src/api/admin/core-carts/[id]/items/route.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/core-carts/[id]/items/route.js +40 -0
  9. package/.medusa/server/src/api/admin/core-carts/[id]/promotions/[code]/route.d.ts +2 -0
  10. package/.medusa/server/src/api/admin/core-carts/[id]/promotions/[code]/route.js +40 -0
  11. package/.medusa/server/src/api/admin/core-carts/[id]/promotions/route.d.ts +2 -0
  12. package/.medusa/server/src/api/admin/core-carts/[id]/promotions/route.js +41 -0
  13. package/.medusa/server/src/api/admin/core-carts/[id]/route.d.ts +2 -0
  14. package/.medusa/server/src/api/admin/core-carts/[id]/route.js +28 -0
  15. package/.medusa/server/src/api/admin/core-carts/customer/[id]/route.d.ts +2 -0
  16. package/.medusa/server/src/api/admin/core-carts/customer/[id]/route.js +34 -0
  17. package/.medusa/server/src/api/admin/core-carts/route.d.ts +3 -0
  18. package/.medusa/server/src/api/admin/core-carts/route.js +69 -0
  19. package/.medusa/server/src/api/admin/customer-activation/route.d.ts +2 -0
  20. package/.medusa/server/src/api/admin/customer-activation/route.js +97 -0
  21. package/.medusa/server/src/api/admin/customer-import/route.d.ts +2 -0
  22. package/.medusa/server/src/api/admin/customer-import/route.js +166 -0
  23. package/.medusa/server/src/api/admin/order-export/route.d.ts +2 -0
  24. package/.medusa/server/src/api/admin/order-export/route.js +88 -0
  25. package/.medusa/server/src/api/admin/product-migration/inventory/route.d.ts +3 -0
  26. package/.medusa/server/src/api/admin/product-migration/inventory/route.js +164 -0
  27. package/.medusa/server/src/api/admin/product-migration/price-list-prices/route.d.ts +3 -0
  28. package/.medusa/server/src/api/admin/product-migration/price-list-prices/route.js +204 -0
  29. package/.medusa/server/src/api/admin/product-migration/products/route.d.ts +2 -0
  30. package/.medusa/server/src/api/admin/product-migration/products/route.js +24 -0
  31. package/.medusa/server/src/api/admin/product-reviews/[id]/route.js +36 -4
  32. package/.medusa/server/src/api/admin/product-reviews/settings/route.d.ts +3 -0
  33. package/.medusa/server/src/api/admin/product-reviews/settings/route.js +63 -0
  34. package/.medusa/server/src/api/admin/shared-cart/settings/route.d.ts +5 -0
  35. package/.medusa/server/src/api/admin/shared-cart/settings/route.js +31 -0
  36. package/.medusa/server/src/api/admin/system-runtime/route.d.ts +2 -0
  37. package/.medusa/server/src/api/admin/system-runtime/route.js +18 -0
  38. package/.medusa/server/src/api/hooks/packeta/status/route.d.ts +2 -0
  39. package/.medusa/server/src/api/hooks/packeta/status/route.js +55 -0
  40. package/.medusa/server/src/api/middlewares.js +24 -1
  41. package/.medusa/server/src/api/store/abandoned-cart/recover/route.d.ts +2 -0
  42. package/.medusa/server/src/api/store/abandoned-cart/recover/route.js +37 -0
  43. package/.medusa/server/src/api/store/back-in-stock/route.d.ts +8 -0
  44. package/.medusa/server/src/api/store/back-in-stock/route.js +124 -0
  45. package/.medusa/server/src/api/store/core-carts/me/active/route.d.ts +2 -0
  46. package/.medusa/server/src/api/store/core-carts/me/active/route.js +54 -0
  47. package/.medusa/server/src/api/store/customer-activation/complete/route.d.ts +2 -0
  48. package/.medusa/server/src/api/store/customer-activation/complete/route.js +96 -0
  49. package/.medusa/server/src/api/store/customer-activation/route.d.ts +2 -0
  50. package/.medusa/server/src/api/store/customer-activation/route.js +34 -0
  51. package/.medusa/server/src/api/store/products/[id]/reviews/route.d.ts +1 -0
  52. package/.medusa/server/src/api/store/products/[id]/reviews/route.js +76 -34
  53. package/.medusa/server/src/api/store/review-request/route.d.ts +2 -0
  54. package/.medusa/server/src/api/store/review-request/route.js +60 -0
  55. package/.medusa/server/src/api/store/shared-carts/[token]/route.d.ts +2 -0
  56. package/.medusa/server/src/api/store/shared-carts/[token]/route.js +52 -0
  57. package/.medusa/server/src/api/store/shared-carts/route.d.ts +13 -0
  58. package/.medusa/server/src/api/store/shared-carts/route.js +78 -0
  59. package/.medusa/server/src/core/abandoned-cart.d.ts +64 -0
  60. package/.medusa/server/src/core/abandoned-cart.js +197 -0
  61. package/.medusa/server/src/core/admin-cart-management.d.ts +18 -0
  62. package/.medusa/server/src/core/admin-cart-management.js +102 -0
  63. package/.medusa/server/src/core/admin-cart-visibility.d.ts +94 -0
  64. package/.medusa/server/src/core/admin-cart-visibility.js +192 -0
  65. package/.medusa/server/src/core/back-in-stock.d.ts +51 -0
  66. package/.medusa/server/src/core/back-in-stock.js +107 -0
  67. package/.medusa/server/src/core/cart-observability.d.ts +23 -0
  68. package/.medusa/server/src/core/cart-observability.js +54 -0
  69. package/.medusa/server/src/core/checkout-contract.d.ts +1 -0
  70. package/.medusa/server/src/core/checkout-contract.js +2 -1
  71. package/.medusa/server/src/core/customer-account-contract.d.ts +3 -0
  72. package/.medusa/server/src/core/customer-account-contract.js +4 -1
  73. package/.medusa/server/src/core/customer-activation.d.ts +120 -0
  74. package/.medusa/server/src/core/customer-activation.js +169 -0
  75. package/.medusa/server/src/core/customer-cart-resume.d.ts +21 -0
  76. package/.medusa/server/src/core/customer-cart-resume.js +72 -0
  77. package/.medusa/server/src/core/customer-email.d.ts +1 -1
  78. package/.medusa/server/src/core/customer-email.js +4 -1
  79. package/.medusa/server/src/core/native-migration-export.d.ts +6 -0
  80. package/.medusa/server/src/core/native-migration-export.js +105 -0
  81. package/.medusa/server/src/core/order-export.d.ts +11 -0
  82. package/.medusa/server/src/core/order-export.js +297 -0
  83. package/.medusa/server/src/core/review-request.d.ts +61 -0
  84. package/.medusa/server/src/core/review-request.js +105 -0
  85. package/.medusa/server/src/core/review-reward.d.ts +94 -0
  86. package/.medusa/server/src/core/review-reward.js +124 -0
  87. package/.medusa/server/src/core/runtime-health.d.ts +39 -0
  88. package/.medusa/server/src/core/runtime-health.js +250 -0
  89. package/.medusa/server/src/core/storefront-core-config.d.ts +10 -0
  90. package/.medusa/server/src/core/storefront-core-config.js +26 -1
  91. package/.medusa/server/src/core/version.d.ts +2 -2
  92. package/.medusa/server/src/core/version.js +2 -2
  93. package/.medusa/server/src/jobs/abandoned-cart-recovery.d.ts +23 -0
  94. package/.medusa/server/src/jobs/abandoned-cart-recovery.js +137 -0
  95. package/.medusa/server/src/jobs/back-in-stock-reconciliation.d.ts +15 -0
  96. package/.medusa/server/src/jobs/back-in-stock-reconciliation.js +90 -0
  97. package/.medusa/server/src/jobs/dpd-statusdata-sync.d.ts +17 -0
  98. package/.medusa/server/src/jobs/dpd-statusdata-sync.js +107 -0
  99. package/.medusa/server/src/jobs/mpl-push-tracking.d.ts +19 -0
  100. package/.medusa/server/src/jobs/mpl-push-tracking.js +183 -0
  101. package/.medusa/server/src/jobs/mpl-status-sync.d.ts +8 -2
  102. package/.medusa/server/src/jobs/mpl-status-sync.js +12 -7
  103. package/.medusa/server/src/jobs/product-review-request-dispatch.d.ts +28 -0
  104. package/.medusa/server/src/jobs/product-review-request-dispatch.js +84 -0
  105. package/.medusa/server/src/jobs/runtime-heartbeat.d.ts +12 -0
  106. package/.medusa/server/src/jobs/runtime-heartbeat.js +13 -0
  107. package/.medusa/server/src/jobs/shipping-status-sync.d.ts +8 -2
  108. package/.medusa/server/src/jobs/shipping-status-sync.js +11 -14
  109. package/.medusa/server/src/lib/modules/shipping/idempotency.js +3 -3
  110. package/.medusa/server/src/lib/modules/shipping/index.d.ts +1 -0
  111. package/.medusa/server/src/lib/modules/shipping/index.js +2 -1
  112. package/.medusa/server/src/lib/modules/shipping/tracking.d.ts +48 -0
  113. package/.medusa/server/src/lib/modules/shipping/tracking.js +368 -0
  114. package/.medusa/server/src/lib/modules/shipping/webhooks.d.ts +6 -9
  115. package/.medusa/server/src/lib/modules/shipping/webhooks.js +24 -137
  116. package/.medusa/server/src/modules/back-in-stock/index.d.ts +23 -0
  117. package/.medusa/server/src/modules/back-in-stock/index.js +16 -0
  118. package/.medusa/server/src/modules/back-in-stock/migrations/Migration20261101202000.d.ts +5 -0
  119. package/.medusa/server/src/modules/back-in-stock/migrations/Migration20261101202000.js +18 -0
  120. package/.medusa/server/src/modules/back-in-stock/models/back-in-stock-subscription.d.ts +13 -0
  121. package/.medusa/server/src/modules/back-in-stock/models/back-in-stock-subscription.js +23 -0
  122. package/.medusa/server/src/modules/back-in-stock/service.d.ts +22 -0
  123. package/.medusa/server/src/modules/back-in-stock/service.js +12 -0
  124. package/.medusa/server/src/modules/email-center/abandoned-cart-registration.d.ts +1 -0
  125. package/.medusa/server/src/modules/email-center/abandoned-cart-registration.js +27 -0
  126. package/.medusa/server/src/modules/email-center/back-in-stock-registration.d.ts +1 -0
  127. package/.medusa/server/src/modules/email-center/back-in-stock-registration.js +27 -0
  128. package/.medusa/server/src/modules/email-center/defaults.js +7 -1
  129. package/.medusa/server/src/modules/email-center/index.d.ts +2 -0
  130. package/.medusa/server/src/modules/email-center/index.js +3 -1
  131. package/.medusa/server/src/modules/integration-settings/abandoned-cart-registration.d.ts +1 -0
  132. package/.medusa/server/src/modules/integration-settings/abandoned-cart-registration.js +30 -0
  133. package/.medusa/server/src/modules/integration-settings/index.d.ts +1 -0
  134. package/.medusa/server/src/modules/integration-settings/index.js +2 -1
  135. package/.medusa/server/src/modules/integration-settings/storefront-public-registration.js +15 -1
  136. package/.medusa/server/src/modules/product-review/index.d.ts +14 -0
  137. package/.medusa/server/src/modules/product-review/migrations/Migration20261101113000.d.ts +5 -0
  138. package/.medusa/server/src/modules/product-review/migrations/Migration20261101113000.js +28 -0
  139. package/.medusa/server/src/modules/product-review/migrations/Migration20261101114500.d.ts +5 -0
  140. package/.medusa/server/src/modules/product-review/migrations/Migration20261101114500.js +20 -0
  141. package/.medusa/server/src/modules/product-review/migrations/Migration20261101121500.d.ts +5 -0
  142. package/.medusa/server/src/modules/product-review/migrations/Migration20261101121500.js +18 -0
  143. package/.medusa/server/src/modules/product-review/models/product-review-settings.d.ts +15 -0
  144. package/.medusa/server/src/modules/product-review/models/product-review-settings.js +19 -0
  145. package/.medusa/server/src/modules/product-review/models/product-review.d.ts +6 -2
  146. package/.medusa/server/src/modules/product-review/models/product-review.js +7 -3
  147. package/.medusa/server/src/modules/product-review/service.d.ts +22 -1
  148. package/.medusa/server/src/modules/product-review/service.js +3 -2
  149. package/.medusa/server/src/modules/shared-cart/index.d.ts +21 -0
  150. package/.medusa/server/src/modules/shared-cart/index.js +13 -0
  151. package/.medusa/server/src/modules/shared-cart/migrations/Migration20261102010000.d.ts +5 -0
  152. package/.medusa/server/src/modules/shared-cart/migrations/Migration20261102010000.js +16 -0
  153. package/.medusa/server/src/modules/shared-cart/models/shared-cart.d.ts +10 -0
  154. package/.medusa/server/src/modules/shared-cart/models/shared-cart.js +17 -0
  155. package/.medusa/server/src/modules/shared-cart/service.d.ts +14 -0
  156. package/.medusa/server/src/modules/shared-cart/service.js +11 -0
  157. package/.medusa/server/src/modules/shared-cart/settings.d.ts +7 -0
  158. package/.medusa/server/src/modules/shared-cart/settings.js +64 -0
  159. package/.medusa/server/src/providers/dpd/index.d.ts +2 -0
  160. package/.medusa/server/src/providers/dpd/index.js +3 -1
  161. package/.medusa/server/src/providers/dpd/statusdata-ftp.d.ts +16 -0
  162. package/.medusa/server/src/providers/dpd/statusdata-ftp.js +268 -0
  163. package/.medusa/server/src/providers/dpd/statusdata.d.ts +14 -0
  164. package/.medusa/server/src/providers/dpd/statusdata.js +161 -0
  165. package/.medusa/server/src/providers/mpl/client.d.ts +3 -1
  166. package/.medusa/server/src/providers/mpl/client.js +154 -2
  167. package/.medusa/server/src/providers/mpl/service.js +31 -20
  168. package/.medusa/server/src/providers/mpl/types.d.ts +25 -0
  169. package/.medusa/server/src/providers/mpl/types.js +1 -1
  170. package/.medusa/server/src/providers/packeta/index.d.ts +1 -0
  171. package/.medusa/server/src/providers/packeta/index.js +2 -1
  172. package/.medusa/server/src/providers/packeta/push-tracking.d.ts +8 -0
  173. package/.medusa/server/src/providers/packeta/push-tracking.js +96 -0
  174. package/.medusa/server/src/providers/packeta/service.js +22 -2
  175. package/.medusa/server/src/scripts/core-init.d.ts +1 -1
  176. package/.medusa/server/src/scripts/core-init.js +3 -2
  177. package/.medusa/server/src/subscribers/back-in-stock-inventory-changed.d.ts +7 -0
  178. package/.medusa/server/src/subscribers/back-in-stock-inventory-changed.js +65 -0
  179. package/.medusa/server/src/workflows/link-migrated-customer.d.ts +8 -0
  180. package/.medusa/server/src/workflows/link-migrated-customer.js +17 -0
  181. package/README.md +1 -1
  182. package/package.json +30 -8
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyPacketaPushSignature = verifyPacketaPushSignature;
4
+ exports.packetaPushEvent = packetaPushEvent;
5
+ const node_crypto_1 = require("node:crypto");
6
+ const tracking_1 = require("../../lib/modules/shipping/tracking");
7
+ function verifyPacketaPushSignature(input) {
8
+ const key = String(input.signingKey || "");
9
+ const timestamp = headerText(input.timestamp);
10
+ const signature = headerText(input.signature).toLowerCase();
11
+ if (!key || !timestamp || !/^[a-f0-9]{64}$/i.test(signature))
12
+ return false;
13
+ const expected = (0, node_crypto_1.createHmac)("sha256", key)
14
+ .update(`${timestamp}.${input.rawBody}`)
15
+ .digest("hex");
16
+ const a = Buffer.from(expected, "hex");
17
+ const b = Buffer.from(signature, "hex");
18
+ return a.length === b.length && (0, node_crypto_1.timingSafeEqual)(a, b);
19
+ }
20
+ function packetaPushEvent(body, webhookEventId) {
21
+ const payload = body && typeof body === "object"
22
+ ? body
23
+ : {};
24
+ const status = objectValue(payload.status);
25
+ if (status) {
26
+ const id = text(status.id);
27
+ const barcode = text(status.barcode);
28
+ const externalTrackingCode = text(status.externalTrackingCode);
29
+ const statusId = status.statusId;
30
+ const statusCode = text(status.statusCode);
31
+ const eventId = text(webhookEventId) || text(status.eventId);
32
+ if (!id && !barcode && !externalTrackingCode) {
33
+ throw new Error("A Packeta push eseményből hiányzik a csomagazonosító.");
34
+ }
35
+ return {
36
+ carrier: "packeta",
37
+ shipmentIdentifiers: [id, barcode, externalTrackingCode].filter(Boolean),
38
+ status: (0, tracking_1.mapPacketaStatus)({ statusId, statusCode }),
39
+ rawStatus: statusCode || text(statusId),
40
+ statusText: text(status.statusText) || null,
41
+ occurredAt: text(status.dateTime) || null,
42
+ eventId: eventId || null,
43
+ source: "push",
44
+ trackingNumber: externalTrackingCode || null,
45
+ extra: {
46
+ statusCode: numberOrUndefined(statusId),
47
+ statusText: text(status.statusText) || undefined,
48
+ },
49
+ };
50
+ }
51
+ const external = objectValue(payload.externalStatus);
52
+ if (external) {
53
+ const id = text(external.id);
54
+ const barcode = text(external.barcode);
55
+ const externalTrackingCode = text(external.externalTrackingCode);
56
+ const eventId = text(webhookEventId) || text(external.eventId);
57
+ if (!id && !barcode && !externalTrackingCode) {
58
+ throw new Error("A Packeta external push eseményből hiányzik a csomagazonosító.");
59
+ }
60
+ // External carrier codes are carrier-specific according to Packeta's official
61
+ // documentation. Preserve them for visibility, but do not guess a canonical
62
+ // DELIVERED/RETURNED state from human-readable text.
63
+ return {
64
+ carrier: "packeta",
65
+ shipmentIdentifiers: [id, barcode, externalTrackingCode].filter(Boolean),
66
+ status: null,
67
+ rawStatus: text(external.externalStatusCode) || text(external.externalStatusId) || null,
68
+ statusText: text(external.externalStatusText) || null,
69
+ occurredAt: text(external.dateTime) || null,
70
+ eventId: eventId || null,
71
+ source: "push-external",
72
+ trackingNumber: externalTrackingCode || null,
73
+ extra: {
74
+ externalStatusCode: text(external.externalStatusCode) || text(external.externalStatusId) || undefined,
75
+ externalStatusText: text(external.externalStatusText) || undefined,
76
+ externalStatusUpdatedAt: text(external.dateTime) || undefined,
77
+ externalCarrierClass: text(external.carrierClass) || undefined,
78
+ },
79
+ };
80
+ }
81
+ throw new Error("Ismeretlen Packeta push tracking esemény.");
82
+ }
83
+ function objectValue(value) {
84
+ return value && typeof value === "object" ? value : null;
85
+ }
86
+ function text(value) {
87
+ return value == null ? "" : String(value).trim();
88
+ }
89
+ function headerText(value) {
90
+ return Array.isArray(value) ? text(value[0]) : text(value);
91
+ }
92
+ function numberOrUndefined(value) {
93
+ const number = Number(value);
94
+ return Number.isFinite(number) ? number : undefined;
95
+ }
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC10cmFja2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcGFja2V0YS9wdXNoLXRyYWNraW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsZ0VBaUJDO0FBRUQsNENBd0VDO0FBakdELDZDQUF5RDtBQUN6RCxrRUFHNEM7QUFFNUMsU0FBZ0IsMEJBQTBCLENBQUMsS0FLMUM7SUFDQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUMxQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzdDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0QsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUUxRSxNQUFNLFFBQVEsR0FBRyxJQUFBLHdCQUFVLEVBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztTQUN2QyxNQUFNLENBQUMsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN0QyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN2QyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFBLDZCQUFlLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ3ZELENBQUM7QUFF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
@@ -9,6 +9,7 @@ exports.normalizePacketaPhone = normalizePacketaPhone;
9
9
  exports.splitStreetAndHouseNumber = splitStreetAndHouseNumber;
10
10
  exports.isExternalCarrierShipment = isExternalCarrierShipment;
11
11
  const store_reference_1 = require("../../core/store-reference");
12
+ const tracking_1 = require("../../lib/modules/shipping/tracking");
12
13
  const client_1 = require("./client");
13
14
  const types_1 = require("./types");
14
15
  class PacketaService {
@@ -106,7 +107,26 @@ class PacketaService {
106
107
  // Keep latest Packeta status if external carrier enrichment is unavailable.
107
108
  }
108
109
  }
109
- return { ...shipment, status: status.codeText || shipment.status, statusCode: status.statusCode, statusText: status.statusText, courierCarrierId, courierCarrierName, trackingNumber, trackingUrl: trackingUrlValue, externalStatusCode, externalStatusText, externalStatusUpdatedAt, externalCarrierClass, statusUpdatedAt: status.dateTime || new Date().toISOString() };
110
+ const canonicalStatus = (0, tracking_1.mapPacketaStatus)({
111
+ statusId: status.statusCode,
112
+ statusCode: status.codeText,
113
+ isReturning: status.isReturning,
114
+ });
115
+ return {
116
+ ...shipment,
117
+ status: canonicalStatus || shipment.status,
118
+ statusCode: status.statusCode,
119
+ statusText: status.statusText,
120
+ courierCarrierId,
121
+ courierCarrierName,
122
+ trackingNumber,
123
+ trackingUrl: trackingUrlValue,
124
+ externalStatusCode,
125
+ externalStatusText,
126
+ externalStatusUpdatedAt,
127
+ externalCarrierClass,
128
+ statusUpdatedAt: status.dateTime || new Date().toISOString(),
129
+ };
110
130
  }
111
131
  async cancelShipment(shipment) {
112
132
  if (!shipment.packetId)
@@ -187,4 +207,4 @@ function numberOr(value, fallback) { const number = Number(value); return Number
187
207
  function optionalNumber(value) { if (value == null || String(value).trim() === "")
188
208
  return undefined; const number = Number(value); return Number.isFinite(number) && number >= 0 ? number : undefined; }
189
209
  exports.packetaService = new PacketaService(loadPacketaConfig());
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcGFja2V0YS9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQThKQSw4Q0FJQztBQUVELG9EQUFxUDtBQUNyUCxrREFBcXRCO0FBQ3J0Qix3Q0FBZ087QUFDaE8sc0RBQTRjO0FBQzVjLDhEQUFrakI7QUFDbGpCLDhEQUEyTDtBQXpLM0wsZ0VBQWlFO0FBQ2pFLHFDQUF3QztBQUN4QyxtQ0FRZ0I7QUF5QmhCLE1BQWEsY0FBYztJQUd6QixZQUFxQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxzQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxZQUFxQixFQUFFLFdBQW9CLEVBQUUsUUFBaUI7UUFDOUUsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQTtJQUM1TSxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzVDLElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLDhCQUFzQixDQUFDLG9DQUFvQyxDQUFDLENBQUE7UUFDckYsSUFBSSxR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
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcGFja2V0YS9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1MQSw4Q0FJQztBQUVELG9EQUFxUDtBQUNyUCxrREFBcXRCO0FBQ3J0Qix3Q0FBZ087QUFDaE8sc0RBQTRjO0FBQzVjLDhEQUFrakI7QUFDbGpCLDhEQUEyTDtBQTlMM0wsZ0VBQWlFO0FBQ2pFLGtFQUFzRTtBQUN0RSxxQ0FBd0M7QUFDeEMsbUNBUWdCO0FBeUJoQixNQUFhLGNBQWM7SUFHekIsWUFBcUIsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksc0JBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsWUFBcUIsRUFBRSxXQUFvQixFQUFFLFFBQWlCO1FBQzlFLE1BQU0sSUFBSSxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUE7SUFDNU0sQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSw4QkFBc0IsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFB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
@@ -1,2 +1,2 @@
1
1
  import type { ExecArgs } from "@medusajs/framework/types";
2
- export default function coreInit({ container, args }: ExecArgs): Promise<void>;
2
+ export default function coreInit({ container, args }: ExecArgs): Promise<boolean>;
@@ -9,7 +9,7 @@ async function coreInit({ container, args }) {
9
9
  const options = parseOptions(args || []);
10
10
  printPlan(options);
11
11
  if (!(await confirm(options)))
12
- return;
12
+ return false;
13
13
  const storeService = container.resolve(utils_1.Modules.STORE);
14
14
  const regionService = container.resolve(utils_1.Modules.REGION);
15
15
  const salesChannelService = container.resolve(utils_1.Modules.SALES_CHANNEL);
@@ -50,6 +50,7 @@ async function coreInit({ container, args }) {
50
50
  console.log("2. Settings → Locations & Shipping: rendeld a fulfillment providereket a locationhöz, majd hozd létre a shipping optionöket.");
51
51
  console.log("3. Settings → API Key Management: készíts publishable API key-t és rendeld a storefront sales channelhöz.");
52
52
  console.log("4. Settings → Integrációk: csak a ténylegesen használt külső szolgáltatásokat konfiguráld és kapcsold be.");
53
+ return true;
53
54
  }
54
55
  function parseOptions(args) {
55
56
  const core = (0, store_config_1.getCoreStoreConfig)(process.env);
@@ -328,4 +329,4 @@ function mergeLocales(current, targets) {
328
329
  }
329
330
  return [...byCode.values()];
330
331
  }
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1pbml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvY29yZS1pbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBd0JBLDJCQW9GQztBQTVHRCxxREFBd0Q7QUFDeEQsK0NBQStEO0FBUS9ELHFEQUE4RTtBQUM5RSx1REFBeUQ7QUFjMUMsS0FBSyxVQUFVLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVk7SUFDbEUsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUV4QyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEIsSUFBSSxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFBRSxPQUFNO0lBRXJDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQXNCLGVBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxRSxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUF1QixlQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDN0UsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUMzQyxlQUFPLENBQUMsYUFBYSxDQUN0QixDQUFBO0lBQ0QsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM1QyxlQUFPLENBQUMsY0FBYyxDQUN2QixDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFBO0lBRTVCLElBQUksS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDOUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxtQkFBbUIsQ0FDNUMsbUJBQW1CLEVBQ25CLEtBQUssQ0FBQyx3QkFBd0IsRUFDOUIsT0FBTyxFQUNQLE9BQU8sQ0FDUixDQUFBO0lBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxhQUFhLENBQ2hD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
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1pbml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvY29yZS1pbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBd0JBLDJCQXNGQztBQTlHRCxxREFBd0Q7QUFDeEQsK0NBQStEO0FBUS9ELHFEQUE4RTtBQUM5RSx1REFBeUQ7QUFjMUMsS0FBSyxVQUFVLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVk7SUFDbEUsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUV4QyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEIsSUFBSSxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUUzQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFzQixlQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUUsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBdUIsZUFBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzdFLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDM0MsZUFBTyxDQUFDLGFBQWEsQ0FDdEIsQ0FBQTtJQUNELE1BQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDNUMsZUFBTyxDQUFDLGNBQWMsQ0FDdkIsQ0FBQTtJQUVELE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQTtJQUU1QixJQUFJLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzlELE1BQU0sWUFBWSxHQUFHLE1BQU0sbUJBQW1CLENBQzVDLG1CQUFtQixFQUNuQixLQUFLLENBQUMsd0JBQXdCLEVBQzlCLE9BQU8sRUFDUCxPQUFPLENBQ1IsQ0FBQTtJQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0s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
@@ -0,0 +1,7 @@
1
+ import type { SubscriberArgs, SubscriberConfig } from "@medusajs/framework";
2
+ type InventoryEventData = {
3
+ id: string;
4
+ };
5
+ export default function backInStockInventoryChanged({ event, container, }: SubscriberArgs<InventoryEventData>): Promise<void>;
6
+ export declare const config: SubscriberConfig;
7
+ export {};
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = backInStockInventoryChanged;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const back_in_stock_1 = require("../core/back-in-stock");
7
+ async function backInStockInventoryChanged({ event, container, }) {
8
+ const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
9
+ try {
10
+ const inventory = container.resolve(utils_1.Modules.INVENTORY);
11
+ const level = await inventory.retrieveInventoryLevel(event.data.id);
12
+ if (!level?.inventory_item_id)
13
+ return;
14
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
15
+ const { data: links } = await query.graph({
16
+ entity: "product_variant_inventory_items",
17
+ fields: ["variant_id"],
18
+ filters: { inventory_item_id: level.inventory_item_id },
19
+ });
20
+ const variantIds = [...new Set(links.map((link) => String(link.variant_id || "")).filter(Boolean))];
21
+ if (!variantIds.length)
22
+ return;
23
+ const { data: variants } = await query.graph({
24
+ entity: "product_variant",
25
+ fields: [
26
+ "id",
27
+ "title",
28
+ "sku",
29
+ "manage_inventory",
30
+ "allow_backorder",
31
+ "metadata",
32
+ "product.id",
33
+ "product.title",
34
+ "product.handle",
35
+ "product.metadata",
36
+ ],
37
+ filters: { id: variantIds },
38
+ });
39
+ const locking = container.resolve("locking");
40
+ for (const variant of variants) {
41
+ try {
42
+ await locking.execute(`back-in-stock:variant:${variant.id}`, () => (0, back_in_stock_1.dispatchBackInStockVariant)({
43
+ container: container,
44
+ query: query,
45
+ variant,
46
+ }), { timeout: 1, expire: 300 });
47
+ }
48
+ catch (error) {
49
+ logger.warn(`[back-in-stock-inventory-changed] ${variant.id}: ${error instanceof Error ? error.message : String(error)}`);
50
+ }
51
+ }
52
+ }
53
+ catch (error) {
54
+ logger.warn(`[back-in-stock-inventory-changed] ${event.data.id}: ${error instanceof Error ? error.message : String(error)}`);
55
+ }
56
+ }
57
+ exports.config = {
58
+ event: [
59
+ utils_1.InventoryEvents.INVENTORY_LEVEL_CREATED,
60
+ utils_1.InventoryEvents.INVENTORY_LEVEL_UPDATED,
61
+ utils_1.InventoryEvents.INVENTORY_LEVEL_RESTORED,
62
+ ],
63
+ context: { subscriberId: "back-in-stock-inventory-changed" },
64
+ };
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay1pbi1zdG9jay1pbnZlbnRvcnktY2hhbmdlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9iYWNrLWluLXN0b2NrLWludmVudG9yeS1jaGFuZ2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLDhDQXdEQztBQXRFRCxxREFBK0Y7QUFDL0YseURBQTJGO0FBYTVFLEtBQUssVUFBVSwyQkFBMkIsQ0FBQyxFQUN4RCxLQUFLLEVBQ0wsU0FBUyxHQUMwQjtJQUNuQyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBc0IsQ0FBQTtJQUV2RixJQUFJLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxTQUFTLENBQWdDLENBQUE7UUFDckYsTUFBTSxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNuRSxJQUFJLENBQUMsS0FBSyxFQUFFLGlCQUFpQjtZQUFFLE9BQU07UUFFckMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQXFCLENBQUE7UUFDcEYsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDeEMsTUFBTSxFQUFFLGlDQUFpQztZQUN6QyxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7WUFDdEIsT0FBTyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixFQUFFO1NBQ3hELENBQUMsQ0FBQTtRQUNGLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbkcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQUUsT0FBTTtRQUU5QixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMzQyxNQUFNLEVBQUUsaUJBQWlCO1lBQ3pCLE1BQU0sRUFBRTtnQkFDTixJQUFJO2dCQUNKLE9BQU87Z0JBQ1AsS0FBSztnQkFDTCxrQkFBa0I7Z0JBQ2xCLGlCQUFpQjtnQkFDakIsVUFBVTtnQkFDVixZQUFZO2dCQUNaLGVBQWU7Z0JBQ2YsZ0JBQWdCO2dCQUNoQixrQkFBa0I7YUFDbkI7WUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFO1NBQzVCLENBQW1DLENBQUE7UUFFcEMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQXVCLENBQUE7UUFDbEUsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUNuQix5QkFBeUIsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUNyQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLDBDQUEwQixFQUFDO29CQUMvQixTQUFTLEVBQUUsU0FBa0I7b0JBQzdCLEtBQUssRUFBRSxLQUFjO29CQUNyQixPQUFPO2lCQUNSLENBQUMsRUFDRixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUM1QixDQUFBO1lBQ0gsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQzNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzlILENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRTtRQUNMLHVCQUFlLENBQUMsdUJBQXVCO1FBQ3ZDLHVCQUFlLENBQUMsdUJBQXVCO1FBQ3ZDLHVCQUFlLENBQUMsd0JBQXdCO0tBQ3pDO0lBQ0QsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLGlDQUFpQyxFQUFFO0NBQzdELENBQUEifQ==
@@ -0,0 +1,8 @@
1
+ export type LinkMigratedCustomerInput = {
2
+ auth_identity_id: string;
3
+ customer_id: string;
4
+ };
5
+ export declare const linkMigratedCustomerWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<LinkMigratedCustomerInput, {
6
+ customer_id: string;
7
+ auth_identity_id: string;
8
+ }, []>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.linkMigratedCustomerWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ exports.linkMigratedCustomerWorkflow = (0, workflows_sdk_1.createWorkflow)("link-migrated-customer", (input) => {
7
+ (0, core_flows_1.setAuthAppMetadataStep)({
8
+ authIdentityId: input.auth_identity_id,
9
+ actorType: "customer",
10
+ value: input.customer_id,
11
+ });
12
+ return new workflows_sdk_1.WorkflowResponse({
13
+ customer_id: input.customer_id,
14
+ auth_identity_id: input.auth_identity_id,
15
+ });
16
+ });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1taWdyYXRlZC1jdXN0b21lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbGluay1taWdyYXRlZC1jdXN0b21lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBb0Y7QUFDcEYsNERBQW9FO0FBT3ZELFFBQUEsNEJBQTRCLEdBQUcsSUFBQSw4QkFBYyxFQUN4RCx3QkFBd0IsRUFDeEIsQ0FBQyxLQUFnQyxFQUFFLEVBQUU7SUFDbkMsSUFBQSxtQ0FBc0IsRUFBQztRQUNyQixjQUFjLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtRQUN0QyxTQUFTLEVBQUUsVUFBVTtRQUNyQixLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVc7S0FDekIsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztRQUM5QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO0tBQ3pDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
package/README.md CHANGED
@@ -11,7 +11,7 @@ npm run core:plugin:typecheck
11
11
  npm run core:plugin:build
12
12
  ```
13
13
 
14
- The current package is being extracted from the verified reference backend. Until the reference-shop gate is enabled, `apps/backend` remains the runtime control application.
14
+ `source/` is the canonical editable implementation. `scripts/prepare-source.mjs` recreates `src/`, and plugin build emits `.medusa/server/`. The thin `apps/backend` reference application loads this package; generated customer backends come from `starters/backend`. Function guides and implementation references are indexed in [the repository documentation](../../docs/README.md). The documentation directory is repository-only and is not included in the published npm package.
15
15
 
16
16
  ## Release rule
17
17
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hszrdm/core",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "description": "Reusable HSZRDM Commerce Core plugin for Medusa v2.",
5
5
  "license": "UNLICENSED",
6
6
  "files": [
@@ -11,6 +11,7 @@
11
11
  "./package.json": "./package.json",
12
12
  "./config": "./.medusa/server/src/localized-config.js",
13
13
  "./cms-contract": "./.medusa/server/src/modules/cms/content-types.js",
14
+ "./modules/*": "./.medusa/server/src/modules/*/index.js",
14
15
  "./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
15
16
  "./providers/*": "./.medusa/server/src/providers/*/index.js",
16
17
  "./scripts/*": "./.medusa/server/src/scripts/*.js",
@@ -35,6 +36,7 @@
35
36
  "build": "npm run prepare:source && medusa plugin:build",
36
37
  "prepack": "npm run build",
37
38
  "typecheck": "npm run prepare:source && tsc --noEmit",
39
+ "test:storefront": "NODE_ENV=test npx jest --config ../../apps/backend/jest.config.js --rootDir ../.. --runInBand --runTestsByPath \"$PWD/source/__tests__/storefront-capability-parity.unit.spec.ts\" \"$PWD/source/__tests__/core-storefront-starter-complete.unit.spec.ts\" \"$PWD/source/__tests__/storefront-starter-contract.unit.spec.ts\" \"$PWD/source/__tests__/customer-cart-resume.unit.spec.ts\"",
38
40
  "dev": "npm run prepare:source && medusa plugin:develop",
39
41
  "publish:local": "npm run build && medusa plugin:publish"
40
42
  },
@@ -76,13 +78,33 @@
76
78
  "react-router-dom": "7.18.2"
77
79
  },
78
80
  "peerDependenciesMeta": {
79
- "@medusajs/admin-sdk": { "optional": true },
80
- "@medusajs/cli": { "optional": true },
81
- "@medusajs/dashboard": { "optional": true },
82
- "@medusajs/ui": { "optional": true },
83
- "react": { "optional": true },
84
- "react-dom": { "optional": true },
85
- "react-router-dom": { "optional": true }
81
+ "@medusajs/admin-sdk": {
82
+ "optional": true
83
+ },
84
+ "@medusajs/cli": {
85
+ "optional": true
86
+ },
87
+ "@medusajs/dashboard": {
88
+ "optional": true
89
+ },
90
+ "@medusajs/framework": {
91
+ "optional": true
92
+ },
93
+ "@medusajs/medusa": {
94
+ "optional": true
95
+ },
96
+ "@medusajs/ui": {
97
+ "optional": true
98
+ },
99
+ "react": {
100
+ "optional": true
101
+ },
102
+ "react-dom": {
103
+ "optional": true
104
+ },
105
+ "react-router-dom": {
106
+ "optional": true
107
+ }
86
108
  },
87
109
  "engines": {
88
110
  "node": "22.x"