@hszrdm/core 1.7.0 → 1.9.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 (233) hide show
  1. package/.medusa/server/src/admin/index.js +6832 -5418
  2. package/.medusa/server/src/admin/index.mjs +6834 -5420
  3. package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.d.ts +2 -0
  4. package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.js +26 -0
  5. package/.medusa/server/src/api/admin/billingo/advance/route.d.ts +8 -0
  6. package/.medusa/server/src/api/admin/billingo/advance/route.js +55 -0
  7. package/.medusa/server/src/api/admin/billingo/partial-credit/route.d.ts +8 -0
  8. package/.medusa/server/src/api/admin/billingo/partial-credit/route.js +69 -0
  9. package/.medusa/server/src/api/admin/documents/[id]/route.d.ts +22 -0
  10. package/.medusa/server/src/api/admin/documents/[id]/route.js +107 -0
  11. package/.medusa/server/src/api/admin/documents/route.d.ts +21 -0
  12. package/.medusa/server/src/api/admin/documents/route.js +117 -0
  13. package/.medusa/server/src/api/admin/google-ads/diagnostics/route.d.ts +2 -0
  14. package/.medusa/server/src/api/admin/google-ads/diagnostics/route.js +26 -0
  15. package/.medusa/server/src/api/admin/google-ads/oauth/start/route.d.ts +2 -0
  16. package/.medusa/server/src/api/admin/google-ads/oauth/start/route.js +27 -0
  17. package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.d.ts +2 -0
  18. package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.js +69 -0
  19. package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.d.ts +2 -0
  20. package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.js +26 -0
  21. package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.d.ts +2 -0
  22. package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.js +25 -0
  23. package/.medusa/server/src/api/admin/integrations/[key]/verify/route.d.ts +2 -0
  24. package/.medusa/server/src/api/admin/integrations/[key]/verify/route.js +79 -0
  25. package/.medusa/server/src/api/admin/orders/[id]/billingo/route.js +10 -1
  26. package/.medusa/server/src/api/admin/orders/[id]/foxpost/create/route.d.ts +3 -5
  27. package/.medusa/server/src/api/admin/orders/[id]/foxpost/create/route.js +7 -14
  28. package/.medusa/server/src/api/admin/orders/[id]/foxpost/label/route.js +12 -6
  29. package/.medusa/server/src/api/admin/orders/[id]/gls/create/route.d.ts +2 -1
  30. package/.medusa/server/src/api/admin/orders/[id]/gls/create/route.js +6 -14
  31. package/.medusa/server/src/api/admin/orders/[id]/gls/label/route.js +9 -4
  32. package/.medusa/server/src/api/admin/orders/[id]/shipping/label/route.js +4 -2
  33. package/.medusa/server/src/api/admin/orders/[id]/shipping/route.d.ts +1 -2
  34. package/.medusa/server/src/api/admin/orders/[id]/shipping/route.js +46 -8
  35. package/.medusa/server/src/api/admin/shipping/bulk/create/route.d.ts +3 -6
  36. package/.medusa/server/src/api/admin/shipping/bulk/create/route.js +6 -57
  37. package/.medusa/server/src/api/admin/shipping/bulk/labels/route.js +4 -2
  38. package/.medusa/server/src/api/admin/shipping/mpl/close/route.d.ts +1 -1
  39. package/.medusa/server/src/api/admin/shipping/mpl/close/route.js +48 -70
  40. package/.medusa/server/src/api/admin/shipping/orders/route.js +19 -4
  41. package/.medusa/server/src/api/auth/google-ads/callback/route.d.ts +2 -0
  42. package/.medusa/server/src/api/auth/google-ads/callback/route.js +58 -0
  43. package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.d.ts +2 -0
  44. package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.js +33 -0
  45. package/.medusa/server/src/api/feeds/google-merchant.xml/route.js +5 -3
  46. package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.d.ts +2 -0
  47. package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.js +211 -0
  48. package/.medusa/server/src/api/hooks/simplepay/ipn/route.js +113 -23
  49. package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.d.ts +2 -0
  50. package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.js +113 -0
  51. package/.medusa/server/src/api/store/arukereso/backlink/route.d.ts +2 -0
  52. package/.medusa/server/src/api/store/arukereso/backlink/route.js +73 -0
  53. package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.d.ts +2 -0
  54. package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.js +84 -0
  55. package/.medusa/server/src/api/store/arukereso/widget/route.d.ts +2 -0
  56. package/.medusa/server/src/api/store/arukereso/widget/route.js +64 -0
  57. package/.medusa/server/src/api/store/cms/entries/[slug]/route.js +3 -2
  58. package/.medusa/server/src/api/store/cms/entries/route.js +3 -2
  59. package/.medusa/server/src/api/store/documents/route.d.ts +2 -0
  60. package/.medusa/server/src/api/store/documents/route.js +84 -0
  61. package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.d.ts +2 -0
  62. package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.js +50 -0
  63. package/.medusa/server/src/config.d.ts +3 -3
  64. package/.medusa/server/src/config.js +70 -87
  65. package/.medusa/server/src/core/documents.d.ts +31 -0
  66. package/.medusa/server/src/core/documents.js +47 -0
  67. package/.medusa/server/src/core/version.d.ts +2 -2
  68. package/.medusa/server/src/core/version.js +2 -2
  69. package/.medusa/server/src/jobs/mpl-status-sync.js +10 -6
  70. package/.medusa/server/src/jobs/shipping-status-sync-eligibility.d.ts +5 -0
  71. package/.medusa/server/src/jobs/shipping-status-sync-eligibility.js +26 -0
  72. package/.medusa/server/src/jobs/shipping-status-sync.d.ts +6 -0
  73. package/.medusa/server/src/jobs/shipping-status-sync.js +63 -28
  74. package/.medusa/server/src/lib/modules/arukereso/index.d.ts +1 -0
  75. package/.medusa/server/src/lib/modules/arukereso/index.js +2 -1
  76. package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.d.ts +19 -0
  77. package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.js +100 -0
  78. package/.medusa/server/src/lib/modules/billingo/actions.js +42 -12
  79. package/.medusa/server/src/lib/modules/billingo/advance.d.ts +68 -0
  80. package/.medusa/server/src/lib/modules/billingo/advance.js +309 -0
  81. package/.medusa/server/src/lib/modules/billingo/automation.js +49 -9
  82. package/.medusa/server/src/lib/modules/billingo/client.d.ts +5 -2
  83. package/.medusa/server/src/lib/modules/billingo/client.js +17 -8
  84. package/.medusa/server/src/lib/modules/billingo/index.d.ts +2 -0
  85. package/.medusa/server/src/lib/modules/billingo/index.js +3 -1
  86. package/.medusa/server/src/lib/modules/billingo/mapper.d.ts +42 -2
  87. package/.medusa/server/src/lib/modules/billingo/mapper.js +77 -4
  88. package/.medusa/server/src/lib/modules/billingo/partial-credit.d.ts +55 -0
  89. package/.medusa/server/src/lib/modules/billingo/partial-credit.js +338 -0
  90. package/.medusa/server/src/lib/modules/billingo/types.d.ts +21 -2
  91. package/.medusa/server/src/lib/modules/google-ads/adjustments.d.ts +21 -0
  92. package/.medusa/server/src/lib/modules/google-ads/adjustments.js +146 -0
  93. package/.medusa/server/src/lib/modules/google-ads/api.d.ts +23 -0
  94. package/.medusa/server/src/lib/modules/google-ads/api.js +171 -0
  95. package/.medusa/server/src/lib/modules/google-ads/diagnostics.d.ts +47 -0
  96. package/.medusa/server/src/lib/modules/google-ads/diagnostics.js +164 -0
  97. package/.medusa/server/src/lib/modules/google-merchant/category-fields.d.ts +7 -0
  98. package/.medusa/server/src/lib/modules/google-merchant/category-fields.js +210 -0
  99. package/.medusa/server/src/lib/modules/google-merchant/data-source.d.ts +17 -0
  100. package/.medusa/server/src/lib/modules/google-merchant/data-source.js +132 -0
  101. package/.medusa/server/src/lib/modules/google-merchant/diagnostics.d.ts +33 -0
  102. package/.medusa/server/src/lib/modules/google-merchant/diagnostics.js +113 -0
  103. package/.medusa/server/src/lib/modules/google-merchant/index.d.ts +5 -0
  104. package/.medusa/server/src/lib/modules/google-merchant/index.js +6 -1
  105. package/.medusa/server/src/lib/modules/google-merchant/merchant-api.d.ts +18 -0
  106. package/.medusa/server/src/lib/modules/google-merchant/merchant-api.js +120 -0
  107. package/.medusa/server/src/lib/modules/google-merchant/shipping.d.ts +13 -0
  108. package/.medusa/server/src/lib/modules/google-merchant/shipping.js +97 -0
  109. package/.medusa/server/src/lib/modules/google-tag-manager/api.d.ts +1 -0
  110. package/.medusa/server/src/lib/modules/google-tag-manager/api.js +3 -0
  111. package/.medusa/server/src/lib/modules/google-tag-manager/index.d.ts +1 -0
  112. package/.medusa/server/src/lib/modules/google-tag-manager/index.js +3 -0
  113. package/.medusa/server/src/lib/modules/google-tag-manager/sync.d.ts +1 -0
  114. package/.medusa/server/src/lib/modules/google-tag-manager/sync.js +3 -0
  115. package/.medusa/server/src/lib/modules/shipping/actions.d.ts +2 -2
  116. package/.medusa/server/src/lib/modules/shipping/actions.js +171 -352
  117. package/.medusa/server/src/lib/modules/shipping/durable-create.d.ts +2 -1
  118. package/.medusa/server/src/lib/modules/shipping/durable-create.js +33 -5
  119. package/.medusa/server/src/lib/modules/shipping/idempotency.js +4 -2
  120. package/.medusa/server/src/lib/modules/shipping/index.d.ts +1 -0
  121. package/.medusa/server/src/lib/modules/shipping/index.js +2 -1
  122. package/.medusa/server/src/lib/modules/shipping/native-fulfillment.d.ts +73 -0
  123. package/.medusa/server/src/lib/modules/shipping/native-fulfillment.js +191 -0
  124. package/.medusa/server/src/lib/modules/shipping/operations.d.ts +28 -0
  125. package/.medusa/server/src/lib/modules/shipping/operations.js +9 -1
  126. package/.medusa/server/src/lib/modules/shipping/print-eligibility.d.ts +12 -0
  127. package/.medusa/server/src/lib/modules/shipping/print-eligibility.js +34 -0
  128. package/.medusa/server/src/lib/modules/shipping/recipient-email.d.ts +18 -0
  129. package/.medusa/server/src/lib/modules/shipping/recipient-email.js +29 -0
  130. package/.medusa/server/src/lib/modules/shipping/resolve.d.ts +9 -0
  131. package/.medusa/server/src/lib/modules/shipping/resolve.js +65 -0
  132. package/.medusa/server/src/lib/modules/shipping/types.d.ts +1 -1
  133. package/.medusa/server/src/modules/core-documents/index.d.ts +38 -0
  134. package/.medusa/server/src/modules/core-documents/index.js +18 -0
  135. package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.d.ts +5 -0
  136. package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.js +22 -0
  137. package/.medusa/server/src/modules/core-documents/models/core-document-assignment.d.ts +9 -0
  138. package/.medusa/server/src/modules/core-documents/models/core-document-assignment.js +18 -0
  139. package/.medusa/server/src/modules/core-documents/models/core-document.d.ts +18 -0
  140. package/.medusa/server/src/modules/core-documents/models/core-document.js +27 -0
  141. package/.medusa/server/src/modules/core-documents/service.d.ts +38 -0
  142. package/.medusa/server/src/modules/core-documents/service.js +13 -0
  143. package/.medusa/server/src/modules/integration-operation/migrations/Migration20261104010000.d.ts +5 -0
  144. package/.medusa/server/src/modules/integration-operation/migrations/Migration20261104010000.js +34 -0
  145. package/.medusa/server/src/modules/integration-operation/models/integration-operation.d.ts +1 -1
  146. package/.medusa/server/src/modules/integration-operation/models/integration-operation.js +2 -2
  147. package/.medusa/server/src/modules/integration-operation/service.d.ts +1 -1
  148. package/.medusa/server/src/modules/integration-operation/state.d.ts +1 -0
  149. package/.medusa/server/src/modules/integration-operation/state.js +11 -50
  150. package/.medusa/server/src/modules/integration-operation/types.d.ts +1 -1
  151. package/.medusa/server/src/modules/integration-settings/arukereso-registration.js +19 -2
  152. package/.medusa/server/src/modules/integration-settings/connection-test.js +20 -4
  153. package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.d.ts +2 -0
  154. package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.js +49 -0
  155. package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.d.ts +1 -0
  156. package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.js +35 -0
  157. package/.medusa/server/src/modules/integration-settings/google-merchant-registration.js +23 -2
  158. package/.medusa/server/src/modules/integration-settings/hot-reload-registration.d.ts +1 -0
  159. package/.medusa/server/src/modules/integration-settings/hot-reload-registration.js +23 -0
  160. package/.medusa/server/src/modules/integration-settings/index.d.ts +4 -0
  161. package/.medusa/server/src/modules/integration-settings/index.js +5 -1
  162. package/.medusa/server/src/modules/integration-settings/manager.js +38 -4
  163. package/.medusa/server/src/modules/integration-settings/registry.js +1 -14
  164. package/.medusa/server/src/modules/integration-settings/reloadable.d.ts +10 -0
  165. package/.medusa/server/src/modules/integration-settings/reloadable.js +58 -0
  166. package/.medusa/server/src/modules/integration-settings/runtime-snapshot.d.ts +9 -0
  167. package/.medusa/server/src/modules/integration-settings/runtime-snapshot.js +48 -3
  168. package/.medusa/server/src/modules/integration-settings/simplepay-registration.d.ts +1 -0
  169. package/.medusa/server/src/modules/integration-settings/simplepay-registration.js +18 -0
  170. package/.medusa/server/src/modules/integration-settings/storefront-public-registration.js +15 -5
  171. package/.medusa/server/src/providers/csomagpiac/client.d.ts +25 -0
  172. package/.medusa/server/src/providers/csomagpiac/client.js +144 -0
  173. package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.d.ts +50 -0
  174. package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.js +248 -0
  175. package/.medusa/server/src/providers/csomagpiac/index.d.ts +7 -0
  176. package/.medusa/server/src/providers/csomagpiac/index.js +30 -0
  177. package/.medusa/server/src/providers/csomagpiac/service.d.ts +60 -0
  178. package/.medusa/server/src/providers/csomagpiac/service.js +296 -0
  179. package/.medusa/server/src/providers/csomagpiac/types.d.ts +66 -0
  180. package/.medusa/server/src/providers/csomagpiac/types.js +27 -0
  181. package/.medusa/server/src/providers/dpd/fulfillment-provider.d.ts +5 -1
  182. package/.medusa/server/src/providers/dpd/fulfillment-provider.js +94 -27
  183. package/.medusa/server/src/providers/dpd/service.d.ts +2 -0
  184. package/.medusa/server/src/providers/dpd/service.js +32 -4
  185. package/.medusa/server/src/providers/dpd/types.d.ts +1 -0
  186. package/.medusa/server/src/providers/dpd/types.js +1 -1
  187. package/.medusa/server/src/providers/email/service.d.ts +7 -6
  188. package/.medusa/server/src/providers/email/service.js +51 -25
  189. package/.medusa/server/src/providers/foxpost/foxpost-service.d.ts +3 -1
  190. package/.medusa/server/src/providers/foxpost/foxpost-service.js +19 -17
  191. package/.medusa/server/src/providers/foxpost/fulfillment-provider.d.ts +10 -3
  192. package/.medusa/server/src/providers/foxpost/fulfillment-provider.js +99 -69
  193. package/.medusa/server/src/providers/foxpost/types.d.ts +1 -0
  194. package/.medusa/server/src/providers/gls/fulfillment-provider.d.ts +4 -0
  195. package/.medusa/server/src/providers/gls/fulfillment-provider.js +87 -17
  196. package/.medusa/server/src/providers/gls/gls-service.d.ts +19 -1
  197. package/.medusa/server/src/providers/gls/gls-service.js +32 -64
  198. package/.medusa/server/src/providers/gls/types.d.ts +16 -0
  199. package/.medusa/server/src/providers/mpl/fulfillment-provider.d.ts +4 -0
  200. package/.medusa/server/src/providers/mpl/fulfillment-provider.js +67 -176
  201. package/.medusa/server/src/providers/mpl/index.d.ts +2 -0
  202. package/.medusa/server/src/providers/mpl/index.js +7 -2
  203. package/.medusa/server/src/providers/mpl/service.d.ts +37 -1
  204. package/.medusa/server/src/providers/mpl/service.js +113 -366
  205. package/.medusa/server/src/providers/mpl/types.d.ts +19 -0
  206. package/.medusa/server/src/providers/mpl/types.js +1 -1
  207. package/.medusa/server/src/providers/packeta/client.d.ts +2 -1
  208. package/.medusa/server/src/providers/packeta/client.js +24 -2
  209. package/.medusa/server/src/providers/packeta/fulfillment-provider.d.ts +4 -0
  210. package/.medusa/server/src/providers/packeta/fulfillment-provider.js +84 -9
  211. package/.medusa/server/src/providers/packeta/point-validation.d.ts +2 -0
  212. package/.medusa/server/src/providers/packeta/point-validation.js +99 -0
  213. package/.medusa/server/src/providers/packeta/service.d.ts +1 -0
  214. package/.medusa/server/src/providers/packeta/service.js +91 -23
  215. package/.medusa/server/src/providers/packeta/types.d.ts +27 -0
  216. package/.medusa/server/src/providers/packeta/types.js +1 -1
  217. package/.medusa/server/src/providers/resilient-stripe/index.d.ts +19 -1
  218. package/.medusa/server/src/providers/resilient-stripe/index.js +59 -12
  219. package/.medusa/server/src/providers/simplepay/config.js +11 -1
  220. package/.medusa/server/src/providers/simplepay/index.d.ts +2 -0
  221. package/.medusa/server/src/providers/simplepay/index.js +5 -3
  222. package/.medusa/server/src/providers/simplepay/runtime-service.d.ts +13 -0
  223. package/.medusa/server/src/providers/simplepay/runtime-service.js +55 -0
  224. package/.medusa/server/src/providers/simplepay/service.d.ts +2 -0
  225. package/.medusa/server/src/providers/simplepay/service.js +40 -5
  226. package/.medusa/server/src/scripts/verify-runtime-modules.d.ts +7 -0
  227. package/.medusa/server/src/scripts/verify-runtime-modules.js +46 -0
  228. package/.medusa/server/src/subscribers/google-ads-order-canceled.d.ts +7 -0
  229. package/.medusa/server/src/subscribers/google-ads-order-canceled.js +50 -0
  230. package/.medusa/server/src/subscribers/google-ads-payment-refunded.d.ts +7 -0
  231. package/.medusa/server/src/subscribers/google-ads-payment-refunded.js +181 -0
  232. package/.medusa/server/src/subscribers/simplepay-paid-order-recovery.js +14 -1
  233. package/package.json +23 -18
@@ -40,6 +40,7 @@ export declare class FoxpostService {
40
40
  returnCode: undefined;
41
41
  returnCreatedAt: undefined;
42
42
  deliveryType: import("./types").FoxpostDeliveryType;
43
+ recipientEmail?: string | null;
43
44
  locker?: FoxpostLocker | null;
44
45
  labelCreatedAt?: string | null;
45
46
  }>;
@@ -48,6 +49,7 @@ export declare class FoxpostService {
48
49
  trackingUrl: string;
49
50
  statusUpdatedAt: string;
50
51
  deliveryType: import("./types").FoxpostDeliveryType;
52
+ recipientEmail?: string | null;
51
53
  locker?: FoxpostLocker | null;
52
54
  packageId?: string | null;
53
55
  trackingNumber?: string | null;
@@ -62,7 +64,7 @@ export declare class FoxpostService {
62
64
  extractShipment(orderOrCart: {
63
65
  metadata?: Record<string, unknown> | null;
64
66
  }): FoxpostShipmentData | null;
65
- private assertLockerExists;
67
+ assertLockerExists(locker: FoxpostLocker, refresh?: boolean): Promise<FoxpostLocker>;
66
68
  }
67
69
  export declare function loadFoxpostConfig(env?: NodeJS.ProcessEnv): FoxpostConfig;
68
70
  export declare const foxpostService: FoxpostService;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.foxpostService = exports.FoxpostService = void 0;
4
4
  exports.loadFoxpostConfig = loadFoxpostConfig;
5
5
  const store_reference_1 = require("../../core/store-reference");
6
+ const reloadable_1 = require("../../modules/integration-settings/reloadable");
6
7
  const api_client_1 = require("./api-client");
7
8
  const errors_1 = require("./errors");
8
9
  const mappers_1 = require("./mappers");
@@ -35,14 +36,11 @@ class FoxpostService {
35
36
  throw new errors_1.FoxpostConflictError("A FOXPOST csomag már korábban létrejött ehhez a rendeléshez.");
36
37
  const deliveryType = (0, validators_1.validateDeliveryType)(existing.deliveryType);
37
38
  const locker = deliveryType === "LOCKER" ? (0, validators_1.validateLocker)(existing.locker) : null;
38
- if (locker)
39
- await this.assertLockerExists(locker);
39
+ const verifiedLocker = locker ? await this.assertLockerExists(locker, true) : null;
40
40
  const address = order.shipping_address;
41
- const barcodeSeed = existing.status === "CANCELLED" && existing.packageId
42
- ? `${order.id}:after:${existing.packageId}`
43
- : order.id;
41
+ const barcodeSeed = existing.status === "CANCELLED" && existing.packageId ? `${order.id}:after:${existing.packageId}` : order.id;
44
42
  const codAmount = positiveAmount(existing.codAmount);
45
- const payload = (0, mappers_1.buildParcelPayload)({ orderId: order.id, displayId: order.display_id, deliveryType, email: String(order.email ?? ""), firstName: String(address?.first_name ?? ""), lastName: String(address?.last_name ?? ""), phone: String(address?.phone ?? ""), countryCode: address?.country_code, postalCode: address?.postal_code, city: address?.city, address1: address?.address_1, address2: address?.address_2, locker, packageSize: (0, validators_1.validatePackageSize)(requestedSize ?? existing.packageSize ?? "M"), codAmount, uniqueBarcodeSeed: barcodeSeed });
43
+ const payload = (0, mappers_1.buildParcelPayload)({ orderId: order.id, displayId: order.display_id, deliveryType, email: String(order.email ?? ""), firstName: String(address?.first_name ?? ""), lastName: String(address?.last_name ?? ""), phone: String(address?.phone ?? ""), countryCode: address?.country_code, postalCode: address?.postal_code, city: address?.city, address1: address?.address_1, address2: address?.address_2, locker: verifiedLocker, packageSize: (0, validators_1.validatePackageSize)(requestedSize ?? existing.packageSize ?? "M"), codAmount, uniqueBarcodeSeed: barcodeSeed });
46
44
  const result = await this.client.createParcel(payload);
47
45
  if (!result.packageId)
48
46
  throw new errors_1.FoxpostValidationError("A FOXPOST nem adott vissza csomagazonosítót.");
@@ -70,21 +68,25 @@ class FoxpostService {
70
68
  const raw = orderOrCart.metadata?.foxpost;
71
69
  return raw && typeof raw === "object" ? raw : null;
72
70
  }
73
- async assertLockerExists(locker) {
74
- const lockers = await this.listLockers();
75
- if (!lockers.some((item) => (locker.operatorId && item.operatorId === locker.operatorId) || (locker.placeId && item.placeId === locker.placeId))) {
76
- throw new errors_1.FoxpostValidationError("A kiválasztott automata már nem elérhető. Kérjük, válassz másikat.");
71
+ async assertLockerExists(locker, refresh = false) {
72
+ // Never trust a browser-supplied locker name/address. Use the provider record.
73
+ // A pre-label lookup must not use the stale-on-error checkout cache.
74
+ const lockers = refresh ? await this.client.listLockers() : await this.listLockers();
75
+ const canonical = lockers.find((item) => (locker.operatorId && item.operatorId === locker.operatorId) ||
76
+ (locker.placeId && item.placeId === locker.placeId));
77
+ if (!canonical ||
78
+ (locker.operatorId && locker.placeId &&
79
+ (canonical.operatorId !== locker.operatorId || canonical.placeId !== locker.placeId))) {
80
+ throw new errors_1.FoxpostValidationError("A kiválasztott FOXPOST automata nem hitelesíthető a szolgáltató listájában.");
77
81
  }
82
+ return (0, validators_1.validateLocker)(canonical);
78
83
  }
79
84
  }
80
85
  exports.FoxpostService = FoxpostService;
81
86
  function loadFoxpostConfig(env = process.env) {
82
87
  const sandbox = env.FOXPOST_SANDBOX !== "false";
83
- return { apiUrl: env.FOXPOST_API_URL || (sandbox ? "https://webapi-test.foxpost.hu" : "https://webapi.foxpost.hu"), lockerFeedUrl: env.FOXPOST_LOCKER_FEED_URL || "https://cdn.foxpost.hu/foxplus.json", username: env.FOXPOST_API_USERNAME, password: env.FOXPOST_API_PASSWORD, apiKey: env.FOXPOST_API_KEY, sandbox, lockerPriceHuf: Number(env.FOXPOST_LOCKER_PRICE_HUF ?? 1290), homeDeliveryPriceHuf: Number(env.FOXPOST_HOME_DELIVERY_PRICE_HUF ?? 1990), freeShippingThresholdHuf: env.FOXPOST_FREE_SHIPPING_THRESHOLD_HUF ? Number(env.FOXPOST_FREE_SHIPPING_THRESHOLD_HUF) : undefined, timeoutMs: Number(env.FOXPOST_TIMEOUT_MS ?? 10000) };
88
+ return { apiUrl: env.FOXPOST_API_URL || (sandbox ? "https://webapi-test.foxpost.hu" : "https://webapi.foxpost.hu"), lockerFeedUrl: env.FOXPOST_LOCKER_FEED_URL || "https://cdn.foxpost.hu/foxplus.json", username: env.FOXPOST_API_USERNAME, password: env.FOXPOST_API_PASSWORD, apiKey: env.FOXPOST_API_KEY, sandbox, lockerPriceHuf: Number(env.FOXPOST_LOCKER_PRICE_HUF ?? 1290), homeDeliveryPriceHuf: Number(env.FOXPOST_HOME_DELIVERY_PRICE_HUF ?? 1990), freeShippingThresholdHuf: env.FOXPOST_FREE_SHIPPING_THRESHOLD_HUF ? Number(env.FOXPOST_FREE_SHIPPING_THRESHOLD_HUF) : undefined, timeoutMs: (() => { const value = Number(env.FOXPOST_TIMEOUT_MS ?? "10000"); return Number.isInteger(value) && value >= 1000 && value <= 120000 ? value : 10000; })() };
84
89
  }
85
- exports.foxpostService = new FoxpostService(loadFoxpostConfig());
86
- function positiveAmount(value) {
87
- const amount = Number(value);
88
- return Number.isFinite(amount) && amount > 0 ? amount : 0;
89
- }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm94cG9zdC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9mb3hwb3N0L2ZveHBvc3Qtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0RUEsOENBR0M7QUEvRUQsZ0VBQWlFO0FBQ2pFLDZDQUErQztBQUMvQyxxQ0FBdUU7QUFDdkUsdUNBQThDO0FBQzlDLDZDQUF3RjtBQUt4RixJQUFJLFdBQVcsR0FBMkQsSUFBSSxDQUFBO0FBQzlFLElBQUksYUFBYSxHQUFvQyxJQUFJLENBQUE7QUFFekQsTUFBYSxjQUFjO0lBRXpCLFlBQXFCLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksNkJBQWdCLENBQUMsTUFBTSxDQUFDLENBQUE7SUFBQyxDQUFDO0lBRTFGLEtBQUssQ0FBQyxXQUFXO1FBQ2YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxTQUFTLEdBQUcsR0FBRztZQUFFLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQTtRQUMxRSxJQUFJLENBQUMsYUFBYTtZQUFFLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxhQUFhLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxXQUFXO2dCQUFFLE9BQU8s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
90
+ exports.foxpostService = (0, reloadable_1.createReloadableIntegrationService)(() => new FoxpostService(loadFoxpostConfig()));
91
+ function positiveAmount(value) { const amount = Number(value); return Number.isFinite(amount) && amount > 0 ? amount : 0; }
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm94cG9zdC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9mb3hwb3N0L2ZveHBvc3Qtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtRkEsOENBR0M7QUF0RkQsZ0VBQWlFO0FBQ2pFLDhFQUFrRztBQUNsRyw2Q0FBK0M7QUFDL0MscUNBQXVFO0FBQ3ZFLHVDQUE4QztBQUM5Qyw2Q0FBd0Y7QUFLeEYsSUFBSSxXQUFXLEdBQTJELElBQUksQ0FBQTtBQUM5RSxJQUFJLGFBQWEsR0FBb0MsSUFBSSxDQUFBO0FBRXpELE1BQWEsY0FBYztJQUV6QixZQUFxQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDZCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQUMsQ0FBQztJQUUxRixLQUFLLENBQUMsV0FBVztRQUNmLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUN0QixJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsU0FBUyxHQUFHLEdBQUc7WUFBRSxPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUE7UUFDMUUsSUFBSSxDQUFDLGFBQWE7WUFBRSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLFdBQVcsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksV0FB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
@@ -3,16 +3,13 @@ import type { CalculatedShippingOptionPrice, CalculateShippingOptionPriceContext
3
3
  import { FoxpostService } from "./foxpost-service";
4
4
  import type { IntegrationOperationStore } from "../../modules/integration-operation/types";
5
5
  type ProviderOptions = Partial<{
6
- api_url: string;
7
6
  api_username: string;
8
7
  api_password: string;
9
8
  api_key: string;
10
- locker_feed_url: string;
11
9
  sandbox: boolean;
12
10
  locker_price_huf: number;
13
11
  home_delivery_price_huf: number;
14
12
  free_shipping_threshold_huf: number;
15
- timeout_ms: number;
16
13
  }>;
17
14
  type InjectedDependencies = {
18
15
  logger?: {
@@ -21,13 +18,22 @@ type InjectedDependencies = {
21
18
  info: (message: string) => void;
22
19
  };
23
20
  integrationOperation?: IntegrationOperationStore;
21
+ order?: {
22
+ retrieveOrder: (id: string) => Promise<{
23
+ email?: string | null;
24
+ metadata?: Record<string, unknown> | null;
25
+ }>;
26
+ };
24
27
  };
28
+ /** Fixed API size; final parcel sizing is determined by FOXPOST. */
29
+ export declare function configuredFoxpostPackageSize(): "XS" | "S" | "M" | "L" | "XL";
25
30
  export default class FoxpostFulfillmentProviderService extends AbstractFulfillmentProviderService {
26
31
  static identifier: string;
27
32
  protected readonly foxpost_: FoxpostService;
28
33
  protected readonly options_: ProviderOptions;
29
34
  protected readonly logger_?: InjectedDependencies["logger"];
30
35
  protected readonly operationStore_?: IntegrationOperationStore;
36
+ protected readonly orderService_?: InjectedDependencies["order"];
31
37
  constructor(container?: InjectedDependencies, options?: ProviderOptions);
32
38
  getFulfillmentOptions(): Promise<FulfillmentOption[]>;
33
39
  validateFulfillmentData(optionData: Record<string, unknown>, data: Record<string, unknown>, context: ValidateFulfillmentDataContext): Promise<Record<string, unknown>>;
@@ -41,5 +47,6 @@ export default class FoxpostFulfillmentProviderService extends AbstractFulfillme
41
47
  retrieveDocuments(_fulfillmentData: Record<string, unknown>, _documentType: string): Promise<void>;
42
48
  getReturnDocuments(_data: Record<string, unknown>): Promise<never[]>;
43
49
  getShipmentDocuments(_data: Record<string, unknown>): Promise<never[]>;
50
+ private createDurableReturn;
44
51
  }
45
52
  export {};
@@ -1,19 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configuredFoxpostPackageSize = configuredFoxpostPackageSize;
3
4
  const utils_1 = require("@medusajs/framework/utils");
4
5
  const errors_1 = require("./errors");
5
6
  const foxpost_service_1 = require("./foxpost-service");
6
7
  const validators_1 = require("./validators");
7
8
  const durable_create_1 = require("../../lib/modules/shipping/durable-create");
8
9
  const idempotency_1 = require("../../lib/modules/shipping/idempotency");
10
+ const state_1 = require("../../modules/integration-operation/state");
11
+ const reloadable_1 = require("../../modules/integration-settings/reloadable");
9
12
  const cod_1 = require("../../lib/modules/cod");
13
+ /** Fixed API size; final parcel sizing is determined by FOXPOST. */
14
+ function configuredFoxpostPackageSize() {
15
+ const configured = (process.env.FOXPOST_PACKAGE_SIZE || "M").trim().toUpperCase();
16
+ try {
17
+ return (0, validators_1.validatePackageSize)(configured);
18
+ }
19
+ catch {
20
+ throw new errors_1.FoxpostConfigError("Érvénytelen FOXPOST_PACKAGE_SIZE. Megengedett: XS, S, M, L, XL; ajánlott: M.");
21
+ }
22
+ }
10
23
  class FoxpostFulfillmentProviderService extends utils_1.AbstractFulfillmentProviderService {
11
24
  constructor(container = {}, options = {}) {
12
25
  super();
13
26
  this.options_ = options;
14
27
  this.logger_ = container.logger;
15
28
  this.operationStore_ = container.integrationOperation;
16
- this.foxpost_ = new foxpost_service_1.FoxpostService(configFromProviderOptions(options));
29
+ this.orderService_ = container.order;
30
+ this.foxpost_ = (0, reloadable_1.createReloadableIntegrationService)(() => new foxpost_service_1.FoxpostService(configFromProviderOptions(options)));
17
31
  }
18
32
  async getFulfillmentOptions() {
19
33
  return [
@@ -27,27 +41,24 @@ class FoxpostFulfillmentProviderService extends utils_1.AbstractFulfillmentProvi
27
41
  const normalizedData = (0, cod_1.normalizeCodShippingData)(data);
28
42
  if (deliveryType === "LOCKER") {
29
43
  validateRecipient(context.shipping_address, context.email);
30
- const locker = (0, validators_1.validateLocker)(selection.locker);
31
- return { ...normalizedData, foxpost: { deliveryType, locker, packageSize: (0, validators_1.validatePackageSize)(selection.packageSize ?? "M"), codAmount: 0, status: "CREATED" } };
44
+ const locker = await this.foxpost_.assertLockerExists((0, validators_1.validateLocker)(selection.locker));
45
+ return { ...normalizedData, foxpost: { deliveryType, recipientEmail: String(context.email).trim(), locker, packageSize: configuredFoxpostPackageSize(), codAmount: 0, status: "CREATED" } };
32
46
  }
33
47
  validateRecipient(context.shipping_address, context.email);
34
48
  validateHomeAddress(context.shipping_address);
35
- return { ...normalizedData, foxpost: { deliveryType, locker: null, packageSize: (0, validators_1.validatePackageSize)(selection.packageSize ?? "M"), codAmount: 0, status: "CREATED" } };
49
+ return { ...normalizedData, foxpost: { deliveryType, recipientEmail: String(context.email).trim(), locker: null, packageSize: configuredFoxpostPackageSize(), codAmount: 0, status: "CREATED" } };
36
50
  }
37
51
  async validateOption(data) {
38
52
  const id = String(data.id ?? "");
39
53
  return id === "foxpost-locker" || id === "foxpost-home" || data.deliveryType === "LOCKER" || data.deliveryType === "HOME";
40
54
  }
41
- async canCalculate(_data) {
42
- return true;
43
- }
55
+ async canCalculate(_data) { return true; }
44
56
  async calculatePrice(optionData, data, context) {
45
57
  const deliveryType = deliveryTypeFromOption(optionData);
46
58
  const subtotal = toNumber(context?.subtotal) ?? 0;
47
59
  const freeThreshold = this.foxpost_.config.freeShippingThresholdHuf;
48
60
  const baseAmount = freeThreshold != null && subtotal >= freeThreshold ? 0 : deliveryType === "LOCKER" ? this.foxpost_.config.lockerPriceHuf : this.foxpost_.config.homeDeliveryPriceHuf;
49
- const amount = (0, cod_1.codShippingPrice)(baseAmount, data, context.currency_code);
50
- return { calculated_amount: amount, is_calculated_price_tax_inclusive: true };
61
+ return { calculated_amount: (0, cod_1.codShippingPrice)(baseAmount, data, context.currency_code), is_calculated_price_tax_inclusive: true };
51
62
  }
52
63
  async createFulfillment(data, _items, order, fulfillment) {
53
64
  if (!this.foxpost_.client.isConfigured())
@@ -55,24 +66,20 @@ class FoxpostFulfillmentProviderService extends utils_1.AbstractFulfillmentProvi
55
66
  const shipmentData = extractShipmentFromData(data, order?.metadata);
56
67
  const codAmount = (0, cod_1.codAmountForFulfillment)(data, order);
57
68
  const orderId = order?.id ?? String(fulfillment.id ?? "unknown");
58
- const virtualOrder = {
59
- id: orderId,
60
- display_id: order?.display_id,
61
- email: order?.email,
62
- shipping_address: order?.shipping_address,
63
- metadata: { ...(order?.metadata ?? {}), foxpost: { ...shipmentData, codAmount } },
64
- };
65
- const shipment = await (0, durable_create_1.runDurableShipmentCreate)({
66
- operationStore: this.operationStore_,
67
- carrier: "foxpost",
68
- orderId,
69
- cancelledExternalId: (0, idempotency_1.cancelledShipmentExternalId)("foxpost", shipmentData),
70
- create: () => this.foxpost_.createShipment(virtualOrder, shipmentData.packageSize ?? "M"),
71
- });
72
- return {
73
- data: { ...data, foxpost: shipment, package_id: shipment.packageId, tracking_number: shipment.trackingNumber, tracking_url: shipment.trackingUrl },
74
- labels: shipment.trackingNumber || shipment.trackingUrl ? [{ tracking_number: shipment.trackingNumber ?? shipment.packageId ?? "", tracking_url: shipment.trackingUrl ?? "", label_url: "" }] : [],
75
- };
69
+ // Medusa's fulfillment workflow may provide a partial order without its
70
+ // email, even though the shipping method originally validated that email.
71
+ // Prefer the order's current address; fall back to the validated snapshot
72
+ // and finally retrieve the canonical order (for older shipping methods).
73
+ const canonicalOrder = await this.orderService_?.retrieveOrder(orderId);
74
+ const storedEmail = String(order?.email ?? shipmentData.recipientEmail ?? "").trim();
75
+ const recipientEmail = storedEmail || String(canonicalOrder?.email ?? "").trim();
76
+ const packageSize = configuredFoxpostPackageSize();
77
+ if (!/^\S+@\S+\.\S+$/.test(recipientEmail)) {
78
+ throw new errors_1.FoxpostValidationError("A FOXPOST csomagfeladáshoz hiányzik a rendelés érvényes e-mail-címe.");
79
+ }
80
+ const virtualOrder = { id: orderId, display_id: order?.display_id, email: recipientEmail, shipping_address: order?.shipping_address, metadata: { ...(order?.metadata ?? {}), foxpost: { ...shipmentData, codAmount } } };
81
+ const shipment = await (0, durable_create_1.runDurableShipmentCreate)({ operationStore: this.operationStore_, carrier: "foxpost", orderId, cancelledExternalId: (0, idempotency_1.cancelledShipmentExternalId)("foxpost", shipmentData), create: () => this.foxpost_.createShipment(virtualOrder, packageSize) });
82
+ return { data: { ...data, foxpost: shipment, package_id: shipment.packageId, tracking_number: shipment.trackingNumber, tracking_url: shipment.trackingUrl }, labels: shipment.trackingNumber || shipment.trackingUrl ? [{ tracking_number: shipment.trackingNumber ?? shipment.packageId ?? "", tracking_url: shipment.trackingUrl ?? "", label_url: "" }] : [] };
76
83
  }
77
84
  async cancelFulfillment(data) {
78
85
  const shipment = extractShipmentFromData(data);
@@ -82,60 +89,83 @@ class FoxpostFulfillmentProviderService extends utils_1.AbstractFulfillmentProvi
82
89
  }
83
90
  async getFulfillmentDocuments(_data) { return []; }
84
91
  async createReturnFulfillment(fulfillment) {
85
- return { data: { ...fulfillment, foxpost_return_unsupported: true }, labels: [] };
92
+ if (!this.foxpost_.client.isConfigured())
93
+ throw new errors_1.FoxpostConfigError();
94
+ const data = fulfillment.data && typeof fulfillment.data === "object" ? fulfillment.data : fulfillment;
95
+ const shipment = extractShipmentFromData(data, fulfillment);
96
+ const orderId = String(fulfillment.order_id ?? fulfillment.orderId ?? fulfillment.id ?? shipment.packageId ?? "unknown");
97
+ const virtualOrder = { id: orderId, display_id: fulfillment.order_id ?? fulfillment.orderId ?? fulfillment.id, metadata: { foxpost: shipment } };
98
+ const returned = await this.createDurableReturn(orderId, virtualOrder);
99
+ return { data: { ...data, foxpost: returned, return_code: returned.returnCode }, labels: [] };
86
100
  }
87
101
  async retrieveDocuments(_fulfillmentData, _documentType) { return; }
88
102
  async getReturnDocuments(_data) { return []; }
89
103
  async getShipmentDocuments(_data) { return []; }
104
+ async createDurableReturn(orderId, order) {
105
+ if (!this.operationStore_) {
106
+ if (process.env.NODE_ENV === "production")
107
+ throw new Error("A durable integration operation store nem érhető el; production környezetben a FOXPOST visszáru biztonsági okból leállt.");
108
+ return this.foxpost_.createReturn(order);
109
+ }
110
+ const sourceShipment = order.metadata.foxpost;
111
+ const sourceExternalId = (0, idempotency_1.shipmentExternalId)("foxpost", sourceShipment) ?? "unassigned";
112
+ const acquired = await (0, state_1.acquireOperation)(this.operationStore_, { provider: "foxpost", operation_type: "shipment.return", entity_type: "order", entity_id: orderId, external_id: sourceExternalId, idempotency_key: `foxpost:shipment:return:${orderId}:${sourceExternalId}`, reference_data: { carrier: "foxpost", action: "return", shipment_external_id: sourceExternalId } });
113
+ if (!acquired.acquired) {
114
+ const saved = acquired.operation.reference_data?.shipment;
115
+ if (acquired.operation.status === "succeeded" && saved && typeof saved === "object")
116
+ return saved;
117
+ if (acquired.operation.status === "needs_reconciliation")
118
+ throw new Error("A korábbi FOXPOST visszáru egyeztetést igényel; nem ismételhető biztonságosan.");
119
+ throw new Error("A FOXPOST visszáru létrehozása már folyamatban van.");
120
+ }
121
+ let remoteSucceeded = false;
122
+ let returned;
123
+ try {
124
+ returned = await this.foxpost_.createReturn(order);
125
+ remoteSucceeded = true;
126
+ const returnExternalId = returned.returnCode ?? sourceExternalId;
127
+ await (0, state_1.operationSucceeded)(this.operationStore_, acquired.operation, String(returnExternalId), { carrier: "foxpost", action: "return", shipment: returned });
128
+ return returned;
129
+ }
130
+ catch (error) {
131
+ try {
132
+ await (0, state_1.operationFailed)(this.operationStore_, acquired.operation, error, remoteSucceeded || (0, durable_create_1.isUncertainRemoteFailure)(error), returned ? String(returned.returnCode ?? sourceExternalId) : sourceExternalId, returned ? { carrier: "foxpost", action: "return", shipment: returned } : undefined);
133
+ }
134
+ catch { }
135
+ throw error;
136
+ }
137
+ }
90
138
  }
91
139
  FoxpostFulfillmentProviderService.identifier = "foxpost";
92
140
  exports.default = FoxpostFulfillmentProviderService;
93
141
  function configFromProviderOptions(options) {
94
142
  const envConfig = (0, foxpost_service_1.loadFoxpostConfig)();
143
+ const has = (name) => Object.prototype.hasOwnProperty.call(process.env, name);
95
144
  return {
96
145
  ...envConfig,
97
- apiUrl: options.api_url || envConfig.apiUrl,
98
- lockerFeedUrl: options.locker_feed_url || envConfig.lockerFeedUrl,
99
- username: options.api_username || envConfig.username,
100
- password: options.api_password || envConfig.password,
101
- apiKey: options.api_key || envConfig.apiKey,
102
- sandbox: typeof options.sandbox === "boolean" ? options.sandbox : envConfig.sandbox,
103
- lockerPriceHuf: numberOption(options.locker_price_huf, envConfig.lockerPriceHuf),
104
- homeDeliveryPriceHuf: numberOption(options.home_delivery_price_huf, envConfig.homeDeliveryPriceHuf),
105
- freeShippingThresholdHuf: options.free_shipping_threshold_huf ?? envConfig.freeShippingThresholdHuf,
106
- timeoutMs: numberOption(options.timeout_ms, envConfig.timeoutMs),
146
+ username: has("FOXPOST_API_USERNAME") ? envConfig.username : options.api_username || envConfig.username,
147
+ password: has("FOXPOST_API_PASSWORD") ? envConfig.password : options.api_password || envConfig.password,
148
+ apiKey: has("FOXPOST_API_KEY") ? envConfig.apiKey : options.api_key || envConfig.apiKey,
149
+ sandbox: has("FOXPOST_SANDBOX") ? envConfig.sandbox : typeof options.sandbox === "boolean" ? options.sandbox : envConfig.sandbox,
150
+ lockerPriceHuf: has("FOXPOST_LOCKER_PRICE_HUF") ? envConfig.lockerPriceHuf : numberOption(options.locker_price_huf, envConfig.lockerPriceHuf),
151
+ homeDeliveryPriceHuf: has("FOXPOST_HOME_DELIVERY_PRICE_HUF") ? envConfig.homeDeliveryPriceHuf : numberOption(options.home_delivery_price_huf, envConfig.homeDeliveryPriceHuf),
152
+ freeShippingThresholdHuf: has("FOXPOST_FREE_SHIPPING_THRESHOLD_HUF") ? envConfig.freeShippingThresholdHuf : options.free_shipping_threshold_huf ?? envConfig.freeShippingThresholdHuf,
107
153
  };
108
154
  }
109
- function deliveryTypeFromOption(optionData) {
110
- const id = String(optionData.id ?? "");
111
- if (id === "foxpost-locker")
112
- return "LOCKER";
113
- if (id === "foxpost-home")
114
- return "HOME";
115
- return (0, validators_1.validateDeliveryType)(optionData.delivery_type ?? optionData.deliveryType);
116
- }
117
- function extractShipmentFromData(...sources) {
118
- for (const source of sources) {
119
- const raw = source?.foxpost;
120
- if (raw && typeof raw === "object")
121
- return raw;
122
- }
123
- throw new errors_1.FoxpostValidationError("A rendelés nem FOXPOST szállítású.");
124
- }
125
- function validateRecipient(address, email) {
126
- if (!/^\S+@\S+\.\S+$/.test(String(email ?? "").trim()))
127
- throw new errors_1.FoxpostValidationError("Érvényes e-mail-cím szükséges a FOXPOST szállításhoz.");
128
- if (![address?.first_name, address?.last_name].some((value) => String(value ?? "").trim()))
129
- throw new errors_1.FoxpostValidationError("Címzettnév szükséges a FOXPOST szállításhoz.");
130
- (0, validators_1.normalizeHungarianPhone)(address?.phone);
131
- }
132
- function validateHomeAddress(address) {
133
- const required = [address?.country_code, address?.postal_code, address?.city, address?.address_1];
134
- if (required.some((value) => !String(value ?? "").trim()))
135
- throw new errors_1.FoxpostValidationError("Hiányos szállítási cím a FOXPOST házhozszállításhoz.");
136
- if (!address?.address_2 && !/\b\d+[\w/.-]*\b/.test(String(address?.address_1 ?? "")))
137
- throw new errors_1.FoxpostValidationError("Házszám szükséges a FOXPOST házhozszállításhoz.");
138
- }
155
+ function deliveryTypeFromOption(optionData) { const id = String(optionData.id ?? ""); if (id === "foxpost-locker")
156
+ return "LOCKER"; if (id === "foxpost-home")
157
+ return "HOME"; return (0, validators_1.validateDeliveryType)(optionData.delivery_type ?? optionData.deliveryType); }
158
+ function extractShipmentFromData(...sources) { for (const source of sources) {
159
+ const raw = source?.foxpost;
160
+ if (raw && typeof raw === "object")
161
+ return raw;
162
+ } throw new errors_1.FoxpostValidationError("A rendelés nem FOXPOST szállítású."); }
163
+ function validateRecipient(address, email) { if (!/^\S+@\S+\.\S+$/.test(String(email ?? "").trim()))
164
+ throw new errors_1.FoxpostValidationError("Érvényes e-mail-cím szükséges a FOXPOST szállításhoz."); if (![address?.first_name, address?.last_name].some((value) => String(value ?? "").trim()))
165
+ throw new errors_1.FoxpostValidationError("Címzettnév szükséges a FOXPOST szállításhoz."); (0, validators_1.normalizeHungarianPhone)(address?.phone); }
166
+ function validateHomeAddress(address) { const required = [address?.country_code, address?.postal_code, address?.city, address?.address_1]; if (required.some((value) => !String(value ?? "").trim()))
167
+ throw new errors_1.FoxpostValidationError("Hiányos szállítási cím a FOXPOST házhozszállításhoz."); if (!address?.address_2 && !/\b\d+[\w/.-]*\b/.test(String(address?.address_1 ?? "")))
168
+ throw new errors_1.FoxpostValidationError("Házszám szükséges a FOXPOST házhozszállításhoz."); }
139
169
  function toNumber(value) { const numeric = Number(value); return Number.isFinite(numeric) ? numeric : null; }
140
170
  function numberOption(value, fallback) { const numeric = Number(value); return Number.isFinite(numeric) ? numeric : fallback; }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2ZveHBvc3QvZnVsZmlsbG1lbnQtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBOEU7QUFZOUUscUNBQXFFO0FBQ3JFLHVEQUFxRTtBQUNyRSw2Q0FBaUg7QUFFakgsOEVBQW9GO0FBQ3BGLHdFQUFvRjtBQUVwRiwrQ0FBMkc7QUFzQjNHLE1BQXFCLGlDQUFrQyxTQUFRLDBDQUFrQztJQVEvRixZQUFZLFlBQWtDLEVBQUUsRUFBRSxVQUEyQixFQUFFO1FBQzdFLEtBQUssRUFBRSxDQUFBO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFBO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLG9CQUFvQixDQUFBO1FBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDeEUsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUI7UUFDekIsT0FBTztZQUNMLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsdUNBQXVDLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFO1lBQ2hKLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUU7U0FDM0gsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQzNCLFVBQW1DLEVBQ25DLElBQTZCLEVBQzdCLE9BQXVDO1FB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
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2ZveHBvc3QvZnVsZmlsbG1lbnQtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF3Q0Esb0VBT0M7QUEvQ0QscURBQThFO0FBWTlFLHFDQUFxRTtBQUNyRSx1REFBcUU7QUFDckUsNkNBQWlIO0FBRWpILDhFQUE4RztBQUM5Ryx3RUFBd0c7QUFFeEcscUVBQWlIO0FBQ2pILDhFQUFrRztBQUNsRywrQ0FBMkc7QUFrQjNHLG9FQUFvRTtBQUNwRSxTQUFnQiw0QkFBNEI7SUFDMUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ2pGLElBQUksQ0FBQztRQUNILE9BQU8sSUFBQSxnQ0FBbUIsRUFBQyxVQUFVLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsTUFBTSxJQUFJLDJCQUFrQixDQUFDLDhFQUE4RSxDQUFDLENBQUE7SUFDOUcsQ0FBQztBQUNILENBQUM7QUFJRCxNQUFxQixpQ0FBa0MsU0FBUSwwQ0FBa0M7SUFTL0YsWUFBWSxZQUFrQyxFQUFFLEVBQUUsVUFBMkIsRUFBRTtRQUM3RSxLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQTtRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQTtRQUNyRCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFBLCtDQUFrQyxFQUNoRCxHQUFHLEVBQUUsQ0FBQyxJ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
@@ -19,6 +19,7 @@ export type FoxpostLocker = {
19
19
  };
20
20
  export type FoxpostShipmentData = {
21
21
  deliveryType: FoxpostDeliveryType;
22
+ recipientEmail?: string | null;
22
23
  locker?: FoxpostLocker | null;
23
24
  packageId?: string | null;
24
25
  trackingNumber?: string | null;
@@ -1,3 +1,4 @@
1
+ import { type RecipientEmailOrderService } from "../../lib/modules/shipping/recipient-email";
1
2
  import { AbstractFulfillmentProviderService } from "@medusajs/framework/utils";
2
3
  import type { CalculatedShippingOptionPrice, CalculateShippingOptionPriceContext, CreateFulfillmentResult, CreateShippingOptionDTO, FulfillmentDTO, FulfillmentItemDTO, FulfillmentOption, FulfillmentOrderDTO, ValidateFulfillmentDataContext } from "@medusajs/framework/types";
3
4
  import { GlsService } from "./gls-service";
@@ -32,6 +33,7 @@ type InjectedDependencies = {
32
33
  info: (message: string) => void;
33
34
  };
34
35
  integrationOperation?: IntegrationOperationStore;
36
+ order?: RecipientEmailOrderService;
35
37
  };
36
38
  export default class GlsFulfillmentProviderService extends AbstractFulfillmentProviderService {
37
39
  static identifier: string;
@@ -39,6 +41,7 @@ export default class GlsFulfillmentProviderService extends AbstractFulfillmentPr
39
41
  protected readonly options_: ProviderOptions;
40
42
  protected readonly logger_?: InjectedDependencies["logger"];
41
43
  protected readonly operationStore_?: IntegrationOperationStore;
44
+ protected readonly orderService_?: RecipientEmailOrderService;
42
45
  constructor(container?: InjectedDependencies, options?: ProviderOptions);
43
46
  getFulfillmentOptions(): Promise<FulfillmentOption[]>;
44
47
  validateFulfillmentData(optionData: Record<string, unknown>, data: Record<string, unknown>, context: ValidateFulfillmentDataContext): Promise<Record<string, unknown>>;
@@ -52,5 +55,6 @@ export default class GlsFulfillmentProviderService extends AbstractFulfillmentPr
52
55
  retrieveDocuments(_fulfillmentData: Record<string, unknown>, _documentType: string): Promise<void>;
53
56
  getReturnDocuments(_data: Record<string, unknown>): Promise<never[]>;
54
57
  getShipmentDocuments(_data: Record<string, unknown>): Promise<never[]>;
58
+ private runDurableMutation;
55
59
  }
56
60
  export {};