@hszrdm/core 1.7.0 → 1.8.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 (183) hide show
  1. package/.medusa/server/src/admin/index.js +6223 -4784
  2. package/.medusa/server/src/admin/index.mjs +6224 -4785
  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/orders/[id]/shipping/route.js +28 -28
  24. package/.medusa/server/src/api/admin/shipping/mpl/close/route.d.ts +1 -1
  25. package/.medusa/server/src/api/admin/shipping/mpl/close/route.js +48 -70
  26. package/.medusa/server/src/api/auth/google-ads/callback/route.d.ts +2 -0
  27. package/.medusa/server/src/api/auth/google-ads/callback/route.js +58 -0
  28. package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.d.ts +2 -0
  29. package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.js +33 -0
  30. package/.medusa/server/src/api/feeds/google-merchant.xml/route.js +5 -3
  31. package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.d.ts +2 -0
  32. package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.js +211 -0
  33. package/.medusa/server/src/api/hooks/simplepay/ipn/route.js +113 -23
  34. package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.d.ts +2 -0
  35. package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.js +113 -0
  36. package/.medusa/server/src/api/store/arukereso/backlink/route.d.ts +2 -0
  37. package/.medusa/server/src/api/store/arukereso/backlink/route.js +73 -0
  38. package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.d.ts +2 -0
  39. package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.js +84 -0
  40. package/.medusa/server/src/api/store/arukereso/widget/route.d.ts +2 -0
  41. package/.medusa/server/src/api/store/arukereso/widget/route.js +64 -0
  42. package/.medusa/server/src/api/store/documents/route.d.ts +2 -0
  43. package/.medusa/server/src/api/store/documents/route.js +84 -0
  44. package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.d.ts +2 -0
  45. package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.js +50 -0
  46. package/.medusa/server/src/config.d.ts +3 -3
  47. package/.medusa/server/src/config.js +64 -87
  48. package/.medusa/server/src/core/documents.d.ts +31 -0
  49. package/.medusa/server/src/core/documents.js +47 -0
  50. package/.medusa/server/src/core/version.d.ts +2 -2
  51. package/.medusa/server/src/core/version.js +2 -2
  52. package/.medusa/server/src/lib/modules/arukereso/index.d.ts +1 -0
  53. package/.medusa/server/src/lib/modules/arukereso/index.js +2 -1
  54. package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.d.ts +19 -0
  55. package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.js +100 -0
  56. package/.medusa/server/src/lib/modules/billingo/actions.js +42 -12
  57. package/.medusa/server/src/lib/modules/billingo/advance.d.ts +68 -0
  58. package/.medusa/server/src/lib/modules/billingo/advance.js +309 -0
  59. package/.medusa/server/src/lib/modules/billingo/automation.js +49 -9
  60. package/.medusa/server/src/lib/modules/billingo/client.d.ts +5 -1
  61. package/.medusa/server/src/lib/modules/billingo/client.js +12 -6
  62. package/.medusa/server/src/lib/modules/billingo/index.d.ts +2 -0
  63. package/.medusa/server/src/lib/modules/billingo/index.js +3 -1
  64. package/.medusa/server/src/lib/modules/billingo/mapper.d.ts +38 -1
  65. package/.medusa/server/src/lib/modules/billingo/mapper.js +32 -1
  66. package/.medusa/server/src/lib/modules/billingo/partial-credit.d.ts +55 -0
  67. package/.medusa/server/src/lib/modules/billingo/partial-credit.js +338 -0
  68. package/.medusa/server/src/lib/modules/billingo/types.d.ts +7 -2
  69. package/.medusa/server/src/lib/modules/google-ads/adjustments.d.ts +21 -0
  70. package/.medusa/server/src/lib/modules/google-ads/adjustments.js +146 -0
  71. package/.medusa/server/src/lib/modules/google-ads/api.d.ts +23 -0
  72. package/.medusa/server/src/lib/modules/google-ads/api.js +171 -0
  73. package/.medusa/server/src/lib/modules/google-ads/diagnostics.d.ts +47 -0
  74. package/.medusa/server/src/lib/modules/google-ads/diagnostics.js +164 -0
  75. package/.medusa/server/src/lib/modules/google-merchant/category-fields.d.ts +7 -0
  76. package/.medusa/server/src/lib/modules/google-merchant/category-fields.js +210 -0
  77. package/.medusa/server/src/lib/modules/google-merchant/data-source.d.ts +17 -0
  78. package/.medusa/server/src/lib/modules/google-merchant/data-source.js +132 -0
  79. package/.medusa/server/src/lib/modules/google-merchant/diagnostics.d.ts +33 -0
  80. package/.medusa/server/src/lib/modules/google-merchant/diagnostics.js +113 -0
  81. package/.medusa/server/src/lib/modules/google-merchant/index.d.ts +5 -0
  82. package/.medusa/server/src/lib/modules/google-merchant/index.js +6 -1
  83. package/.medusa/server/src/lib/modules/google-merchant/merchant-api.d.ts +18 -0
  84. package/.medusa/server/src/lib/modules/google-merchant/merchant-api.js +120 -0
  85. package/.medusa/server/src/lib/modules/google-merchant/shipping.d.ts +13 -0
  86. package/.medusa/server/src/lib/modules/google-merchant/shipping.js +97 -0
  87. package/.medusa/server/src/lib/modules/google-tag-manager/api.d.ts +1 -0
  88. package/.medusa/server/src/lib/modules/google-tag-manager/api.js +3 -0
  89. package/.medusa/server/src/lib/modules/google-tag-manager/index.d.ts +1 -0
  90. package/.medusa/server/src/lib/modules/google-tag-manager/index.js +3 -0
  91. package/.medusa/server/src/lib/modules/google-tag-manager/sync.d.ts +1 -0
  92. package/.medusa/server/src/lib/modules/google-tag-manager/sync.js +3 -0
  93. package/.medusa/server/src/lib/modules/shipping/actions.js +163 -352
  94. package/.medusa/server/src/lib/modules/shipping/durable-create.d.ts +2 -1
  95. package/.medusa/server/src/lib/modules/shipping/durable-create.js +33 -5
  96. package/.medusa/server/src/lib/modules/shipping/idempotency.js +4 -2
  97. package/.medusa/server/src/lib/modules/shipping/types.d.ts +1 -1
  98. package/.medusa/server/src/modules/core-documents/index.d.ts +38 -0
  99. package/.medusa/server/src/modules/core-documents/index.js +18 -0
  100. package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.d.ts +5 -0
  101. package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.js +22 -0
  102. package/.medusa/server/src/modules/core-documents/models/core-document-assignment.d.ts +9 -0
  103. package/.medusa/server/src/modules/core-documents/models/core-document-assignment.js +18 -0
  104. package/.medusa/server/src/modules/core-documents/models/core-document.d.ts +18 -0
  105. package/.medusa/server/src/modules/core-documents/models/core-document.js +27 -0
  106. package/.medusa/server/src/modules/core-documents/service.d.ts +38 -0
  107. package/.medusa/server/src/modules/core-documents/service.js +13 -0
  108. package/.medusa/server/src/modules/integration-operation/state.d.ts +1 -0
  109. package/.medusa/server/src/modules/integration-operation/state.js +11 -50
  110. package/.medusa/server/src/modules/integration-operation/types.d.ts +1 -1
  111. package/.medusa/server/src/modules/integration-settings/arukereso-registration.js +19 -2
  112. package/.medusa/server/src/modules/integration-settings/connection-test.js +14 -1
  113. package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.d.ts +2 -0
  114. package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.js +49 -0
  115. package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.d.ts +1 -0
  116. package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.js +35 -0
  117. package/.medusa/server/src/modules/integration-settings/google-merchant-registration.js +23 -2
  118. package/.medusa/server/src/modules/integration-settings/hot-reload-registration.d.ts +1 -0
  119. package/.medusa/server/src/modules/integration-settings/hot-reload-registration.js +23 -0
  120. package/.medusa/server/src/modules/integration-settings/index.d.ts +4 -0
  121. package/.medusa/server/src/modules/integration-settings/index.js +5 -1
  122. package/.medusa/server/src/modules/integration-settings/manager.js +38 -4
  123. package/.medusa/server/src/modules/integration-settings/reloadable.d.ts +10 -0
  124. package/.medusa/server/src/modules/integration-settings/reloadable.js +58 -0
  125. package/.medusa/server/src/modules/integration-settings/runtime-snapshot.d.ts +9 -0
  126. package/.medusa/server/src/modules/integration-settings/runtime-snapshot.js +48 -3
  127. package/.medusa/server/src/modules/integration-settings/simplepay-registration.d.ts +1 -0
  128. package/.medusa/server/src/modules/integration-settings/simplepay-registration.js +18 -0
  129. package/.medusa/server/src/modules/integration-settings/storefront-public-registration.js +15 -5
  130. package/.medusa/server/src/providers/csomagpiac/client.d.ts +25 -0
  131. package/.medusa/server/src/providers/csomagpiac/client.js +144 -0
  132. package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.d.ts +45 -0
  133. package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.js +221 -0
  134. package/.medusa/server/src/providers/csomagpiac/index.d.ts +7 -0
  135. package/.medusa/server/src/providers/csomagpiac/index.js +30 -0
  136. package/.medusa/server/src/providers/csomagpiac/service.d.ts +46 -0
  137. package/.medusa/server/src/providers/csomagpiac/service.js +226 -0
  138. package/.medusa/server/src/providers/csomagpiac/types.d.ts +65 -0
  139. package/.medusa/server/src/providers/csomagpiac/types.js +27 -0
  140. package/.medusa/server/src/providers/dpd/fulfillment-provider.d.ts +2 -1
  141. package/.medusa/server/src/providers/dpd/fulfillment-provider.js +83 -25
  142. package/.medusa/server/src/providers/dpd/service.js +5 -3
  143. package/.medusa/server/src/providers/email/service.d.ts +7 -6
  144. package/.medusa/server/src/providers/email/service.js +51 -25
  145. package/.medusa/server/src/providers/foxpost/foxpost-service.js +5 -9
  146. package/.medusa/server/src/providers/foxpost/fulfillment-provider.d.ts +1 -0
  147. package/.medusa/server/src/providers/foxpost/fulfillment-provider.js +76 -66
  148. package/.medusa/server/src/providers/gls/fulfillment-provider.d.ts +1 -0
  149. package/.medusa/server/src/providers/gls/fulfillment-provider.js +76 -13
  150. package/.medusa/server/src/providers/gls/gls-service.d.ts +16 -0
  151. package/.medusa/server/src/providers/gls/gls-service.js +26 -65
  152. package/.medusa/server/src/providers/gls/types.d.ts +15 -0
  153. package/.medusa/server/src/providers/mpl/fulfillment-provider.d.ts +1 -0
  154. package/.medusa/server/src/providers/mpl/fulfillment-provider.js +61 -186
  155. package/.medusa/server/src/providers/mpl/index.d.ts +2 -0
  156. package/.medusa/server/src/providers/mpl/index.js +7 -2
  157. package/.medusa/server/src/providers/mpl/service.d.ts +35 -1
  158. package/.medusa/server/src/providers/mpl/service.js +82 -370
  159. package/.medusa/server/src/providers/mpl/types.d.ts +18 -0
  160. package/.medusa/server/src/providers/mpl/types.js +1 -1
  161. package/.medusa/server/src/providers/packeta/client.d.ts +2 -1
  162. package/.medusa/server/src/providers/packeta/client.js +24 -2
  163. package/.medusa/server/src/providers/packeta/fulfillment-provider.d.ts +1 -0
  164. package/.medusa/server/src/providers/packeta/fulfillment-provider.js +73 -5
  165. package/.medusa/server/src/providers/packeta/service.d.ts +1 -0
  166. package/.medusa/server/src/providers/packeta/service.js +85 -22
  167. package/.medusa/server/src/providers/packeta/types.d.ts +26 -0
  168. package/.medusa/server/src/providers/packeta/types.js +1 -1
  169. package/.medusa/server/src/providers/resilient-stripe/index.d.ts +19 -1
  170. package/.medusa/server/src/providers/resilient-stripe/index.js +55 -3
  171. package/.medusa/server/src/providers/simplepay/config.js +11 -1
  172. package/.medusa/server/src/providers/simplepay/index.d.ts +2 -0
  173. package/.medusa/server/src/providers/simplepay/index.js +5 -3
  174. package/.medusa/server/src/providers/simplepay/runtime-service.d.ts +13 -0
  175. package/.medusa/server/src/providers/simplepay/runtime-service.js +55 -0
  176. package/.medusa/server/src/providers/simplepay/service.d.ts +2 -0
  177. package/.medusa/server/src/providers/simplepay/service.js +40 -5
  178. package/.medusa/server/src/subscribers/google-ads-order-canceled.d.ts +7 -0
  179. package/.medusa/server/src/subscribers/google-ads-order-canceled.js +50 -0
  180. package/.medusa/server/src/subscribers/google-ads-payment-refunded.d.ts +7 -0
  181. package/.medusa/server/src/subscribers/google-ads-payment-refunded.js +181 -0
  182. package/.medusa/server/src/subscribers/simplepay-paid-order-recovery.js +14 -1
  183. package/package.json +6 -2
@@ -8,9 +8,9 @@ const runtime_snapshot_1 = require("./modules/integration-settings/runtime-snaps
8
8
  /**
9
9
  * Build the Medusa application config for an HSZRDM Commerce backend.
10
10
  *
11
- * The generated application only needs to load its .env file and call this
12
- * helper. Shared modules, providers and Core plugin resources remain owned by
13
- * @hszrdm/core; project-specific customizations stay in the host application.
11
+ * Runtime-configurable providers are registered even when they are not yet
12
+ * configured. Admin -> Integrációk can therefore enable/rotate them without
13
+ * rebuilding the Medusa module graph or restarting the backend.
14
14
  */
15
15
  function createHszrdmCommerceConfig(options = {}) {
16
16
  (0, runtime_snapshot_1.applyIntegrationRuntimeSnapshot)(process.env);
@@ -73,14 +73,8 @@ function createHszrdmCommerceConfig(options = {}) {
73
73
  ],
74
74
  },
75
75
  };
76
- // Module providers are not auto-registered by Medusa plugins. Keeping this
77
- // registration in one builder means generated apps do not need to know Core
78
- // internals or provider paths.
79
76
  const fulfillmentProviders = [
80
- {
81
- resolve: "@medusajs/medusa/fulfillment-manual",
82
- id: "manual",
83
- },
77
+ { resolve: "@medusajs/medusa/fulfillment-manual", id: "manual" },
84
78
  {
85
79
  resolve: "@hszrdm/core/providers/foxpost",
86
80
  id: "foxpost",
@@ -90,9 +84,7 @@ function createHszrdmCommerceConfig(options = {}) {
90
84
  api_password: process.env.FOXPOST_API_PASSWORD,
91
85
  api_key: process.env.FOXPOST_API_KEY,
92
86
  locker_feed_url: process.env.FOXPOST_LOCKER_FEED_URL,
93
- sandbox: process.env.FOXPOST_SANDBOX == null
94
- ? undefined
95
- : process.env.FOXPOST_SANDBOX === "true",
87
+ sandbox: process.env.FOXPOST_SANDBOX == null ? undefined : process.env.FOXPOST_SANDBOX === "true",
96
88
  locker_price_huf: numberOrUndefined(process.env.FOXPOST_LOCKER_PRICE_HUF),
97
89
  home_delivery_price_huf: numberOrUndefined(process.env.FOXPOST_HOME_DELIVERY_PRICE_HUF),
98
90
  free_shipping_threshold_huf: numberOrUndefined(process.env.FOXPOST_FREE_SHIPPING_THRESHOLD_HUF),
@@ -201,52 +193,51 @@ function createHszrdmCommerceConfig(options = {}) {
201
193
  tracking_language: process.env.MPL_TRACKING_LANGUAGE,
202
194
  },
203
195
  },
196
+ {
197
+ resolve: "@hszrdm/core/providers/csomagpiac",
198
+ id: "csomagpiac",
199
+ options: {
200
+ api_url: process.env.CSOMAGPIAC_API_URL,
201
+ token: process.env.CSOMAGPIAC_TOKEN,
202
+ username: process.env.CSOMAGPIAC_USERNAME,
203
+ password: process.env.CSOMAGPIAC_PASSWORD,
204
+ live: process.env.CSOMAGPIAC_LIVE === "true",
205
+ pickup_point_id: numberOrUndefined(process.env.CSOMAGPIAC_PICKUP_POINT_ID),
206
+ price_huf: numberOrUndefined(process.env.CSOMAGPIAC_PRICE_HUF),
207
+ free_shipping_threshold_huf: numberOrUndefined(process.env.CSOMAGPIAC_FREE_SHIPPING_THRESHOLD_HUF),
208
+ timeout_ms: numberOrUndefined(process.env.CSOMAGPIAC_TIMEOUT_MS),
209
+ default_weight_kg: numberOrUndefined(process.env.CSOMAGPIAC_DEFAULT_WEIGHT_KG),
210
+ label_format: process.env.CSOMAGPIAC_LABEL_FORMAT,
211
+ },
212
+ },
204
213
  ];
214
+ // Payment providers stay registered even before credentials exist. Their
215
+ // runtime services resolve the current Admin integration settings per call.
205
216
  const paymentProviders = [
206
- ...(env.providers.stripe
207
- ? [
208
- {
209
- resolve: "@hszrdm/core/providers/resilient-stripe",
210
- id: "stripe",
211
- options: {
212
- apiKey: env.stripeApiKey,
213
- webhookSecret: env.stripeWebhookSecret,
214
- capture: true,
215
- automaticPaymentMethods: true,
216
- },
217
- },
218
- ]
219
- : []),
220
- ...(env.providers.simplepay
221
- ? [
222
- {
223
- resolve: "@hszrdm/core/providers/simplepay",
224
- id: "simplepay",
225
- options: (0, config_1.simplePayOptionsFromEnv)(),
226
- },
227
- ]
228
- : []),
229
- ];
230
- const emailProvider = emailProviderFromEnv(env.providers.sendgrid);
231
- return (0, utils_1.defineConfig)({
232
- featureFlags: {
233
- translation: true,
217
+ {
218
+ resolve: "@hszrdm/core/providers/resilient-stripe",
219
+ id: "stripe",
220
+ options: {
221
+ apiKey: env.stripeApiKey || "",
222
+ webhookSecret: env.stripeWebhookSecret || undefined,
223
+ capture: true,
224
+ automaticPaymentMethods: true,
225
+ },
234
226
  },
235
- admin: {
236
- path: adminPath,
237
- backendUrl,
227
+ {
228
+ resolve: "@hszrdm/core/providers/simplepay",
229
+ id: "simplepay",
230
+ options: (0, config_1.simplePayOptionsFromEnv)(),
238
231
  },
239
- plugins: [
240
- {
241
- resolve: "@hszrdm/core",
242
- options: {},
243
- },
244
- ],
232
+ ];
233
+ const emailProvider = emailProviderBootstrapOptions(env.providers.sendgrid);
234
+ return (0, utils_1.defineConfig)({
235
+ featureFlags: { translation: true },
236
+ admin: { path: adminPath, backendUrl },
237
+ plugins: [{ resolve: "@hszrdm/core", options: {} }],
245
238
  modules: [
246
239
  ...redisModules,
247
- {
248
- resolve: "@medusajs/medusa/translation",
249
- },
240
+ { resolve: "@medusajs/medusa/translation" },
250
241
  fileModule,
251
242
  {
252
243
  resolve: "@medusajs/medusa/notification",
@@ -255,32 +246,21 @@ function createHszrdmCommerceConfig(options = {}) {
255
246
  {
256
247
  resolve: "@medusajs/medusa/notification-local",
257
248
  id: "local",
258
- options: {
259
- name: "Local Notification Provider",
260
- channels: emailProvider ? ["feed"] : ["feed", "email"],
261
- },
249
+ options: { name: "Local Notification Provider", channels: ["feed"] },
262
250
  },
263
- ...(emailProvider ? [emailProvider] : []),
251
+ emailProvider,
264
252
  ],
265
253
  },
266
254
  },
267
255
  {
268
256
  resolve: "@medusajs/medusa/fulfillment",
269
257
  dependencies: ["integrationOperation"],
270
- options: {
271
- providers: fulfillmentProviders,
272
- },
258
+ options: { providers: fulfillmentProviders },
259
+ },
260
+ {
261
+ resolve: "@medusajs/medusa/payment",
262
+ options: { providers: paymentProviders },
273
263
  },
274
- ...(paymentProviders.length
275
- ? [
276
- {
277
- resolve: "@medusajs/medusa/payment",
278
- options: {
279
- providers: paymentProviders,
280
- },
281
- },
282
- ]
283
- : []),
284
264
  ],
285
265
  projectConfig: {
286
266
  databaseUrl: env.databaseUrl,
@@ -295,28 +275,25 @@ function createHszrdmCommerceConfig(options = {}) {
295
275
  },
296
276
  });
297
277
  }
298
- function emailProviderFromEnv(legacySendGridEnabled) {
278
+ function emailProviderBootstrapOptions(legacySendGridEnabled) {
299
279
  const requested = process.env.EMAIL_PROVIDER?.trim().toLowerCase();
300
- const driver = requested || (legacySendGridEnabled ? "sendgrid" : "");
301
- if (!driver)
302
- return null;
303
- if (driver !== "sendgrid" && driver !== "resend") {
304
- throw new Error("[env] EMAIL_PROVIDER must be sendgrid or resend");
305
- }
280
+ const driver = requested === "sendgrid" || requested === "resend"
281
+ ? requested
282
+ : legacySendGridEnabled
283
+ ? "sendgrid"
284
+ : undefined;
306
285
  const apiKey = process.env.EMAIL_API_KEY?.trim() ||
307
286
  (driver === "sendgrid"
308
287
  ? process.env.SENDGRID_API_KEY?.trim()
309
- : process.env.RESEND_API_KEY?.trim());
288
+ : driver === "resend"
289
+ ? process.env.RESEND_API_KEY?.trim()
290
+ : undefined);
310
291
  const from = process.env.EMAIL_FROM?.trim() ||
311
292
  (driver === "sendgrid"
312
293
  ? process.env.SENDGRID_FROM_EMAIL?.trim()
313
- : process.env.RESEND_FROM_EMAIL?.trim());
314
- if (!apiKey) {
315
- throw new Error(`[env] EMAIL_PROVIDER=${driver} requires EMAIL_API_KEY${driver === "sendgrid" ? " or SENDGRID_API_KEY" : " or RESEND_API_KEY"}`);
316
- }
317
- if (!from) {
318
- throw new Error(`[env] EMAIL_PROVIDER=${driver} requires EMAIL_FROM${driver === "sendgrid" ? " or SENDGRID_FROM_EMAIL" : " or RESEND_FROM_EMAIL"}`);
319
- }
294
+ : driver === "resend"
295
+ ? process.env.RESEND_FROM_EMAIL?.trim()
296
+ : undefined);
320
297
  return {
321
298
  resolve: "@hszrdm/core/providers/email",
322
299
  id: "hszrdm-email",
@@ -335,4 +312,4 @@ function numberOrUndefined(value) {
335
312
  const number = Number(value);
336
313
  return Number.isFinite(number) ? number : undefined;
337
314
  }
338
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSxnRUEyVEM7QUE3VUQscURBQXdEO0FBRXhELCtCQUEwQztBQUMxQyx5REFBc0U7QUFDdEUsc0ZBQWlHO0FBT2pHOzs7Ozs7R0FNRztBQUNILFNBQWdCLDBCQUEwQixDQUN4QyxVQUF1QyxFQUFFO0lBRXpDLElBQUEsa0RBQStCLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTVDLE1BQU0sR0FBRyxHQUFHLElBQUEsd0JBQWtCLEdBQUUsQ0FBQTtJQUNoQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUztRQUNoQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLElBQUksTUFBTSxDQUFrQixDQUFBO0lBQzdELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQTtJQUV2RSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsUUFBUTtRQUMvQixDQUFDLENBQUM7WUFDRTtnQkFDRSxPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRTthQUNwQztZQUNEO2dCQUNFLE9BQU8sRUFBRSx3Q0FBd0M7Z0JBQ2pELE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7YUFDL0M7WUFDRDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxnQ0FBZ0M7NEJBQ3pDLEVBQUUsRUFBRSxlQUFlOzRCQUNuQixVQUFVLEVBQUUsSUFBSTs0QkFDaEIsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcs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
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSxnRUFrUkM7QUFwU0QscURBQXdEO0FBRXhELCtCQUEwQztBQUMxQyx5REFBc0U7QUFDdEUsc0ZBQWlHO0FBT2pHOzs7Ozs7R0FNRztBQUNILFNBQWdCLDBCQUEwQixDQUN4QyxVQUF1QyxFQUFFO0lBRXpDLElBQUEsa0RBQStCLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTVDLE1BQU0sR0FBRyxHQUFHLElBQUEsd0JBQWtCLEdBQUUsQ0FBQTtJQUNoQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUztRQUNoQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLElBQUksTUFBTSxDQUFrQixDQUFBO0lBQzdELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQTtJQUV2RSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsUUFBUTtRQUMvQixDQUFDLENBQUM7WUFDRTtnQkFDRSxPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRTthQUNwQztZQUNEO2dCQUNFLE9BQU8sRUFBRSx3Q0FBd0M7Z0JBQ2pELE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7YUFDL0M7WUFDRDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxnQ0FBZ0M7NEJBQ3pDLEVBQUUsRUFBRSxlQUFlOzRCQUNuQixVQUFVLEVBQUUsSUFBSTs0QkFDaEIsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcs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
@@ -0,0 +1,31 @@
1
+ export type CoreDocumentStatus = "draft" | "published" | "archived";
2
+ export type CoreDocumentRecord = {
3
+ id: string;
4
+ title: string;
5
+ description?: string | null;
6
+ document_type: string;
7
+ file_id: string;
8
+ file_url: string;
9
+ file_name: string;
10
+ mime_type?: string | null;
11
+ file_size?: number | null;
12
+ locale?: string | null;
13
+ version?: string | null;
14
+ status: CoreDocumentStatus;
15
+ valid_from?: Date | string | null;
16
+ valid_until?: Date | string | null;
17
+ created_at?: Date | string | null;
18
+ updated_at?: Date | string | null;
19
+ };
20
+ export type CoreDocumentAssignmentRecord = {
21
+ id: string;
22
+ document_id: string;
23
+ target_type: "product" | "category";
24
+ target_id: string;
25
+ display_order?: number | null;
26
+ };
27
+ export declare function isCoreDocumentPublic(document: Pick<CoreDocumentRecord, "status" | "valid_from" | "valid_until">, now?: Date): boolean;
28
+ export declare function normalizeCoreDocumentIds(value: unknown): string[];
29
+ export declare function normalizeCoreDocumentType(value: unknown): string;
30
+ export declare function normalizeCoreDocumentStatus(value: unknown): CoreDocumentStatus;
31
+ export declare function nullableDate(value: unknown): Date | null;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCoreDocumentPublic = isCoreDocumentPublic;
4
+ exports.normalizeCoreDocumentIds = normalizeCoreDocumentIds;
5
+ exports.normalizeCoreDocumentType = normalizeCoreDocumentType;
6
+ exports.normalizeCoreDocumentStatus = normalizeCoreDocumentStatus;
7
+ exports.nullableDate = nullableDate;
8
+ function isCoreDocumentPublic(document, now = new Date()) {
9
+ if (document.status !== "published")
10
+ return false;
11
+ const from = asDate(document.valid_from);
12
+ const until = asDate(document.valid_until);
13
+ if (from && from.getTime() > now.getTime())
14
+ return false;
15
+ if (until && until.getTime() < now.getTime())
16
+ return false;
17
+ return true;
18
+ }
19
+ function normalizeCoreDocumentIds(value) {
20
+ if (!Array.isArray(value))
21
+ return [];
22
+ return [...new Set(value.map((item) => String(item || "").trim()).filter(Boolean))];
23
+ }
24
+ function normalizeCoreDocumentType(value) {
25
+ return String(value || "general").trim().slice(0, 120) || "general";
26
+ }
27
+ function normalizeCoreDocumentStatus(value) {
28
+ const status = String(value || "draft").trim();
29
+ if (status === "draft" || status === "published" || status === "archived")
30
+ return status;
31
+ throw new Error("Érvénytelen dokumentum státusz.");
32
+ }
33
+ function nullableDate(value) {
34
+ if (value == null || value === "")
35
+ return null;
36
+ const date = new Date(String(value));
37
+ if (Number.isNaN(date.getTime()))
38
+ throw new Error("Érvénytelen dátum.");
39
+ return date;
40
+ }
41
+ function asDate(value) {
42
+ if (!value)
43
+ return null;
44
+ const date = value instanceof Date ? value : new Date(value);
45
+ return Number.isNaN(date.getTime()) ? null : date;
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvcmUvZG9jdW1lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNkJBLG9EQVVDO0FBRUQsNERBR0M7QUFFRCw4REFFQztBQUVELGtFQUlDO0FBRUQsb0NBS0M7QUFoQ0QsU0FBZ0Isb0JBQW9CLENBQ2xDLFFBQTJFLEVBQzNFLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRTtJQUVoQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssV0FBVztRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ2pELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDeEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUMxQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ3hELElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFDMUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsS0FBYztJQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUNwQyxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNyRixDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsS0FBYztJQUN0RCxPQUFPLE1BQU0sQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUE7QUFDckUsQ0FBQztBQUVELFNBQWdCLDJCQUEyQixDQUFDLEtBQWM7SUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM5QyxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLEtBQUssVUFBVTtRQUFFLE9BQU8sTUFBTSxDQUFBO0lBQ3hGLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtBQUNwRCxDQUFDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLEtBQWM7SUFDekMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDOUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDcEMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUN2RSxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxLQUF1QztJQUNyRCxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQ3ZCLE1BQU0sSUFBSSxHQUFHLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUNuRCxDQUFDIn0=
@@ -1,4 +1,4 @@
1
- export declare const CORE_VERSION = "1.7.0";
1
+ export declare const CORE_VERSION = "1.8.0";
2
2
  export declare const CORE_API_CONTRACT_VERSION = "1.0";
3
3
  export declare const STOREFRONT_CORE_CONFIG_SCHEMA_VERSION = 1;
4
- export declare const CORE_DB_SCHEMA_VERSION = 7;
4
+ export declare const CORE_DB_SCHEMA_VERSION = 8;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CORE_DB_SCHEMA_VERSION = exports.STOREFRONT_CORE_CONFIG_SCHEMA_VERSION = exports.CORE_API_CONTRACT_VERSION = exports.CORE_VERSION = void 0;
4
- exports.CORE_VERSION = "1.7.0";
4
+ exports.CORE_VERSION = "1.8.0";
5
5
  exports.CORE_API_CONTRACT_VERSION = "1.0";
6
6
  exports.STOREFRONT_CORE_CONFIG_SCHEMA_VERSION = 1;
7
- exports.CORE_DB_SCHEMA_VERSION = 7;
7
+ exports.CORE_DB_SCHEMA_VERSION = 8;
8
8
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxZQUFZLEdBQUcsT0FBTyxDQUFBO0FBQ3RCLFFBQUEseUJBQXlCLEdBQUcsS0FBSyxDQUFBO0FBQ2pDLFFBQUEscUNBQXFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3pDLFFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFBIn0=
@@ -1,2 +1,3 @@
1
1
  export * from "./config";
2
2
  export * from "./feed";
3
+ export * from "./marketplace-feed";
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./config"), exports);
18
18
  __exportStar(require("./feed"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZHVsZXMvYXJ1a2VyZXNvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0I7QUFDeEIseUNBQXNCIn0=
19
+ __exportStar(require("./marketplace-feed"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZHVsZXMvYXJ1a2VyZXNvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0I7QUFDeEIseUNBQXNCO0FBQ3RCLHFEQUFrQyJ9
@@ -0,0 +1,19 @@
1
+ import type { MedusaContainer } from "@medusajs/framework/types";
2
+ import { type ArukeresoFeedItem } from "./feed";
3
+ export type ArukeresoMarketplaceDiagnostics = {
4
+ sourceItems: number;
5
+ itemsEmitted: number;
6
+ skippedDeliveryTime: number;
7
+ skippedMissingImage: number;
8
+ skippedMissingDescription: number;
9
+ };
10
+ export declare function generateArukeresoMarketplaceFeed(container: MedusaContainer): Promise<{
11
+ xml: string;
12
+ items: ArukeresoFeedItem[];
13
+ diagnostics: ArukeresoMarketplaceDiagnostics;
14
+ sourceDiagnostics: import("./feed").ArukeresoFeedDiagnostics;
15
+ }>;
16
+ export declare function buildArukeresoMarketplaceXml(items: ArukeresoFeedItem[]): string;
17
+ export declare class ArukeresoMarketplaceExportDisabledError extends Error {
18
+ constructor();
19
+ }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArukeresoMarketplaceExportDisabledError = void 0;
4
+ exports.generateArukeresoMarketplaceFeed = generateArukeresoMarketplaceFeed;
5
+ exports.buildArukeresoMarketplaceXml = buildArukeresoMarketplaceXml;
6
+ const integration_settings_1 = require("../../../modules/integration-settings");
7
+ const feed_1 = require("./feed");
8
+ async function generateArukeresoMarketplaceFeed(container) {
9
+ const settingsStore = container.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
10
+ const resolved = await (0, integration_settings_1.resolvedIntegrationEnvironment)(settingsStore, "arukereso");
11
+ if (!resolved.enabled)
12
+ throw new feed_1.ArukeresoDisabledError();
13
+ if (resolved.env.ARUKERESO_MARKETPLACE_EXPORT_ENABLED !== "true") {
14
+ throw new ArukeresoMarketplaceExportDisabledError();
15
+ }
16
+ const base = await (0, feed_1.generateArukeresoFeed)(container);
17
+ const diagnostics = {
18
+ sourceItems: base.items.length,
19
+ itemsEmitted: 0,
20
+ skippedDeliveryTime: 0,
21
+ skippedMissingImage: 0,
22
+ skippedMissingDescription: 0,
23
+ };
24
+ const items = base.items.filter((item) => {
25
+ if (item.deliveryTime !== "1") {
26
+ diagnostics.skippedDeliveryTime += 1;
27
+ return false;
28
+ }
29
+ if (!item.imageUrl) {
30
+ diagnostics.skippedMissingImage += 1;
31
+ return false;
32
+ }
33
+ if (!item.description) {
34
+ diagnostics.skippedMissingDescription += 1;
35
+ return false;
36
+ }
37
+ return true;
38
+ });
39
+ diagnostics.itemsEmitted = items.length;
40
+ return {
41
+ xml: buildArukeresoMarketplaceXml(items),
42
+ items,
43
+ diagnostics,
44
+ sourceDiagnostics: base.diagnostics,
45
+ };
46
+ }
47
+ function buildArukeresoMarketplaceXml(items) {
48
+ return `<?xml version="1.0" encoding="UTF-8"?>\n<Products>${items
49
+ .map(buildMarketplaceProductXml)
50
+ .join("")}</Products>`;
51
+ }
52
+ function buildMarketplaceProductXml(item) {
53
+ const tag = (name, value) => value ? `<${name}>${xmlEscape(value)}</${name}>` : "";
54
+ const images = item.imageUrls
55
+ .map((url, index) => tag(`ImageUrl${index + 2}`, url))
56
+ .join("");
57
+ const attributes = item.attributes.length
58
+ ? `<Attributes>${item.attributes
59
+ .map((attribute) => `<Attribute><Attribute_name>${xmlEscape(attribute.name)}</Attribute_name><Attribute_value>${xmlEscape(attribute.value)}</Attribute_value></Attribute>`)
60
+ .join("")}</Attributes>`
61
+ : "";
62
+ return (`\n<Product>` +
63
+ tag("Identifier", item.identifier) +
64
+ tag("Manufacturer", item.manufacturer) +
65
+ tag("Name", item.name) +
66
+ tag("Category", item.category) +
67
+ tag("ProductUrl", item.productUrl) +
68
+ tag("ProductNumber", item.productNumber) +
69
+ tag("Price", item.price) +
70
+ tag("NetPrice", item.netPrice) +
71
+ tag("ImageUrl", item.imageUrl) +
72
+ images +
73
+ tag("Description", item.description) +
74
+ tag("DeliveryTime", "1") +
75
+ tag("DeliveryCost", item.deliveryCost) +
76
+ tag("EanCode", item.eanCode) +
77
+ tag("GroupId", item.groupId) +
78
+ tag("Color", item.color) +
79
+ tag("Size", item.size) +
80
+ tag("BasketDisabled", "0") +
81
+ tag("FreeDelivery", item.deliveryCost === "FREE" ? "1" : "0") +
82
+ attributes +
83
+ `</Product>`);
84
+ }
85
+ function xmlEscape(value) {
86
+ return value
87
+ .replace(/&/g, "&amp;")
88
+ .replace(/</g, "&lt;")
89
+ .replace(/>/g, "&gt;")
90
+ .replace(/"/g, "&quot;")
91
+ .replace(/'/g, "&apos;");
92
+ }
93
+ class ArukeresoMarketplaceExportDisabledError extends Error {
94
+ constructor() {
95
+ super("Az Árukereső Marketplace export nincs bekapcsolva.");
96
+ this.name = "ArukeresoMarketplaceExportDisabledError";
97
+ }
98
+ }
99
+ exports.ArukeresoMarketplaceExportDisabledError = ArukeresoMarketplaceExportDisabledError;
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2V0cGxhY2UtZmVlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxlcy9hcnVrZXJlc28vbWFya2V0cGxhY2UtZmVlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvQkEsNEVBNENDO0FBRUQsb0VBSUM7QUFyRUQsZ0ZBSThDO0FBQzlDLGlDQUllO0FBVVIsS0FBSyxVQUFVLGdDQUFnQyxDQUFDLFNBQTBCO0lBQy9FLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ3JDLGtEQUEyQixDQUNXLENBQUE7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHFEQUE4QixFQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUVqRixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87UUFBRSxNQUFNLElBQUksNkJBQXNCLEVBQUUsQ0FBQTtJQUN6RCxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0NBQW9DLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDakUsTUFBTSxJQUFJLHVDQUF1QyxFQUFFLENBQUE7SUFDckQsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSw0QkFBcUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtJQUNuRCxNQUFNLFdBQVcsR0FBb0M7UUFDbkQsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtRQUM5QixZQUFZLEVBQUUsQ0FBQztRQUNmLG1CQUFtQixFQUFFLENBQUM7UUFDdEIsbUJBQW1CLEVBQUUsQ0FBQztRQUN0Qix5QkFBeUIsRUFBRSxDQUFDO0tBQzdCLENBQUE7SUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUM5QixXQUFXLENBQUMsbUJBQW1CLElBQUks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