@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
@@ -1,14 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const recipient_email_1 = require("../../lib/modules/shipping/recipient-email");
3
4
  const utils_1 = require("@medusajs/framework/utils");
4
5
  const errors_1 = require("./errors");
5
6
  const gls_service_1 = require("./gls-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");
10
13
  class GlsFulfillmentProviderService extends utils_1.AbstractFulfillmentProviderService {
11
- constructor(container = {}, options = {}) { super(); this.options_ = options; this.logger_ = container.logger; this.operationStore_ = container.integrationOperation; this.gls_ = new gls_service_1.GlsService(configFromProviderOptions(options)); }
14
+ constructor(container = {}, options = {}) {
15
+ super();
16
+ this.options_ = options;
17
+ this.logger_ = container.logger;
18
+ this.operationStore_ = container.integrationOperation;
19
+ this.orderService_ = container.order;
20
+ this.gls_ = (0, reloadable_1.createReloadableIntegrationService)(() => new gls_service_1.GlsService(configFromProviderOptions(options)));
21
+ }
12
22
  async getFulfillmentOptions() {
13
23
  return [
14
24
  { id: "gls-point", code: "gls-point", name: "GLS CsomagPont / Automata", delivery_type: "POINT", deliveryType: "POINT" },
@@ -21,41 +31,101 @@ class GlsFulfillmentProviderService extends utils_1.AbstractFulfillmentProviderS
21
31
  const normalizedData = (0, cod_1.normalizeCodShippingData)(data);
22
32
  validateHomeAddress(context.shipping_address, context.email);
23
33
  if (deliveryType === "POINT") {
24
- const deliveryPoint = (0, validators_1.validateGlsDeliveryPoint)(selection.deliveryPoint ?? selection.delivery_point);
25
- return { ...normalizedData, gls: { deliveryType, deliveryPoint, codAmount: 0, status: "CREATED" } };
34
+ const deliveryPoint = await this.gls_.resolveDeliveryPoint((0, validators_1.validateGlsDeliveryPoint)(selection.deliveryPoint ?? selection.delivery_point));
35
+ return { ...normalizedData, gls: { deliveryType, recipientEmail: (0, recipient_email_1.shippingRecipientEmailSnapshot)(context.email), deliveryPoint, codAmount: 0, status: "CREATED" } };
26
36
  }
27
- return { ...normalizedData, gls: { deliveryType, deliveryPoint: null, codAmount: 0, status: "CREATED" } };
37
+ return { ...normalizedData, gls: { deliveryType, recipientEmail: (0, recipient_email_1.shippingRecipientEmailSnapshot)(context.email), deliveryPoint: null, codAmount: 0, status: "CREATED" } };
28
38
  }
29
39
  async validateOption(data) { const id = String(data.id ?? ""); return id === "gls-point" || id === "gls-home" || data.deliveryType === "POINT" || data.deliveryType === "HOME"; }
30
40
  async canCalculate(_data) { return true; }
31
- async calculatePrice(optionData, data, context) {
32
- const deliveryType = deliveryTypeFromOption(optionData);
33
- const subtotal = toNumber(context?.subtotal) ?? 0;
34
- const threshold = this.gls_.config.freeShippingThresholdHuf;
35
- const baseAmount = threshold != null && subtotal >= threshold ? 0 : deliveryType === "POINT" ? this.gls_.config.pointPriceHuf : this.gls_.config.homeDeliveryPriceHuf;
36
- return { calculated_amount: (0, cod_1.codShippingPrice)(baseAmount, data, context.currency_code), is_calculated_price_tax_inclusive: true };
37
- }
41
+ async calculatePrice(optionData, data, context) { const deliveryType = deliveryTypeFromOption(optionData); const subtotal = toNumber(context?.subtotal) ?? 0; const threshold = this.gls_.config.freeShippingThresholdHuf; const baseAmount = threshold != null && subtotal >= threshold ? 0 : deliveryType === "POINT" ? this.gls_.config.pointPriceHuf : this.gls_.config.homeDeliveryPriceHuf; return { calculated_amount: (0, cod_1.codShippingPrice)(baseAmount, data, context.currency_code), is_calculated_price_tax_inclusive: true }; }
38
42
  async createFulfillment(data, _items, order, fulfillment) {
39
43
  if (!this.gls_.client.isConfigured())
40
44
  throw new errors_1.GlsConfigError();
41
45
  const shipmentData = extractShipmentFromData(data, order?.metadata);
42
46
  const codAmount = (0, cod_1.codAmountForFulfillment)(data, order);
43
47
  const orderId = order?.id ?? String(fulfillment.id ?? "unknown");
44
- const virtualOrder = { id: orderId, display_id: order?.display_id, email: order?.email, shipping_address: order?.shipping_address, metadata: { ...(order?.metadata ?? {}), gls: { ...shipmentData, codAmount } } };
48
+ const recipientEmail = await (0, recipient_email_1.resolveShippingRecipientEmail)({
49
+ carrier: "GLS", orderEmail: order?.email,
50
+ snapshotEmail: shipmentData.recipientEmail,
51
+ orderId: order?.id, orderService: this.orderService_,
52
+ });
53
+ const virtualOrder = { id: orderId, display_id: order?.display_id, email: recipientEmail, shipping_address: order?.shipping_address, metadata: { ...(order?.metadata ?? {}), gls: { ...shipmentData, codAmount } } };
45
54
  const shipment = await (0, durable_create_1.runDurableShipmentCreate)({ operationStore: this.operationStore_, carrier: "gls", orderId, cancelledExternalId: (0, idempotency_1.cancelledShipmentExternalId)("gls", shipmentData), create: () => this.gls_.createShipment(virtualOrder) });
46
55
  return { data: { ...data, gls: shipment, parcel_id: shipment.parcelId, parcel_number: shipment.parcelNumber, tracking_url: shipment.trackingUrl }, labels: shipment.parcelNumber ? [{ tracking_number: shipment.parcelNumber, tracking_url: shipment.trackingUrl ?? "", label_url: "" }] : [] };
47
56
  }
48
- async cancelFulfillment(data) { const shipment = extractShipmentFromData(data); if (shipment.parcelId)
49
- await this.gls_.client.deleteParcel(shipment.parcelId); return { ...data, gls: { ...shipment, status: "CANCELLED", statusUpdatedAt: new Date().toISOString() } }; }
57
+ async cancelFulfillment(data) { const shipment = extractShipmentFromData(data); if (!shipment.parcelId || shipment.status === "CANCELLED")
58
+ return { ...data, gls: shipment }; const externalId = shipment.parcelNumber ?? String(shipment.parcelId); const cancelled = await this.runDurableMutation("delete", externalId, async () => { await this.gls_.client.deleteParcel(shipment.parcelId); return { ...shipment, status: "CANCELLED", statusUpdatedAt: new Date().toISOString() }; }); return { ...data, gls: cancelled }; }
50
59
  async getFulfillmentDocuments(_data) { return []; }
51
- async createReturnFulfillment(fulfillment) { return { data: { ...fulfillment, gls_return_unsupported: true }, labels: [] }; }
60
+ async createReturnFulfillment(fulfillment) { if (!this.gls_.client.isConfigured())
61
+ throw new errors_1.GlsConfigError(); const data = fulfillment.data && typeof fulfillment.data === "object" ? fulfillment.data : fulfillment; const shipment = extractShipmentFromData(data, fulfillment); if (!shipment.parcelNumber)
62
+ throw new errors_1.GlsValidationError("A GLS visszáruhoz hiányzik az eredeti csomagszám."); const orderId = String(fulfillment.order_id ?? fulfillment.orderId ?? fulfillment.id ?? shipment.parcelNumber); const virtualOrder = { id: orderId, metadata: { gls: shipment } }; const returned = await this.runDurableMutation("return", shipment.parcelNumber, () => this.gls_.createReturn(virtualOrder), orderId); return { data: { ...data, gls: returned, return_parcel_id: returned.returnParcelId, return_parcel_number: returned.returnParcelNumber }, labels: returned.returnParcelNumber ? [{ tracking_number: returned.returnParcelNumber, tracking_url: "", label_url: "" }] : [] }; }
52
63
  async retrieveDocuments(_fulfillmentData, _documentType) { return; }
53
64
  async getReturnDocuments(_data) { return []; }
54
65
  async getShipmentDocuments(_data) { return []; }
66
+ async runDurableMutation(action, generationId, mutate, entityId = generationId) {
67
+ if (!this.operationStore_) {
68
+ if (process.env.NODE_ENV === "production")
69
+ throw new Error(`A durable integration operation store nem érhető el; production környezetben a GLS ${action === "return" ? "visszáru" : "törlés"} biztonsági okból leállt.`);
70
+ return mutate();
71
+ }
72
+ const acquired = await (0, state_1.acquireOperation)(this.operationStore_, { provider: "gls", operation_type: `shipment.${action}`, entity_type: action === "return" ? "order" : "shipment", entity_id: entityId, idempotency_key: `gls:shipment:${action}:${entityId}:${generationId}`, reference_data: { carrier: "gls", action, generation_id: generationId } });
73
+ if (!acquired.acquired) {
74
+ const saved = acquired.operation.reference_data?.shipment;
75
+ if (acquired.operation.status === "succeeded" && saved && typeof saved === "object")
76
+ return saved;
77
+ if (acquired.operation.status === "needs_reconciliation")
78
+ throw new Error(`A korábbi GLS ${action === "return" ? "visszáru" : "törlés"} egyeztetést igényel; nem ismételhető biztonságosan.`);
79
+ throw new Error(`A GLS ${action === "return" ? "visszáru létrehozása" : "csomagtörlés"} már folyamatban van.`);
80
+ }
81
+ let remoteSucceeded = false;
82
+ let shipment;
83
+ try {
84
+ shipment = await mutate();
85
+ remoteSucceeded = true;
86
+ await (0, state_1.operationSucceeded)(this.operationStore_, acquired.operation, (0, idempotency_1.shipmentExternalId)("gls", shipment), { carrier: "gls", action, generation_id: generationId, shipment: shipment });
87
+ return shipment;
88
+ }
89
+ catch (error) {
90
+ try {
91
+ await (0, state_1.operationFailed)(this.operationStore_, acquired.operation, error, remoteSucceeded || (0, durable_create_1.isUncertainRemoteFailure)(error), shipment ? (0, idempotency_1.shipmentExternalId)("gls", shipment) : undefined, shipment ? { carrier: "gls", action, generation_id: generationId, shipment: shipment } : undefined);
92
+ }
93
+ catch { }
94
+ throw error;
95
+ }
96
+ }
55
97
  }
56
98
  GlsFulfillmentProviderService.identifier = "gls";
57
99
  exports.default = GlsFulfillmentProviderService;
58
- function configFromProviderOptions(options) { const env = (0, gls_service_1.loadGlsConfig)(); return { ...env, apiUrl: options.api_url || env.apiUrl, deliveryPointsUrl: options.delivery_points_url || env.deliveryPointsUrl, username: options.username || env.username, password: options.password || env.password, clientNumber: positiveInteger(options.client_number) ?? env.clientNumber, sandbox: typeof options.sandbox === "boolean" ? options.sandbox : env.sandbox, pointPriceHuf: numberOption(options.point_price_huf, env.pointPriceHuf), homeDeliveryPriceHuf: numberOption(options.home_delivery_price_huf, env.homeDeliveryPriceHuf), freeShippingThresholdHuf: options.free_shipping_threshold_huf ?? env.freeShippingThresholdHuf, timeoutMs: numberOption(options.timeout_ms, env.timeoutMs), printerType: options.printer_type || env.printerType, pickupAddress: { Name: options.pickup_name || env.pickupAddress.Name, Street: options.pickup_street || env.pickupAddress.Street, HouseNumber: options.pickup_house_number || env.pickupAddress.HouseNumber, HouseNumberInfo: options.pickup_house_number_info || env.pickupAddress.HouseNumberInfo, City: options.pickup_city || env.pickupAddress.City, ZipCode: options.pickup_postal_code || env.pickupAddress.ZipCode, CountryIsoCode: options.pickup_country_code || env.pickupAddress.CountryIsoCode, ContactName: options.pickup_contact_name || env.pickupAddress.ContactName, ContactPhone: options.pickup_phone || env.pickupAddress.ContactPhone, ContactEmail: options.pickup_email || env.pickupAddress.ContactEmail } }; }
100
+ function configFromProviderOptions(options) {
101
+ const env = (0, gls_service_1.loadGlsConfig)();
102
+ const has = (name) => process.env[name] != null;
103
+ return { ...env,
104
+ apiUrl: has("GLS_API_URL") ? env.apiUrl : options.api_url || env.apiUrl,
105
+ deliveryPointsUrl: has("GLS_DELIVERY_POINTS_URL") ? env.deliveryPointsUrl : options.delivery_points_url || env.deliveryPointsUrl,
106
+ username: has("GLS_USERNAME") ? env.username : options.username || env.username,
107
+ password: has("GLS_PASSWORD") ? env.password : options.password || env.password,
108
+ clientNumber: has("GLS_CLIENT_NUMBER") ? env.clientNumber : positiveInteger(options.client_number) ?? env.clientNumber,
109
+ sandbox: has("GLS_SANDBOX") ? env.sandbox : (typeof options.sandbox === "boolean" ? options.sandbox : env.sandbox),
110
+ pointPriceHuf: has("GLS_POINT_PRICE_HUF") ? env.pointPriceHuf : numberOption(options.point_price_huf, env.pointPriceHuf),
111
+ homeDeliveryPriceHuf: has("GLS_HOME_DELIVERY_PRICE_HUF") ? env.homeDeliveryPriceHuf : numberOption(options.home_delivery_price_huf, env.homeDeliveryPriceHuf),
112
+ freeShippingThresholdHuf: has("GLS_FREE_SHIPPING_THRESHOLD_HUF") ? env.freeShippingThresholdHuf : options.free_shipping_threshold_huf ?? env.freeShippingThresholdHuf,
113
+ timeoutMs: has("GLS_TIMEOUT_MS") ? env.timeoutMs : numberOption(options.timeout_ms, env.timeoutMs),
114
+ printerType: has("GLS_PRINTER_TYPE") ? env.printerType : options.printer_type || env.printerType,
115
+ pickupAddress: {
116
+ Name: has("GLS_PICKUP_NAME") ? env.pickupAddress.Name : options.pickup_name || env.pickupAddress.Name,
117
+ Street: has("GLS_PICKUP_STREET") ? env.pickupAddress.Street : options.pickup_street || env.pickupAddress.Street,
118
+ HouseNumber: has("GLS_PICKUP_HOUSE_NUMBER") ? env.pickupAddress.HouseNumber : options.pickup_house_number || env.pickupAddress.HouseNumber,
119
+ HouseNumberInfo: has("GLS_PICKUP_HOUSE_NUMBER_INFO") ? env.pickupAddress.HouseNumberInfo : options.pickup_house_number_info || env.pickupAddress.HouseNumberInfo,
120
+ City: has("GLS_PICKUP_CITY") ? env.pickupAddress.City : options.pickup_city || env.pickupAddress.City,
121
+ ZipCode: has("GLS_PICKUP_POSTAL_CODE") ? env.pickupAddress.ZipCode : options.pickup_postal_code || env.pickupAddress.ZipCode,
122
+ CountryIsoCode: has("GLS_PICKUP_COUNTRY_CODE") ? env.pickupAddress.CountryIsoCode : options.pickup_country_code || env.pickupAddress.CountryIsoCode,
123
+ ContactName: has("GLS_PICKUP_CONTACT_NAME") ? env.pickupAddress.ContactName : options.pickup_contact_name || env.pickupAddress.ContactName,
124
+ ContactPhone: has("GLS_PICKUP_PHONE") ? env.pickupAddress.ContactPhone : options.pickup_phone || env.pickupAddress.ContactPhone,
125
+ ContactEmail: has("GLS_PICKUP_EMAIL") ? env.pickupAddress.ContactEmail : options.pickup_email || env.pickupAddress.ContactEmail,
126
+ }
127
+ };
128
+ }
59
129
  function deliveryTypeFromOption(optionData) { const id = String(optionData.id ?? ""); if (id === "gls-point")
60
130
  return "POINT"; if (id === "gls-home")
61
131
  return "HOME"; return (0, validators_1.validateGlsDeliveryType)(optionData.delivery_type ?? optionData.deliveryType); }
@@ -71,4 +141,4 @@ function validateHomeAddress(address, email) { if (!/^\S+@\S+\.\S+$/.test(String
71
141
  function toNumber(value) { const number = Number(value); return Number.isFinite(number) ? number : null; }
72
142
  function numberOption(value, fallback) { const number = Number(value); return Number.isFinite(number) ? number : fallback; }
73
143
  function positiveInteger(value) { const number = Number(value); return Number.isInteger(number) && number > 0 ? number : undefined; }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2dscy9mdWxmaWxsbWVudC1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUE4RTtBQUU5RSxxQ0FBNkQ7QUFDN0QsK0NBQXlEO0FBQ3pELDZDQUFtRztBQUVuRyw4RUFBb0Y7QUFDcEYsd0VBQW9GO0FBRXBGLCtDQUEyRztBQU0zRyxNQUFxQiw2QkFBOEIsU0FBUSwwQ0FBa0M7SUFPM0YsWUFBWSxZQUFrQyxFQUFFLEVBQUUsVUFBMkIsRUFBRSxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSx3QkFBVSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXJRLEtBQUssQ0FBQyxxQkFBcUI7UUFBbUMsT0FBTztZQUNuRSxFQUFFLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUMsMkJBQTJCLEVBQUUsYUFBYSxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsT0FBTyxFQUFFO1lBQ25ILEVBQUUsRUFBRSxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBQyxxQkFBcUIsRUFBRSxhQUFhLEVBQUMsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLEVBQUU7U0FDMUcsQ0FBQTtJQUFDLENBQUM7SUFFSCxLQUFLLENBQUMsdUJBQXVCLENBQUMsVUFBbUMsRUFBRSxJQUE2QixFQUFFLE9BQXVDO1FBQ3ZJLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQThCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUN2RyxNQUFNLGNBQWMsR0FBRyxJQUFBLDhCQUF3QixFQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3JELG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDNUQsSUFBSSxZQUFZLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDN0IsTUFBTSxhQUFhLEdBQUcsSUFBQSxxQ0FBd0IsRUFBQyxTQUFTLENBQUMsYUFBYSxJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUNuRyxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxFQUFDLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBQyxTQUFTLEVBQTRCLEVBQUUsQ0FBQTtRQUM1SCxDQUFDO1FBQ0QsT0FBTyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsRUFBQyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxDQUFDLEVBQUUsTUFBTSxFQUFDLFNBQVMsRUFBNEIsRUFBRSxDQUFBO0lBQ2pJLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLElBQTZCLElBQXNCLE1BQU0sRUFBRSxHQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUcsV0FBVyxJQUFFLEVBQUUsS0FBRyxVQUFVLElBQUUsSUFBSSxDQUFDLFlBQVksS0FBRyxPQUFPLElBQUUsSUFBSSxDQUFDLFlBQVksS0FBRyxNQUFNLENBQUEsQ0FBQyxDQUFDO0lBQ3pNLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBOEIsSUFBc0IsT0FBTyxJQUFJLENBQUEsQ0FBQyxDQUFDO0lBRXBGLEtBQUssQ0FBQyxjQUFjLENBQUMsVUFBbUMsRUFBRSxJQUE2QixFQUFFLE9BQTRDO1FBQ25JLE1BQU0sWUFBWSxHQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQUMsTUFBTSxRQUFRLEdBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBRSxDQUFDLENBQUM7UUFBQyxNQUFNLFNBQVMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQTtRQUMvSixNQUFNLFVBQVUsR0FBQyxTQUFTLElBQUUsSUFBSSxJQUFFLFFBQVEsSUFBRSxTQUFTLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsWUFBWSxLQUFHLE9BQU8sQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQTtRQUNuSixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBQSxzQkFBZ0IsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxpQ0FBaUMsRUFBQyxJQUFJLEVBQUUsQ0FBQTtJQUNqSSxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQTZCLEVBQUUsTUFBeUQsRUFBRSxLQUE2QyxFQUFFLFdBQXVFO1FBQ3RPLElBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFBRSxNQUFNLElBQUksdUJBQWMsRUFBRSxDQUFBO1FBQy9ELE1BQU0sWUFBWSxHQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFBQyxNQUFNLFNBQVMsR0FBQyxJQUFBLDZCQUF1QixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUFDLE1BQU0sT0FBTyxHQUFDLEtBQUssRUFBRSxFQUFFLElBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUUsU0FBUyxDQUFDLENBQUE7UUFDbkwsTUFBTSxZQUFZLEdBQUMsRUFBRSxFQUFFLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsSUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUMsRUFBQyxHQUFHLFlBQVksRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFFLENBQUE7UUFDck0sTUFBTSxRQUFRLEdBQUMsTUFBTSxJQUFBLHlDQUF3QixFQUFDLEVBQUUsY0FBYyxFQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUMsSUFBQSx5Q0FBMkIsRUFBQyxLQUFLLEVBQUUsWUFBa0QsQ0FBQyxFQUFFLE1BQU0sRUFBQyxHQUFFLEVBQUUsQ0FBQSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDN1EsT0FBTyxFQUFFLElBQUksRUFBQyxFQUFDLEdBQUcsSUFBSSxFQUFDLEdBQUcsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUMsYUFBYSxFQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUMsWUFBWSxFQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUMsRUFBRSxNQUFNLEVBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFDLGVBQWUsRUFBQyxRQUFRLENBQUMsWUFBWSxFQUFDLFlBQVksRUFBQyxRQUFRLENBQUMsV0FBVyxJQUFFLEVBQUUsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBRSxFQUFFLENBQUE7SUFDeFEsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUEyQixJQUFrQyxNQUFNLFFBQVEsR0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLElBQUcsUUFBUSxDQUFDLFFBQVE7UUFBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQSxPQUFNLEVBQUMsR0FBRyxJQUFJLEVBQUMsR0FBRyxFQUFDLEVBQUMsR0FBRyxRQUFRLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxlQUFlLEVBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBQyxFQUFDLENBQUEsQ0FBQSxDQUFDO0lBQzVTLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxLQUE0QixJQUFtQixPQUFNLEVBQUUsQ0FBQSxDQUFBLENBQUM7SUFDdEYsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFdBQWtDLElBQW1DLE9BQU0sRUFBQyxJQUFJLEVBQUMsRUFBQyxHQUFHLFdBQVcsRUFBQyxzQkFBc0IsRUFBQyxJQUFJLEVBQUMsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLENBQUEsQ0FBQSxDQUFDO0lBQ3ZLLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBdUMsRUFBQyxhQUFvQixJQUFnQixPQUFNLENBQUEsQ0FBQztJQUMzRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBNEIsSUFBbUIsT0FBTSxFQUFFLENBQUEsQ0FBQSxDQUFDO0lBQ2pGLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxLQUE0QixJQUFtQixPQUFNLEVBQUUsQ0FBQSxDQUFBLENBQUM7O0FBL0M1RSx3Q0FBVSxHQUFHLEtBQUssQ0FBQTtrQkFETiw2QkFBNkI7QUFtRGxELFNBQVMseUJBQXlCLENBQUMsT0FBdUIsSUFBWSxNQUFNLEdBQUcsR0FBQyxJQUFBLDJCQUFhLEdBQUUsQ0FBQyxDQUFBLE9BQU0sRUFBQyxHQUFHLEdBQUcsRUFBQyxNQUFNLEVBQUMsT0FBTyxDQUFDLE9BQU8sSUFBRSxHQUFHLENBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLE9BQU8sQ0FBQyxtQkFBbUIsSUFBRSxHQUFHLENBQUMsaUJBQWlCLEVBQUMsUUFBUSxFQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUUsR0FBRyxDQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsT0FBTyxDQUFDLFFBQVEsSUFBRSxHQUFHLENBQUMsUUFBUSxFQUFDLFlBQVksRUFBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFFLEdBQUcsQ0FBQyxZQUFZLEVBQUMsT0FBTyxFQUFDLE9BQU8sT0FBTyxDQUFDLE9BQU8sS0FBRyxTQUFTLENBQUEsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBQyxvQkFBb0IsRUFBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFDLHdCQUF3QixFQUFDLE9BQU8sQ0FBQywyQkFBMkIsSUFBRSxHQUFHLENBQUMsd0JBQXdCLEVBQUMsU0FBUyxFQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBQyxXQUFXLEVBQUMsT0FBTyxDQUFDLFlBQVksSUFBRSxHQUFHLENBQUMsV0FBVyxFQUFDLGFBQWEsRUFBQyxFQUFDLElBQUksRUFBQyxPQUFPLENBQUMsV0FBVyxJQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxPQUFPLENBQUMsYUFBYSxJQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxPQUFPLENBQUMsbUJBQW1CLElBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUMsZUFBZSxFQUFDLE9BQU8sQ0FBQyx3QkFBd0IsSUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBQyxJQUFJLEVBQUMsT0FBTyxDQUFDLFdBQVcsSUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBQyxPQUFPLEVBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFDLGNBQWMsRUFBQyxPQUFPLENBQUMsbUJBQW1CLElBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUMsV0FBVyxFQUFDLE9BQU8sQ0FBQyxtQkFBbUIsSUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBQyxZQUFZLEVBQUMsT0FBTyxDQUFDLFlBQVksSUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBQyxZQUFZLEVBQUMsT0FBTyxDQUFDLFlBQVksSUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBQyxFQUFDLENBQUEsQ0FBQSxDQUFDO0FBQ3Q3QyxTQUFTLHNCQUFzQixDQUFDLFVBQWlDLElBQWtCLE1BQU0sRUFBRSxHQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFFLEVBQUUsQ0FBZ0IsQ0FBQyxDQUFBLElBQUcsRUFBRSxLQUFHLFdBQVc7SUFBQyxPQUFNLE9BQU8sQ0FBQyxDQUFBLElBQUcsRUFBRSxLQUFHLFVBQVU7SUFBQyxPQUFNLE1BQU0sQ0FBQyxDQUFBLE9BQU8sSUFBQSxvQ0FBdUIsRUFBQyxVQUFVLENBQUMsYUFBYSxJQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQSxDQUFBLENBQUM7QUFDelIsU0FBUyx1QkFBdUIsQ0FBQyxHQUFHLE9BQW9ELElBQWtCLEtBQUksTUFBTSxNQUFNLElBQUksT0FBTyxFQUFDLENBQUM7SUFBQSxNQUFNLEdBQUcsR0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO0lBQUEsSUFBRyxHQUFHLElBQUUsT0FBTyxHQUFHLEtBQUcsUUFBUTtRQUFDLE9BQU8sR0FBc0IsQ0FBQTtBQUFBLENBQUMsQ0FBQSxNQUFNLElBQUksMkJBQWtCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQSxDQUFBLENBQUM7QUFDeFIsU0FBUyxtQkFBbUIsQ0FBQyxPQUEwRCxFQUFDLEtBQWEsSUFBRSxJQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFBQyxNQUFNLElBQUksMkJBQWtCLENBQUMsbURBQW1ELENBQUMsQ0FBQyxDQUFBLE1BQU0sUUFBUSxHQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFBLElBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBQyxFQUFFLENBQUEsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQUMsTUFBTSxJQUFJLDJCQUFrQixDQUFDLDRDQUE0QyxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsT0FBTyxFQUFFLFNBQVMsSUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLElBQUUsRUFBRSxDQUFDLENBQUM7SUFBQyxNQUFNLElBQUksMkJBQWtCLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFBLElBQUEsOEJBQWlCLEVBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBLENBQUEsQ0FBQztBQUM3cEIsU0FBUyxRQUFRLENBQUMsS0FBYSxJQUFFLE1BQU0sTUFBTSxHQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQSxDQUFDO0FBQ3ZHLFNBQVMsWUFBWSxDQUFDLEtBQWEsRUFBQyxRQUFlLElBQUUsTUFBTSxNQUFNLEdBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUMsQ0FBQSxNQUFNLENBQUEsQ0FBQyxDQUFBLFFBQVEsQ0FBQSxDQUFBLENBQUM7QUFDL0gsU0FBUyxlQUFlLENBQUMsS0FBYSxJQUFFLE1BQU0sTUFBTSxHQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBRSxNQUFNLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxNQUFNLENBQUEsQ0FBQyxDQUFBLFNBQVMsQ0FBQSxDQUFBLENBQUMifQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2dscy9mdWxmaWxsbWVudC1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdGQUEySjtBQUMzSixxREFBOEU7QUFFOUUscUNBQTZEO0FBQzdELCtDQUF5RDtBQUN6RCw2Q0FBbUc7QUFFbkcsOEVBQThHO0FBQzlHLHdFQUF3RztBQUN4RyxxRUFBaUg7QUFFakgsOEVBQWtHO0FBQ2xHLCtDQUEyRztBQU0zRyxNQUFxQiw2QkFBOEIsU0FBUSwwQ0FBa0M7SUFPM0YsWUFBWSxZQUFrQyxFQUFFLEVBQUUsVUFBMkIsRUFBRTtRQUM3RSxLQUFLLEVBQUUsQ0FBQztRQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsT0FBTyxDQUFDO1FBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQUMsSUFBSSxDQUFDLGVBQWUsR0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7UUFBQyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFDeEosSUFBSSxDQUFDLElBQUksR0FBQyxJQUFBLCtDQUFrQyxFQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksd0JBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDeEcsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUI7UUFBbUMsT0FBTztZQUNuRSxFQUFFLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUMsMkJBQTJCLEVBQUUsYUFBYSxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsT0FBTyxFQUFFO1lBQ25ILEVBQUUsRUFBRSxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBQyxxQkFBcUIsRUFBRSxhQUFhLEVBQUMs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RUFBQyxJQUFBLHlDQUEyQixFQUFDLEtBQUssRUFBRSxZQUFrRCxDQUFDLEVBQUUsTUFBTSxFQUFDLEdBQUUsRUFBRSxDQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsRUFBQyxHQUFHLElBQUksRUFBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsUUFBUSxFQUFDLGFBQWEsRUFBQyxRQUFRLENBQUMsWUFBWSxFQUFDLFlBQVksRUFBQyxRQUFRLENBQUMsV0FBVyxFQUFDLEVBQUUsTUFBTSxFQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUEsQ0FBQyxDQUFBLENBQUMsRUFBQyxlQUFlLEVBQUMsUUFBUSxDQUFDLFlBQVksRUFBQyxZQUFZLEVBQUMsUUFBUSxDQUFDLFdBQVcsSUFBRSxFQUFFLEVBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsRUFBRSxDQUFBO0lBQzd0QixDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQTJCLElBQW9DLE1BQU0sUUFBUSxHQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxXQUFXO1FBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUyxDQUFDLENB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
@@ -41,6 +41,21 @@ export declare class GlsService {
41
41
  returnParcelId: undefined;
42
42
  returnParcelNumber: undefined;
43
43
  returnCreatedAt: undefined;
44
+ returnContext: {
45
+ displayId: string | number | null | undefined;
46
+ email: string | null | undefined;
47
+ shippingAddress: {
48
+ firstName: string | null | undefined;
49
+ lastName: string | null | undefined;
50
+ phone: string | null | undefined;
51
+ countryCode: string | null | undefined;
52
+ postalCode: string | null | undefined;
53
+ city: string | null | undefined;
54
+ address1: string | null | undefined;
55
+ address2: string | null | undefined;
56
+ };
57
+ };
58
+ recipientEmail?: string | null;
44
59
  deliveryType: import("./types").GlsDeliveryType;
45
60
  statusDescription?: string | null;
46
61
  }>;
@@ -50,6 +65,7 @@ export declare class GlsService {
50
65
  statusDescription: string | null;
51
66
  statusUpdatedAt: string;
52
67
  trackingUrl: string;
68
+ recipientEmail?: string | null;
53
69
  deliveryType: import("./types").GlsDeliveryType;
54
70
  deliveryPoint?: GlsDeliveryPoint | null;
55
71
  parcelId?: number | null;
@@ -60,12 +76,14 @@ export declare class GlsService {
60
76
  returnParcelId?: number | null;
61
77
  returnParcelNumber?: string | null;
62
78
  returnCreatedAt?: string | null;
79
+ returnContext?: import("./types").GlsReturnContext | null;
63
80
  }>;
64
81
  createReturn(order: OrderLike): Promise<GlsShipmentData>;
65
82
  extractShipment(orderOrCart: {
66
83
  metadata?: Record<string, unknown> | null;
67
84
  }): GlsShipmentData | null;
68
- private resolveDeliveryPoint;
85
+ private resolveReturnOrder;
86
+ resolveDeliveryPoint(point: GlsDeliveryPoint, refresh?: boolean): Promise<GlsDeliveryPoint>;
69
87
  }
70
88
  export declare function loadGlsConfig(env?: NodeJS.ProcessEnv): GlsConfig;
71
89
  export declare const glsService: GlsService;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.glsService = exports.GlsService = void 0;
4
4
  exports.loadGlsConfig = loadGlsConfig;
5
+ const reloadable_1 = require("../../modules/integration-settings/reloadable");
5
6
  const api_client_1 = require("./api-client");
6
7
  const errors_1 = require("./errors");
7
8
  const mappers_1 = require("./mappers");
@@ -17,17 +18,12 @@ class GlsService {
17
18
  if (deliveryPointCache && deliveryPointCache.expiresAt > Date.now())
18
19
  return deliveryPointCache.points;
19
20
  if (!deliveryPointPromise) {
20
- deliveryPointPromise = this.client.listDeliveryPoints()
21
- .then((points) => { deliveryPointCache = { points, expiresAt: Date.now() + 45 * 60_000 }; deliveryPointPromise = null; return points; })
22
- .catch((error) => { deliveryPointPromise = null; if (deliveryPointCache)
21
+ deliveryPointPromise = this.client.listDeliveryPoints().then((points) => { deliveryPointCache = { points, expiresAt: Date.now() + 45 * 60_000 }; deliveryPointPromise = null; return points; }).catch((error) => { deliveryPointPromise = null; if (deliveryPointCache)
23
22
  return deliveryPointCache.points; throw error; });
24
23
  }
25
24
  return deliveryPointPromise;
26
25
  }
27
- validateSelection(deliveryType, deliveryPoint) {
28
- const type = (0, validators_1.validateGlsDeliveryType)(deliveryType);
29
- return { deliveryType: type, deliveryPoint: type === "POINT" ? (0, validators_1.validateGlsDeliveryPoint)(deliveryPoint) : null, codAmount: 0, status: "CREATED" };
30
- }
26
+ validateSelection(deliveryType, deliveryPoint) { const type = (0, validators_1.validateGlsDeliveryType)(deliveryType); return { deliveryType: type, deliveryPoint: type === "POINT" ? (0, validators_1.validateGlsDeliveryPoint)(deliveryPoint) : null, codAmount: 0, status: "CREATED" }; }
31
27
  async createShipment(order) {
32
28
  const existing = this.extractShipment(order);
33
29
  if (!existing)
@@ -36,77 +32,49 @@ class GlsService {
36
32
  throw new errors_1.GlsConflictError("A GLS csomag már korábban létrejött ehhez a rendeléshez.");
37
33
  const deliveryType = (0, validators_1.validateGlsDeliveryType)(existing.deliveryType);
38
34
  const requestedDeliveryPoint = deliveryType === "POINT" ? (0, validators_1.validateGlsDeliveryPoint)(existing.deliveryPoint) : null;
39
- const deliveryPoint = requestedDeliveryPoint ? await this.resolveDeliveryPoint(requestedDeliveryPoint) : null;
35
+ const deliveryPoint = requestedDeliveryPoint ? await this.resolveDeliveryPoint(requestedDeliveryPoint, true) : null;
40
36
  const address = order.shipping_address;
41
37
  const codAmount = positiveAmount(existing.codAmount);
42
- const payload = (0, mappers_1.buildGlsParcelPayload)({
43
- orderId: order.id,
44
- displayId: order.display_id,
45
- deliveryType,
46
- email: String(order.email ?? ""),
47
- firstName: String(address?.first_name ?? ""),
48
- lastName: String(address?.last_name ?? ""),
49
- phone: String(address?.phone ?? ""),
50
- countryCode: address?.country_code,
51
- postalCode: address?.postal_code,
52
- city: address?.city,
53
- address1: address?.address_1,
54
- address2: address?.address_2,
55
- deliveryPoint,
56
- pickupAddress: this.config.pickupAddress,
57
- codAmount,
58
- });
38
+ const payload = (0, mappers_1.buildGlsParcelPayload)({ 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, deliveryPoint, pickupAddress: this.config.pickupAddress, codAmount });
59
39
  const result = await this.client.createParcel(payload);
60
40
  const now = new Date().toISOString();
61
- return {
62
- ...existing,
63
- deliveryPoint,
64
- parcelId: result.parcelId,
65
- parcelNumber: result.parcelNumber,
66
- trackingUrl: glsTrackingUrl(result.parcelNumber),
67
- status: "CREATED",
68
- rawStatus: "1",
69
- labelCreatedAt: now,
70
- statusUpdatedAt: now,
71
- codAmount,
72
- apiRequestReference: payload.reference,
73
- returnParcelId: undefined,
74
- returnParcelNumber: undefined,
75
- returnCreatedAt: undefined,
76
- };
77
- }
78
- async refreshStatus(shipment) {
79
- if (!shipment.parcelNumber)
80
- throw new errors_1.GlsValidationError("Hiányzó GLS csomagszám.");
81
- const status = await this.client.getStatus(shipment.parcelNumber);
82
- return { ...shipment, status: status.status, rawStatus: status.rawStatus, statusDescription: status.statusDescription, statusUpdatedAt: status.statusDate ?? new Date().toISOString(), trackingUrl: shipment.trackingUrl ?? glsTrackingUrl(shipment.parcelNumber) };
41
+ return { ...existing, deliveryPoint, parcelId: result.parcelId, parcelNumber: result.parcelNumber, trackingUrl: glsTrackingUrl(result.parcelNumber), status: "CREATED", rawStatus: "1", labelCreatedAt: now, statusUpdatedAt: now, codAmount, apiRequestReference: payload.reference, returnParcelId: undefined, returnParcelNumber: undefined, returnCreatedAt: undefined, returnContext: { displayId: order.display_id, email: order.email, shippingAddress: { firstName: address?.first_name, lastName: address?.last_name, phone: address?.phone, countryCode: address?.country_code, postalCode: address?.postal_code, city: address?.city, address1: address?.address_1, address2: address?.address_2 } } };
83
42
  }
43
+ async refreshStatus(shipment) { if (!shipment.parcelNumber)
44
+ throw new errors_1.GlsValidationError("Hiányzó GLS csomagszám."); const status = await this.client.getStatus(shipment.parcelNumber); return { ...shipment, status: status.status, rawStatus: status.rawStatus, statusDescription: status.statusDescription, statusUpdatedAt: status.statusDate ?? new Date().toISOString(), trackingUrl: shipment.trackingUrl ?? glsTrackingUrl(shipment.parcelNumber) }; }
84
45
  async createReturn(order) {
85
46
  const existing = this.extractShipment(order);
86
47
  if (!existing?.parcelNumber)
87
48
  throw new errors_1.GlsValidationError("A GLS visszáruhoz előbb létre kell hozni az eredeti csomagot.");
88
49
  if (existing.returnParcelId && existing.returnParcelNumber)
89
50
  return existing;
90
- const address = order.shipping_address;
91
- const payload = (0, mappers_1.buildGlsParcelPayload)({ orderId: order.id, displayId: order.display_id, deliveryType: "HOME", 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, deliveryPoint: null, pickupAddress: this.config.pickupAddress, codAmount: 0 });
51
+ const returnOrder = this.resolveReturnOrder(order, existing);
52
+ const address = returnOrder.shipping_address;
53
+ const payload = (0, mappers_1.buildGlsParcelPayload)({ orderId: returnOrder.id, displayId: returnOrder.display_id, deliveryType: "HOME", email: String(returnOrder.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, deliveryPoint: null, pickupAddress: this.config.pickupAddress, codAmount: 0 });
92
54
  const result = await this.client.createReturn(payload);
93
55
  return { ...existing, returnParcelId: result.parcelId, returnParcelNumber: result.parcelNumber, returnCreatedAt: new Date().toISOString() };
94
56
  }
95
- extractShipment(orderOrCart) {
96
- const raw = orderOrCart.metadata?.gls;
97
- if (!raw || typeof raw !== "object")
98
- return null;
99
- const shipment = raw;
100
- if (shipment.status !== "CANCELLED")
101
- return shipment;
102
- return { ...shipment, parcelId: undefined, parcelNumber: undefined };
57
+ extractShipment(orderOrCart) { const raw = orderOrCart.metadata?.gls; if (!raw || typeof raw !== "object")
58
+ return null; const shipment = raw; if (shipment.status !== "CANCELLED")
59
+ return shipment; return { ...shipment, parcelId: undefined, parcelNumber: undefined }; }
60
+ resolveReturnOrder(order, shipment) {
61
+ const address = order.shipping_address;
62
+ if (order.email && address?.phone && address?.postal_code && address?.city && address?.address_1)
63
+ return order;
64
+ const context = shipment.returnContext;
65
+ const saved = context?.shippingAddress;
66
+ if (!context?.email || !saved?.phone || !saved?.postalCode || !saved?.city || !saved?.address1)
67
+ throw new errors_1.GlsValidationError("A GLS visszáruhoz hiányzik az eredeti címzett- és címadat. A régi csomagot kézzel kell kezelni vagy újra létrehozni a friss Core-ral.");
68
+ return { id: order.id, display_id: order.display_id ?? context.displayId, email: order.email ?? context.email, shipping_address: { first_name: saved.firstName, last_name: saved.lastName, phone: saved.phone, country_code: saved.countryCode, postal_code: saved.postalCode, city: saved.city, address_1: saved.address1, address_2: saved.address2 }, metadata: order.metadata };
103
69
  }
104
- async resolveDeliveryPoint(point) {
105
- const points = await this.listDeliveryPoints();
70
+ async resolveDeliveryPoint(point, refresh = false) {
71
+ // The shipment uses the official canonical address, not client-supplied values.
72
+ const points = refresh ? await this.client.listDeliveryPoints() : await this.listDeliveryPoints();
106
73
  const canonical = points.find((candidate) => candidate.id === point.id);
107
- if (!canonical)
108
- throw new errors_1.GlsValidationError("A kiválasztott GLS csomagpont már nem elérhető. Kérjük, válassz másikat.");
109
- return canonical;
74
+ if (!canonical || canonical.countryCode.toUpperCase() !== point.countryCode.toUpperCase()) {
75
+ throw new errors_1.GlsValidationError("A kiválasztott GLS csomagpont nem hitelesíthető a szolgáltató listájában.");
76
+ }
77
+ return (0, validators_1.validateGlsDeliveryPoint)(canonical);
110
78
  }
111
79
  }
112
80
  exports.GlsService = GlsService;
@@ -120,7 +88,7 @@ function loadGlsConfig(env = process.env) {
120
88
  assertEnabledGlsConfig(config);
121
89
  return config;
122
90
  }
123
- exports.glsService = new GlsService(loadGlsConfig());
91
+ exports.glsService = (0, reloadable_1.createReloadableIntegrationService)(() => new GlsService(loadGlsConfig()));
124
92
  function assertEnabledGlsConfig(config) { if (!new api_client_1.GlsApiClient(config).isConfigured())
125
93
  throw new errors_1.GlsConfigError("GLS_ENABLED=true esetén a MyGLS hitelesítés és a teljes feladói/pickup cím + kontakt adatok kötelezők."); const email = String(config.pickupAddress.ContactEmail ?? "").trim(); if (!/^\S+@\S+\.\S+$/.test(email))
126
94
  throw new errors_1.GlsConfigError("GLS_PICKUP_EMAIL érvényes e-mail-cím kell legyen."); }
@@ -128,4 +96,4 @@ function glsTrackingUrl(parcelNumber) { return `https://gls-group.com/HU/hu/csom
128
96
  function numeric(value, fallback) { const result = Number(value); return Number.isFinite(result) ? result : fallback; }
129
97
  function positiveIntegerOrUndefined(value) { const result = Number(value); return Number.isInteger(result) && result > 0 ? result : undefined; }
130
98
  function positiveAmount(value) { const amount = Number(value); return Number.isFinite(amount) && amount > 0 ? amount : 0; }
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xzLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2dscy9nbHMtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEySEEsc0NBUUM7QUFuSUQsNkNBQTJDO0FBQzNDLHFDQUErRTtBQUMvRSx1Q0FBaUQ7QUFDakQsNkNBQWdGO0FBb0JoRixJQUFJLGtCQUFrQixHQUE2RCxJQUFJLENBQUE7QUFDdkYsSUFBSSxvQkFBb0IsR0FBdUMsSUFBSSxDQUFBO0FBRW5FLE1BQWEsVUFBVTtJQUVyQixZQUFxQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHlCQUFZLENBQUMsTUFBTSxDQUFDLENBQUE7SUFBQyxDQUFDO0lBRWxGLEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsSUFBSSxrQkFBa0IsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUFFLE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFBO1FBQ3JHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFCLG9CQUFvQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUU7aUJBQ3BELElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsa0JBQWtCLEdBQUcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQSxDQUFDLENBQUMsQ0FBQztpQkFDdEksS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLGtCQUFrQjtnQkFBRSxPQUFPLGtCQUFrQixDQUFDLE1B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
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xzLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2dscy9nbHMtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5RkEsc0NBUUM7QUFqR0QsOEVBQWtHO0FBQ2xHLDZDQUEyQztBQUMzQyxxQ0FBK0U7QUFDL0UsdUNBQWlEO0FBQ2pELDZDQUFnRjtBQW9CaEYsSUFBSSxrQkFBa0IsR0FBNkQsSUFBSSxDQUFBO0FBQ3ZGLElBQUksb0JBQW9CLEdBQXVDLElBQUksQ0FBQTtBQUVuRSxNQUFhLFVBQVU7SUFFckIsWUFBcUIsTUFBaUI7UUFBakIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSx5QkFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQUMsQ0FBQztJQUVsRixLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLElBQUksa0JBQWtCLElBQUksa0JBQWtCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFBRSxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQTtRQUNyRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUMxQixvQkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxrQkFBa0IsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLGtCQUFrQjtnQkFBRSxPQUFPLGtCQUFr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
@@ -23,7 +23,22 @@ export type GlsAddress = {
23
23
  ContactPhone: string;
24
24
  ContactEmail: string;
25
25
  };
26
+ export type GlsReturnContext = {
27
+ displayId?: string | number | null;
28
+ email?: string | null;
29
+ shippingAddress?: {
30
+ firstName?: string | null;
31
+ lastName?: string | null;
32
+ phone?: string | null;
33
+ countryCode?: string | null;
34
+ postalCode?: string | null;
35
+ city?: string | null;
36
+ address1?: string | null;
37
+ address2?: string | null;
38
+ } | null;
39
+ };
26
40
  export type GlsShipmentData = {
41
+ recipientEmail?: string | null;
27
42
  deliveryType: GlsDeliveryType;
28
43
  deliveryPoint?: GlsDeliveryPoint | null;
29
44
  parcelId?: number | null;
@@ -39,6 +54,7 @@ export type GlsShipmentData = {
39
54
  returnParcelId?: number | null;
40
55
  returnParcelNumber?: string | null;
41
56
  returnCreatedAt?: string | null;
57
+ returnContext?: GlsReturnContext | null;
42
58
  };
43
59
  export type GlsConfig = {
44
60
  apiUrl: string;
@@ -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 { MplService } from "./service";
@@ -40,6 +41,7 @@ type InjectedDependencies = {
40
41
  info: (message: string) => void;
41
42
  };
42
43
  integrationOperation?: IntegrationOperationStore;
44
+ order?: RecipientEmailOrderService;
43
45
  };
44
46
  export default class MplFulfillmentProviderService extends AbstractFulfillmentProviderService {
45
47
  static identifier: string;
@@ -47,6 +49,7 @@ export default class MplFulfillmentProviderService extends AbstractFulfillmentPr
47
49
  protected readonly options_: ProviderOptions;
48
50
  protected readonly logger_?: InjectedDependencies["logger"];
49
51
  protected readonly operationStore_?: IntegrationOperationStore;
52
+ protected readonly orderService_?: RecipientEmailOrderService;
50
53
  constructor(container?: InjectedDependencies, options?: ProviderOptions);
51
54
  getFulfillmentOptions(): Promise<FulfillmentOption[]>;
52
55
  validateFulfillmentData(optionData: Record<string, unknown>, data: Record<string, unknown>, context: ValidateFulfillmentDataContext): Promise<Record<string, unknown>>;
@@ -60,5 +63,6 @@ export default class MplFulfillmentProviderService extends AbstractFulfillmentPr
60
63
  retrieveDocuments(_fulfillmentData: Record<string, unknown>, _documentType: string): Promise<void>;
61
64
  getReturnDocuments(_data: Record<string, unknown>): Promise<never[]>;
62
65
  getShipmentDocuments(_data: Record<string, unknown>): Promise<never[]>;
66
+ private runDurableMutation;
63
67
  }
64
68
  export {};