@hszrdm/core 1.1.0 → 1.3.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 (146) hide show
  1. package/.medusa/server/src/admin/index.js +4041 -2995
  2. package/.medusa/server/src/admin/index.mjs +4043 -2997
  3. package/.medusa/server/src/api/admin/ai-translations/apply/route.d.ts +11 -0
  4. package/.medusa/server/src/api/admin/ai-translations/apply/route.js +102 -0
  5. package/.medusa/server/src/api/admin/ai-translations/preview/route.d.ts +10 -0
  6. package/.medusa/server/src/api/admin/ai-translations/preview/route.js +141 -0
  7. package/.medusa/server/src/api/admin/ai-translations/route.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/ai-translations/route.js +19 -0
  9. package/.medusa/server/src/api/admin/email/preview/route.d.ts +2 -0
  10. package/.medusa/server/src/api/admin/email/preview/route.js +20 -0
  11. package/.medusa/server/src/api/admin/email/templates/[id]/route.d.ts +4 -0
  12. package/.medusa/server/src/api/admin/email/templates/[id]/route.js +25 -0
  13. package/.medusa/server/src/api/admin/email/templates/route.d.ts +3 -0
  14. package/.medusa/server/src/api/admin/email/templates/route.js +40 -0
  15. package/.medusa/server/src/api/admin/email/test-send/route.d.ts +2 -0
  16. package/.medusa/server/src/api/admin/email/test-send/route.js +64 -0
  17. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/cancel/route.d.ts +2 -0
  18. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/cancel/route.js +15 -0
  19. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/route.d.ts +4 -0
  20. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/route.js +39 -0
  21. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/send/route.d.ts +2 -0
  22. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/send/route.js +14 -0
  23. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/stats/route.d.ts +2 -0
  24. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/stats/route.js +17 -0
  25. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/test-send/route.d.ts +2 -0
  26. package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/test-send/route.js +23 -0
  27. package/.medusa/server/src/api/admin/newsletter/campaigns/route.d.ts +3 -0
  28. package/.medusa/server/src/api/admin/newsletter/campaigns/route.js +40 -0
  29. package/.medusa/server/src/api/admin/newsletter/subscribers/export/route.d.ts +2 -0
  30. package/.medusa/server/src/api/admin/newsletter/subscribers/export/route.js +74 -0
  31. package/.medusa/server/src/api/admin/newsletter/subscribers/route.d.ts +2 -0
  32. package/.medusa/server/src/api/admin/newsletter/subscribers/route.js +57 -0
  33. package/.medusa/server/src/api/admin/product-reviews/[id]/route.d.ts +7 -0
  34. package/.medusa/server/src/api/admin/product-reviews/[id]/route.js +40 -0
  35. package/.medusa/server/src/api/admin/product-reviews/route.d.ts +2 -0
  36. package/.medusa/server/src/api/admin/product-reviews/route.js +31 -0
  37. package/.medusa/server/src/api/hooks/email/status/route.d.ts +2 -0
  38. package/.medusa/server/src/api/hooks/email/status/route.js +69 -0
  39. package/.medusa/server/src/api/middlewares.js +9 -1
  40. package/.medusa/server/src/api/store/account/wishlist/[productId]/route.d.ts +2 -0
  41. package/.medusa/server/src/api/store/account/wishlist/[productId]/route.js +18 -0
  42. package/.medusa/server/src/api/store/account/wishlist/merge/route.d.ts +6 -0
  43. package/.medusa/server/src/api/store/account/wishlist/merge/route.js +51 -0
  44. package/.medusa/server/src/api/store/account/wishlist/route.d.ts +7 -0
  45. package/.medusa/server/src/api/store/account/wishlist/route.js +76 -0
  46. package/.medusa/server/src/api/store/cms/entries/[slug]/route.js +4 -4
  47. package/.medusa/server/src/api/store/cms/entries/route.js +4 -4
  48. package/.medusa/server/src/api/store/email/track/click/[token]/route.d.ts +2 -0
  49. package/.medusa/server/src/api/store/email/track/click/[token]/route.js +19 -0
  50. package/.medusa/server/src/api/store/email/track/open/[token]/route.d.ts +2 -0
  51. package/.medusa/server/src/api/store/email/track/open/[token]/route.js +22 -0
  52. package/.medusa/server/src/api/store/leads/route.js +27 -93
  53. package/.medusa/server/src/api/store/newsletter/config/route.d.ts +2 -0
  54. package/.medusa/server/src/api/store/newsletter/config/route.js +14 -0
  55. package/.medusa/server/src/api/store/newsletter/confirm/route.d.ts +4 -0
  56. package/.medusa/server/src/api/store/newsletter/confirm/route.js +52 -0
  57. package/.medusa/server/src/api/store/newsletter/route.d.ts +4 -0
  58. package/.medusa/server/src/api/store/newsletter/route.js +89 -0
  59. package/.medusa/server/src/api/store/newsletter/unsubscribe/route.d.ts +4 -0
  60. package/.medusa/server/src/api/store/newsletter/unsubscribe/route.js +54 -0
  61. package/.medusa/server/src/api/store/products/[id]/reviews/route.d.ts +8 -0
  62. package/.medusa/server/src/api/store/products/[id]/reviews/route.js +174 -0
  63. package/.medusa/server/src/api/store/quote-requests/route.js +41 -129
  64. package/.medusa/server/src/config.js +38 -15
  65. package/.medusa/server/src/core/ai-translation.d.ts +26 -0
  66. package/.medusa/server/src/core/ai-translation.js +173 -0
  67. package/.medusa/server/src/core/customer-email.d.ts +5 -5
  68. package/.medusa/server/src/core/customer-email.js +55 -109
  69. package/.medusa/server/src/core/transactional-email.d.ts +9 -8
  70. package/.medusa/server/src/core/transactional-email.js +74 -244
  71. package/.medusa/server/src/core/version.d.ts +2 -2
  72. package/.medusa/server/src/core/version.js +2 -2
  73. package/.medusa/server/src/jobs/email-campaign-dispatch.d.ts +6 -0
  74. package/.medusa/server/src/jobs/email-campaign-dispatch.js +18 -0
  75. package/.medusa/server/src/modules/cms/config.d.ts +2 -1
  76. package/.medusa/server/src/modules/cms/config.js +27 -12
  77. package/.medusa/server/src/modules/cms/content-types.d.ts +24 -0
  78. package/.medusa/server/src/modules/cms/content-types.js +27 -0
  79. package/.medusa/server/src/modules/cms/index.d.ts +1 -0
  80. package/.medusa/server/src/modules/cms/index.js +6 -2
  81. package/.medusa/server/src/modules/email-center/campaign.d.ts +8 -0
  82. package/.medusa/server/src/modules/email-center/campaign.js +193 -0
  83. package/.medusa/server/src/modules/email-center/constants.d.ts +1 -0
  84. package/.medusa/server/src/modules/email-center/constants.js +5 -0
  85. package/.medusa/server/src/modules/email-center/defaults.d.ts +10 -0
  86. package/.medusa/server/src/modules/email-center/defaults.js +49 -0
  87. package/.medusa/server/src/modules/email-center/index.d.ts +11 -0
  88. package/.medusa/server/src/modules/email-center/index.js +42 -0
  89. package/.medusa/server/src/modules/email-center/migrations/Migration20261030173000.d.ts +5 -0
  90. package/.medusa/server/src/modules/email-center/migrations/Migration20261030173000.js +25 -0
  91. package/.medusa/server/src/modules/email-center/models/email-campaign.d.ts +22 -0
  92. package/.medusa/server/src/modules/email-center/models/email-campaign.js +37 -0
  93. package/.medusa/server/src/modules/email-center/models/email-delivery.d.ts +21 -0
  94. package/.medusa/server/src/modules/email-center/models/email-delivery.js +38 -0
  95. package/.medusa/server/src/modules/email-center/models/email-template.d.ts +13 -0
  96. package/.medusa/server/src/modules/email-center/models/email-template.js +20 -0
  97. package/.medusa/server/src/modules/email-center/render.d.ts +31 -0
  98. package/.medusa/server/src/modules/email-center/render.js +92 -0
  99. package/.medusa/server/src/modules/email-center/send.d.ts +27 -0
  100. package/.medusa/server/src/modules/email-center/send.js +67 -0
  101. package/.medusa/server/src/modules/email-center/service.d.ts +56 -0
  102. package/.medusa/server/src/modules/email-center/service.js +13 -0
  103. package/.medusa/server/src/modules/email-center/tracking.d.ts +9 -0
  104. package/.medusa/server/src/modules/email-center/tracking.js +92 -0
  105. package/.medusa/server/src/modules/newsletter/config.d.ts +14 -0
  106. package/.medusa/server/src/modules/newsletter/config.js +51 -0
  107. package/.medusa/server/src/modules/newsletter/email.d.ts +9 -0
  108. package/.medusa/server/src/modules/newsletter/email.js +38 -0
  109. package/.medusa/server/src/modules/newsletter/events.d.ts +10 -0
  110. package/.medusa/server/src/modules/newsletter/events.js +34 -0
  111. package/.medusa/server/src/modules/newsletter/index.d.ts +10 -0
  112. package/.medusa/server/src/modules/newsletter/index.js +33 -0
  113. package/.medusa/server/src/modules/newsletter/migrations/Migration20261030130000.d.ts +5 -0
  114. package/.medusa/server/src/modules/newsletter/migrations/Migration20261030130000.js +18 -0
  115. package/.medusa/server/src/modules/newsletter/models/newsletter-subscriber.d.ts +21 -0
  116. package/.medusa/server/src/modules/newsletter/models/newsletter-subscriber.js +35 -0
  117. package/.medusa/server/src/modules/newsletter/service.d.ts +24 -0
  118. package/.medusa/server/src/modules/newsletter/service.js +11 -0
  119. package/.medusa/server/src/modules/newsletter/token.d.ts +10 -0
  120. package/.medusa/server/src/modules/newsletter/token.js +97 -0
  121. package/.medusa/server/src/modules/product-review/config.d.ts +5 -0
  122. package/.medusa/server/src/modules/product-review/config.js +10 -0
  123. package/.medusa/server/src/modules/product-review/index.d.ts +7 -0
  124. package/.medusa/server/src/modules/product-review/index.js +18 -0
  125. package/.medusa/server/src/modules/product-review/migrations/Migration20261030160100.d.ts +5 -0
  126. package/.medusa/server/src/modules/product-review/migrations/Migration20261030160100.js +18 -0
  127. package/.medusa/server/src/modules/product-review/models/product-review.d.ts +16 -0
  128. package/.medusa/server/src/modules/product-review/models/product-review.js +26 -0
  129. package/.medusa/server/src/modules/product-review/service.d.ts +25 -0
  130. package/.medusa/server/src/modules/product-review/service.js +12 -0
  131. package/.medusa/server/src/modules/wishlist/index.d.ts +5 -0
  132. package/.medusa/server/src/modules/wishlist/index.js +14 -0
  133. package/.medusa/server/src/modules/wishlist/migrations/Migration20261030160000.d.ts +5 -0
  134. package/.medusa/server/src/modules/wishlist/migrations/Migration20261030160000.js +17 -0
  135. package/.medusa/server/src/modules/wishlist/models/wishlist-item.d.ts +6 -0
  136. package/.medusa/server/src/modules/wishlist/models/wishlist-item.js +14 -0
  137. package/.medusa/server/src/modules/wishlist/service.d.ts +15 -0
  138. package/.medusa/server/src/modules/wishlist/service.js +12 -0
  139. package/.medusa/server/src/providers/email/index.d.ts +2 -0
  140. package/.medusa/server/src/providers/email/index.js +11 -0
  141. package/.medusa/server/src/providers/email/service.d.ts +24 -0
  142. package/.medusa/server/src/providers/email/service.js +117 -0
  143. package/.medusa/server/src/scripts/core-init.js +20 -3
  144. package/.medusa/server/src/scripts/verify-bootstrap.js +1 -7
  145. package/.medusa/server/src/subscribers/transactional-email-shipment-created.js +6 -2
  146. package/package.json +4 -3
@@ -1,285 +1,115 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transactionalEmailEnabled = transactionalEmailEnabled;
3
4
  exports.queueOrderLifecycleEmail = queueOrderLifecycleEmail;
4
5
  exports.resolveOrderIdForPayment = resolveOrderIdForPayment;
5
6
  exports.resolveRefundEmailContexts = resolveRefundEmailContexts;
6
7
  exports.resolveShipmentEmailContext = resolveShipmentEmailContext;
7
8
  const utils_1 = require("@medusajs/framework/utils");
9
+ const email_center_1 = require("../modules/email-center");
8
10
  const EMAIL_CONFIG = {
9
- order_placed: {
10
- enabled: "SENDGRID_ORDER_PLACED_ENABLED",
11
- templatePrefix: "SENDGRID_ORDER_PLACED_TEMPLATE_ID",
12
- },
13
- payment_captured: {
14
- enabled: "SENDGRID_PAYMENT_CAPTURED_ENABLED",
15
- templatePrefix: "SENDGRID_PAYMENT_CAPTURED_TEMPLATE_ID",
16
- },
17
- fulfillment_created: {
18
- enabled: "SENDGRID_FULFILLMENT_CREATED_ENABLED",
19
- templatePrefix: "SENDGRID_FULFILLMENT_CREATED_TEMPLATE_ID",
20
- },
21
- shipment_created: {
22
- enabled: "SENDGRID_SHIPMENT_CREATED_ENABLED",
23
- templatePrefix: "SENDGRID_SHIPMENT_CREATED_TEMPLATE_ID",
24
- },
25
- order_canceled: {
26
- enabled: "SENDGRID_ORDER_CANCELED_ENABLED",
27
- templatePrefix: "SENDGRID_ORDER_CANCELED_TEMPLATE_ID",
28
- },
29
- payment_refunded: {
30
- enabled: "SENDGRID_PAYMENT_REFUNDED_ENABLED",
31
- templatePrefix: "SENDGRID_PAYMENT_REFUNDED_TEMPLATE_ID",
32
- },
11
+ order_placed: { enabled: "EMAIL_ORDER_PLACED_ENABLED", legacyEnabled: "SENDGRID_ORDER_PLACED_ENABLED", templatePrefix: "SENDGRID_ORDER_PLACED_TEMPLATE_ID", coreKey: "order.placed" },
12
+ payment_captured: { enabled: "EMAIL_PAYMENT_CAPTURED_ENABLED", legacyEnabled: "SENDGRID_PAYMENT_CAPTURED_ENABLED", templatePrefix: "SENDGRID_PAYMENT_CAPTURED_TEMPLATE_ID", coreKey: "order.paid" },
13
+ fulfillment_created: { enabled: "EMAIL_FULFILLMENT_CREATED_ENABLED", legacyEnabled: "SENDGRID_FULFILLMENT_CREATED_ENABLED", templatePrefix: "SENDGRID_FULFILLMENT_CREATED_TEMPLATE_ID", coreKey: "order.fulfilled" },
14
+ shipment_created: { enabled: "EMAIL_SHIPMENT_CREATED_ENABLED", legacyEnabled: "SENDGRID_SHIPMENT_CREATED_ENABLED", templatePrefix: "SENDGRID_SHIPMENT_CREATED_TEMPLATE_ID", coreKey: "order.shipped" },
15
+ order_canceled: { enabled: "EMAIL_ORDER_CANCELED_ENABLED", legacyEnabled: "SENDGRID_ORDER_CANCELED_ENABLED", templatePrefix: "SENDGRID_ORDER_CANCELED_TEMPLATE_ID", coreKey: "order.cancelled" },
16
+ payment_refunded: { enabled: "EMAIL_PAYMENT_REFUNDED_ENABLED", legacyEnabled: "SENDGRID_PAYMENT_REFUNDED_ENABLED", templatePrefix: "SENDGRID_PAYMENT_REFUNDED_TEMPLATE_ID", coreKey: "order.refunded" },
33
17
  };
34
- const ORDER_FIELDS = [
35
- "id",
36
- "display_id",
37
- "email",
38
- "currency_code",
39
- "total",
40
- "subtotal",
41
- "tax_total",
42
- "shipping_total",
43
- "discount_total",
44
- "created_at",
45
- "updated_at",
46
- "payment_status",
47
- "fulfillment_status",
48
- "metadata",
49
- "items.id",
50
- "items.title",
51
- "items.product_title",
52
- "items.variant_title",
53
- "items.quantity",
54
- "items.unit_price",
55
- "items.total",
56
- "items.thumbnail",
57
- "shipping_address.first_name",
58
- "shipping_address.last_name",
59
- "shipping_address.company",
60
- "shipping_address.address_1",
61
- "shipping_address.address_2",
62
- "shipping_address.postal_code",
63
- "shipping_address.city",
64
- "shipping_address.country_code",
65
- "shipping_address.phone",
66
- "billing_address.first_name",
67
- "billing_address.last_name",
68
- "billing_address.company",
69
- "billing_address.address_1",
70
- "billing_address.address_2",
71
- "billing_address.postal_code",
72
- "billing_address.city",
73
- "billing_address.country_code",
74
- "billing_address.phone",
75
- "shipping_methods.id",
76
- "shipping_methods.name",
77
- "shipping_methods.amount",
78
- ];
18
+ const ORDER_FIELDS = ["id", "display_id", "email", "currency_code", "total", "subtotal", "tax_total", "shipping_total", "discount_total", "created_at", "updated_at", "payment_status", "fulfillment_status", "metadata", "items.id", "items.title", "items.product_title", "items.variant_title", "items.quantity", "items.unit_price", "items.total", "items.thumbnail", "shipping_address.first_name", "shipping_address.last_name", "shipping_address.company", "shipping_address.address_1", "shipping_address.address_2", "shipping_address.postal_code", "shipping_address.city", "shipping_address.country_code", "shipping_address.phone", "billing_address.first_name", "billing_address.last_name", "billing_address.company", "billing_address.address_1", "billing_address.address_2", "billing_address.postal_code", "billing_address.city", "billing_address.country_code", "billing_address.phone", "shipping_methods.id", "shipping_methods.name", "shipping_methods.amount"];
19
+ function transactionalEmailEnabled(kind) {
20
+ const config = EMAIL_CONFIG[kind];
21
+ const explicit = boolEnv(config.enabled);
22
+ if (explicit != null)
23
+ return explicit;
24
+ const legacy = boolEnv(config.legacyEnabled);
25
+ if (legacy != null)
26
+ return legacy;
27
+ return process.env.EMAIL_CENTER_ENABLED === "true";
28
+ }
79
29
  async function queueOrderLifecycleEmail(input) {
80
30
  const logger = input.container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
81
31
  const config = EMAIL_CONFIG[input.kind];
82
- if (process.env[config.enabled] !== "true") {
32
+ if (!transactionalEmailEnabled(input.kind))
83
33
  return { skipped: true, reason: "disabled" };
84
- }
85
- // Production e-mail delivery is intentionally tied to the configured
86
- // SendGrid provider. In development the local Notification provider can
87
- // still be used to inspect the same notification payloads safely.
88
- if (isProductionRuntime() && process.env.SENDGRID_ENABLED !== "true") {
89
- logger.warn(`Transactional email ${input.kind} skipped: SENDGRID_ENABLED is not true in production.`);
90
- return { skipped: true, reason: "provider-disabled" };
91
- }
92
34
  const query = input.container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
93
- const { data } = await query.graph({
94
- entity: "order",
95
- fields: ORDER_FIELDS,
96
- filters: { id: input.orderId },
97
- });
35
+ const { data } = await query.graph({ entity: "order", fields: ORDER_FIELDS, filters: { id: input.orderId } });
98
36
  const order = data[0];
99
- if (!order?.email) {
100
- logger.warn(`Transactional email ${input.kind} skipped for order ${input.orderId}: customer email is missing.`);
37
+ if (!order?.email)
101
38
  return { skipped: true, reason: "missing-email" };
102
- }
103
39
  const locale = resolveLocale(order);
104
- const template = resolveTemplate(config.templatePrefix, locale);
105
- if (!template) {
106
- logger.warn(`Transactional email ${input.kind} skipped for order ${input.orderId}: no HU/EN template is configured.`);
107
- return { skipped: true, reason: "missing-template" };
108
- }
109
- const notificationService = input.container.resolve(utils_1.Modules.NOTIFICATION);
110
40
  const notificationData = {
111
- event: input.kind,
112
- locale,
113
- language: locale.toLowerCase().startsWith("en") ? "en" : "hu",
114
- store_name: process.env.STORE_NAME || "Webshop",
115
- storefront_url: storefrontUrl(),
116
- support_email: process.env.SUPPORT_EMAIL || null,
117
- store_order_email: process.env.ORDER_EMAIL || null,
118
- billing_email: process.env.BILLING_EMAIL || null,
119
- order_id: order.id,
120
- order_display_id: order.display_id,
121
- order_number: order.display_id,
122
- customer_email: order.email,
123
- order_email: order.email,
124
- currency_code: order.currency_code,
125
- total: order.total,
126
- subtotal: order.subtotal,
127
- tax_total: order.tax_total,
128
- shipping_total: order.shipping_total,
129
- discount_total: order.discount_total,
130
- payment_status: order.payment_status,
131
- fulfillment_status: order.fulfillment_status,
132
- created_at: order.created_at,
133
- updated_at: order.updated_at,
134
- items: order.items ?? [],
135
- shipping_address: order.shipping_address ?? null,
136
- billing_address: order.billing_address ?? null,
137
- shipping_methods: order.shipping_methods ?? [],
138
- ...(input.extraData ?? {}),
139
- };
140
- await notificationService.createNotifications({
141
- to: String(order.email),
142
- channel: "email",
143
- template,
144
- data: notificationData,
145
- trigger_type: `core.email.${input.kind}`,
146
- resource_id: order.id,
147
- resource_type: "order",
148
- idempotency_key: input.idempotencyKey,
149
- });
150
- logger.info(`Transactional email ${input.kind} queued for order ${input.orderId} (${locale}).`);
151
- return {
152
- skipped: false,
153
- orderId: order.id,
154
- locale,
155
- template,
41
+ event: input.kind, locale, language: locale.startsWith("en") ? "en" : "hu", store_name: process.env.STORE_NAME || "Webshop", storefront_url: storefrontUrl(),
42
+ support_email: process.env.SUPPORT_EMAIL || null, store_order_email: process.env.ORDER_EMAIL || null, billing_email: process.env.BILLING_EMAIL || null,
43
+ order_id: order.id, order_display_id: order.display_id, order_number: order.display_id, customer_email: order.email, order_email: order.email,
44
+ currency_code: order.currency_code, total: order.total, subtotal: order.subtotal, tax_total: order.tax_total, shipping_total: order.shipping_total,
45
+ discount_total: order.discount_total, payment_status: order.payment_status, fulfillment_status: order.fulfillment_status,
46
+ created_at: order.created_at, updated_at: order.updated_at, items: order.items ?? [], shipping_address: order.shipping_address ?? null,
47
+ billing_address: order.billing_address ?? null, shipping_methods: order.shipping_methods ?? [], ...(input.extraData ?? {}),
156
48
  };
49
+ if (emailCenterAvailable(input.container)) {
50
+ const result = await (0, email_center_1.sendManagedEmail)({ container: input.container, to: String(order.email), key: config.coreKey, locale, data: notificationData, idempotencyKey: input.idempotencyKey, resourceId: order.id, resourceType: "order", track: true });
51
+ logger.info(`Transactional email ${input.kind} queued for order ${input.orderId} (${locale}) via Email Center.`);
52
+ return { skipped: result.skipped, orderId: order.id, locale, template: config.coreKey };
53
+ }
54
+ if (isProductionRuntime() && process.env.SENDGRID_ENABLED !== "true") {
55
+ logger.warn(`Transactional email ${input.kind} skipped: legacy SendGrid fallback is disabled in production.`);
56
+ return { skipped: true, reason: "provider-disabled" };
57
+ }
58
+ const template = resolveTemplate(config.templatePrefix, locale);
59
+ if (!template)
60
+ return { skipped: true, reason: "missing-template" };
61
+ const notifications = input.container.resolve(utils_1.Modules.NOTIFICATION);
62
+ await notifications.createNotifications({ to: String(order.email), channel: "email", template, data: notificationData, trigger_type: `core.email.${input.kind}`, resource_id: order.id, resource_type: "order", idempotency_key: input.idempotencyKey });
63
+ return { skipped: false, orderId: order.id, locale, template };
157
64
  }
158
65
  async function resolveOrderIdForPayment(container, paymentId) {
159
- const paymentService = container.resolve(utils_1.Modules.PAYMENT);
160
- const payment = await paymentService.retrievePayment(paymentId);
66
+ const service = container.resolve(utils_1.Modules.PAYMENT);
67
+ const payment = await service.retrievePayment(paymentId);
161
68
  return resolveOrderIdForPaymentCollection(container, payment.payment_collection_id);
162
69
  }
163
70
  async function resolveRefundEmailContexts(container, paymentId) {
164
- const paymentService = container.resolve(utils_1.Modules.PAYMENT);
165
- const payment = await paymentService.retrievePayment(paymentId);
71
+ const service = container.resolve(utils_1.Modules.PAYMENT);
72
+ const payment = await service.retrievePayment(paymentId);
166
73
  const orderId = await resolveOrderIdForPaymentCollection(container, payment.payment_collection_id);
167
74
  if (!orderId)
168
75
  return null;
169
- // One payment can have multiple partial refunds. The payment.refunded event
170
- // only carries the payment ID in Medusa 2.21.2, so every refund record gets
171
- // its own Notification idempotency key. Replayed/concurrent payment events
172
- // can safely walk the same list without losing or duplicating a refund mail.
173
- const refunds = await paymentService.listRefunds({ payment_id: paymentId }, { take: 100 });
174
- const normalized = refunds
175
- .filter((refund) => Boolean(refund?.id))
176
- .sort((left, right) => dateValue(left.created_at) - dateValue(right.created_at))
177
- .map((refund) => ({
178
- refund_id: refund.id,
179
- refund_amount: plainAmount(refund.amount),
180
- refund_created_at: toIsoDate(refund.created_at),
181
- refund_reason_id: refund.refund_reason_id ?? null,
182
- refund_note: refund.note ?? null,
183
- }));
184
- return {
185
- orderId,
186
- paymentId,
187
- refunds: normalized,
188
- };
76
+ const refunds = await service.listRefunds({ payment_id: paymentId }, { take: 100 });
77
+ return { orderId, paymentId, refunds: refunds.filter((refund) => Boolean(refund?.id)).sort((a, b) => dateValue(a.created_at) - dateValue(b.created_at)).map((refund) => ({ refund_id: refund.id, refund_amount: plainAmount(refund.amount), refund_created_at: toIsoDate(refund.created_at), refund_reason_id: refund.refund_reason_id ?? null, refund_note: refund.note ?? null })) };
189
78
  }
190
79
  async function resolveShipmentEmailContext(container, fulfillmentId) {
191
80
  const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
192
- const { data } = await query.graph({
193
- entity: "fulfillment",
194
- fields: [
195
- "id",
196
- "provider_id",
197
- "shipped_at",
198
- "labels.tracking_number",
199
- "labels.tracking_url",
200
- "order.id",
201
- ],
202
- filters: { id: fulfillmentId },
203
- });
81
+ const { data } = await query.graph({ entity: "fulfillment", fields: ["id", "provider_id", "shipped_at", "labels.tracking_number", "labels.tracking_url", "order.id"], filters: { id: fulfillmentId } });
204
82
  const fulfillment = data[0];
205
83
  const orderId = fulfillment?.order?.id;
206
84
  if (!fulfillment || !orderId)
207
85
  return null;
208
86
  const labels = Array.isArray(fulfillment.labels) ? fulfillment.labels : [];
209
- const tracking = labels.map((label) => ({
210
- tracking_number: label.tracking_number ?? null,
211
- tracking_url: label.tracking_url ?? null,
212
- }));
213
- return {
214
- orderId: String(orderId),
215
- shipment: {
216
- fulfillment_id: fulfillment.id,
217
- provider_id: fulfillment.provider_id ?? null,
218
- shipped_at: fulfillment.shipped_at ?? null,
219
- tracking,
220
- tracking_number: tracking[0]?.tracking_number ?? null,
221
- tracking_url: tracking[0]?.tracking_url ?? null,
222
- },
223
- };
87
+ const tracking = labels.map((label) => ({ tracking_number: label.tracking_number ?? null, tracking_url: label.tracking_url ?? null }));
88
+ return { orderId: String(orderId), shipment: { fulfillment_id: fulfillment.id, provider_id: fulfillment.provider_id ?? null, shipped_at: fulfillment.shipped_at ?? null, tracking, tracking_number: tracking[0]?.tracking_number ?? null, tracking_url: tracking[0]?.tracking_url ?? null } };
224
89
  }
225
90
  async function resolveOrderIdForPaymentCollection(container, paymentCollectionId) {
226
91
  const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
227
- const { data } = await query.graph({
228
- entity: "order_payment_collection",
229
- fields: ["order.id"],
230
- filters: { payment_collection_id: paymentCollectionId },
231
- });
92
+ const { data } = await query.graph({ entity: "order_payment_collection", fields: ["order.id"], filters: { payment_collection_id: paymentCollectionId } });
232
93
  return data[0]?.order?.id ? String(data[0].order.id) : null;
233
94
  }
234
- function resolveLocale(order) {
235
- const metadata = order.metadata && typeof order.metadata === "object"
236
- ? order.metadata
237
- : {};
238
- const raw = stringValue(metadata.locale) ||
239
- stringValue(metadata.language) ||
240
- process.env.STORE_LOCALE?.trim() ||
241
- "hu-HU";
242
- return raw.toLowerCase().startsWith("en") ? "en-US" : "hu-HU";
243
- }
244
- function resolveTemplate(prefix, locale) {
245
- const hu = process.env[`${prefix}_HU`]?.trim();
246
- const en = process.env[`${prefix}_EN`]?.trim();
247
- return locale.toLowerCase().startsWith("en")
248
- ? en || hu || null
249
- : hu || en || null;
250
- }
251
- function storefrontUrl() {
252
- const explicit = process.env.STOREFRONT_URL?.trim();
253
- if (explicit)
254
- return explicit.replace(/\/$/, "");
255
- const firstStoreOrigin = process.env.STORE_CORS
256
- ?.split(",")
257
- .map((value) => value.trim())
258
- .find(Boolean);
259
- return (firstStoreOrigin || "http://localhost:3000").replace(/\/$/, "");
260
- }
261
- function isProductionRuntime() {
262
- return (process.env.APP_ENV === "production" ||
263
- process.env.NODE_ENV === "production");
264
- }
265
- function stringValue(value) {
266
- return typeof value === "string" && value.trim() ? value.trim() : undefined;
267
- }
268
- function plainAmount(value) {
269
- if (typeof value === "number" || typeof value === "string")
270
- return value;
271
- if (value == null)
272
- return null;
273
- const text = String(value);
274
- const number = Number(text);
275
- return Number.isFinite(number) ? number : text;
276
- }
277
- function dateValue(value) {
278
- const time = new Date(value).getTime();
279
- return Number.isFinite(time) ? time : 0;
280
- }
281
- function toIsoDate(value) {
282
- const date = new Date(value);
283
- return Number.isFinite(date.getTime()) ? date.toISOString() : String(value);
95
+ function resolveLocale(order) { const metadata = order.metadata && typeof order.metadata === "object" ? order.metadata : {}; const raw = stringValue(metadata.locale) || stringValue(metadata.language) || process.env.STORE_LOCALE?.trim() || "hu-HU"; return raw.toLowerCase().startsWith("en") ? "en-US" : "hu-HU"; }
96
+ function resolveTemplate(prefix, locale) { const hu = process.env[`${prefix}_HU`]?.trim(); const en = process.env[`${prefix}_EN`]?.trim(); return locale.startsWith("en") ? en || hu || null : hu || en || null; }
97
+ function storefrontUrl() { const explicit = process.env.STOREFRONT_URL?.trim(); if (explicit)
98
+ return explicit.replace(/\/$/, ""); const origin = process.env.STORE_CORS?.split(",").map(v => v.trim()).find(Boolean); return (origin || "http://localhost:3000").replace(/\/$/, ""); }
99
+ function emailCenterAvailable(container) { if (process.env.EMAIL_CENTER_ENABLED === "false")
100
+ return false; try {
101
+ return Boolean(container.resolve(email_center_1.EMAIL_CENTER_MODULE));
284
102
  }
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25hbC1lbWFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RyYW5zYWN0aW9uYWwtZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEwSEEsNERBd0dDO0FBRUQsNERBVUM7QUFFRCxnRUF3Q0M7QUFFRCxrRUF1Q0M7QUFqVUQscURBQThFO0FBOEM5RSxNQUFNLFlBQVksR0FHZDtJQUNGLFlBQVksRUFBRTtRQUNaLE9BQU8sRUFBRSwrQkFBK0I7UUFDeEMsY0FBYyxFQUFFLG1DQUFtQztLQUNwRDtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE9BQU8sRUFBRSxtQ0FBbUM7UUFDNUMsY0FBYyxFQUFFLHVDQUF1QztLQUN4RDtJQUNELG1CQUFtQixFQUFFO1FBQ25CLE9BQU8sRUFBRSxzQ0FBc0M7UUFDL0MsY0FBYyxFQUFFLDBDQUEwQztLQUMzRDtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE9BQU8sRUFBRSxtQ0FBbUM7UUFDNUMsY0FBYyxFQUFFLHVDQUF1QztLQUN4RDtJQUNELGNBQWMsRUFBRTtRQUNkLE9BQU8sRUFBRSxpQ0FBaUM7UUFDMUMsY0FBYyxFQUFFLHFDQUFxQztLQUN0RDtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE9BQU8sRUFBRSxtQ0FBbUM7UUFDNUMsY0FBYyxFQUFFLHVDQUF1QztLQUN4RDtDQUNGLENBQUE7QUFFRCxNQUFNLFlBQVksR0FBRztJQUNuQixJQUFJO0lBQ0osWUFBWTtJQUNaLE9BQU87SUFDUCxlQUFlO0lBQ2YsT0FBTztJQUNQLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsVUFBVTtJQUNWLFVBQVU7SUFDVixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGFBQWE7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
103
+ catch {
104
+ return false;
105
+ } }
106
+ function isProductionRuntime() { return process.env.APP_ENV === "production" || process.env.NODE_ENV === "production"; }
107
+ function stringValue(value) { return typeof value === "string" && value.trim() ? value.trim() : undefined; }
108
+ function boolEnv(key) { const raw = process.env[key]?.trim(); if (!raw)
109
+ return null; return raw === "true"; }
110
+ function plainAmount(value) { if (typeof value === "number" || typeof value === "string")
111
+ return value; if (value == null)
112
+ return null; const text = String(value); const number = Number(text); return Number.isFinite(number) ? number : text; }
113
+ function dateValue(value) { const time = new Date(value).getTime(); return Number.isFinite(time) ? time : 0; }
114
+ function toIsoDate(value) { const date = new Date(value); return Number.isFinite(date.getTime()) ? date.toISOString() : String(value); }
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25hbC1lbWFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RyYW5zYWN0aW9uYWwtZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFzQkEsOERBT0M7QUFFRCw0REFrQ0M7QUFFRCw0REFJQztBQUVELGdFQU9DO0FBRUQsa0VBUUM7QUExRkQscURBQThFO0FBQzlFLDBEQUErRTtBQVcvRSxNQUFNLFlBQVksR0FBNkQ7SUFDN0UsWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLGFBQWEsRUFBRSwrQkFBK0IsRUFBRSxjQUFjLEVBQUUsbUNBQW1DLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtJQUNyTCxnQkFBZ0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhLEVBQUUsbUNBQW1DLEVBQUUsY0FBYyxFQUFFLHVDQUF1QyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7SUFDbk0sbUJBQW1CLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsYUFBYSxFQUFFLHNDQUFzQyxFQUFFLGNBQWMsRUFBRSwwQ0FBMEMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUU7SUFDcE4sZ0JBQWdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYSxFQUFFLG1DQUFtQyxFQUFFLGNBQWMsRUFBRSx1Q0FBdUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFO0lBQ3RNLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxhQUFhLEVBQUUsaUNBQWlDLEVBQUUsY0FBYyxFQUFFLHFDQUFxQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRTtJQUNoTSxnQkFBZ0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhLEVBQUUsbUNBQW1DLEVBQUUsY0FBYyxFQUFFLHVDQUF1QyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0Is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
@@ -1,4 +1,4 @@
1
- export declare const CORE_VERSION = "1.1.0";
1
+ export declare const CORE_VERSION = "1.3.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 = 3;
4
+ export declare const CORE_DB_SCHEMA_VERSION = 5;
@@ -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.1.0";
4
+ exports.CORE_VERSION = "1.3.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 = 3;
7
+ exports.CORE_DB_SCHEMA_VERSION = 5;
8
8
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxZQUFZLEdBQUcsT0FBTyxDQUFBO0FBQ3RCLFFBQUEseUJBQXlCLEdBQUcsS0FBSyxDQUFBO0FBQ2pDLFFBQUEscUNBQXFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3pDLFFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,6 @@
1
+ import type { MedusaContainer } from "@medusajs/framework/types";
2
+ export default function emailCampaignDispatch(container: MedusaContainer): Promise<void>;
3
+ export declare const config: {
4
+ name: string;
5
+ schedule: string;
6
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = emailCampaignDispatch;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const email_center_1 = require("../modules/email-center");
7
+ async function emailCampaignDispatch(container) {
8
+ const locking = container.resolve("locking");
9
+ try {
10
+ return await locking.execute("job:email-campaign-dispatch", () => (0, email_center_1.dispatchDueCampaigns)(container), { timeout: 1, expire: 55 });
11
+ }
12
+ catch (error) {
13
+ const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
14
+ logger.info(JSON.stringify({ event: "scheduled_job_skipped_locked", job: "email-campaign-dispatch", message: error instanceof Error ? error.message : String(error) }));
15
+ }
16
+ }
17
+ exports.config = { name: "email-campaign-dispatch", schedule: "* * * * *" };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtY2FtcGFpZ24tZGlzcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvam9icy9lbWFpbC1jYW1wYWlnbi1kaXNwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSx3Q0FRQztBQVhELHFEQUFxRTtBQUNyRSwwREFBOEQ7QUFFL0MsS0FBSyxVQUFVLHFCQUFxQixDQUFDLFNBQTBCO0lBQzVFLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFxSCxDQUFBO0lBQ2hLLElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLDZCQUE2QixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUEsbUNBQW9CLEVBQUMsU0FBa0IsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUN6SSxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDbEUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLDhCQUE4QixFQUFFLEdBQUcsRUFBRSx5QkFBeUIsRUFBRSxPQUFPLEVBQUUsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3pLLENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFBIn0=
@@ -1,5 +1,6 @@
1
+ import { type CmsContentType } from "./content-types";
1
2
  export type CmsContentTypeDefinition = {
2
- key: string;
3
+ key: CmsContentType;
3
4
  label: string;
4
5
  };
5
6
  export type CmsConfig = {
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadCmsConfig = loadCmsConfig;
4
- const DEFAULT_CONTENT_TYPES = [
5
- { key: "blog_post", label: "Blogbejegyzés" },
6
- { key: "page", label: "Tartalmi oldal" },
7
- { key: "guide", label: "Útmutató" },
8
- { key: "news", label: "Hír" },
9
- ];
4
+ const content_types_1 = require("./content-types");
5
+ const CORE_CONTENT_TYPES = content_types_1.CORE_CMS_CONTENT_TYPE_OPTIONS.map((option) => ({
6
+ key: option.value,
7
+ label: option.label,
8
+ }));
10
9
  function loadCmsConfig(env = process.env) {
11
10
  return {
12
11
  enabled: env.CMS_ENABLED !== "false",
@@ -15,12 +14,20 @@ function loadCmsConfig(env = process.env) {
15
14
  };
16
15
  }
17
16
  function parseContentTypes(raw) {
17
+ const configured = parseConfiguredContentTypes(raw);
18
+ const builtInKeys = new Set(CORE_CONTENT_TYPES.map((item) => item.key));
19
+ return [
20
+ ...CORE_CONTENT_TYPES,
21
+ ...configured.filter((item) => !builtInKeys.has(item.key)),
22
+ ];
23
+ }
24
+ function parseConfiguredContentTypes(raw) {
18
25
  if (!raw?.trim())
19
- return DEFAULT_CONTENT_TYPES;
26
+ return [];
20
27
  try {
21
28
  const parsed = JSON.parse(raw);
22
29
  if (!Array.isArray(parsed))
23
- return DEFAULT_CONTENT_TYPES;
30
+ return [];
24
31
  const values = parsed
25
32
  .map((item) => {
26
33
  if (!item || typeof item !== "object" || Array.isArray(item))
@@ -28,13 +35,21 @@ function parseContentTypes(raw) {
28
35
  const record = item;
29
36
  const key = slugKey(record.key);
30
37
  const label = text(record.label);
31
- return key && label ? { key, label: label.slice(0, 120) } : null;
38
+ return key && label
39
+ ? { key: key, label: label.slice(0, 120) }
40
+ : null;
32
41
  })
33
42
  .filter((item) => Boolean(item));
34
- return values.length ? values : DEFAULT_CONTENT_TYPES;
43
+ const seen = new Set();
44
+ return values.filter((item) => {
45
+ if (seen.has(item.key))
46
+ return false;
47
+ seen.add(item.key);
48
+ return true;
49
+ });
35
50
  }
36
51
  catch {
37
- return DEFAULT_CONTENT_TYPES;
52
+ return [];
38
53
  }
39
54
  }
40
55
  function slugKey(value) {
@@ -47,4 +62,4 @@ function slugKey(value) {
47
62
  function text(value) {
48
63
  return typeof value === "string" && value.trim() ? value.trim() : "";
49
64
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvY21zL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSxzQ0FNQztBQWJELE1BQU0scUJBQXFCLEdBQStCO0lBQ3hELEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO0lBQzVDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7SUFDeEMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7SUFDbkMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Q0FDOUIsQ0FBQTtBQUVELFNBQWdCLGFBQWEsQ0FBQyxNQUF5QixPQUFPLENBQUMsR0FBRztJQUNoRSxPQUFPO1FBQ0wsT0FBTyxFQUFFLEdBQUcsQ0FBQyxXQUFXLEtBQUssT0FBTztRQUNwQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTztRQUNoRixZQUFZLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDO0tBQzVELENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxHQUFZO0lBQ3JDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO1FBQUUsT0FBTyxxQkFBcUIsQ0FBQTtJQUM5QyxJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU8scUJBQXFCLENBQUE7UUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTTthQUNsQixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFBO1lBQ3pFLE1BQU0sTUFBTSxHQUFHLElBQStCLENBQUE7WUFDOUMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2hDLE9BQU8sR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUNsRSxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQW9DLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNwRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUE7SUFDdkQsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8scUJBQXFCLENBQUE7SUFDOUIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxLQUFjO0lBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNoQixFQUFFLFdBQVcsRUFBRTtTQUNkLE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDO1NBQzdCLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1NBQ3ZCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxLQUFjO0lBQzFCLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDdEUsQ0FBQyJ9
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvY21zL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNCQSxzQ0FNQztBQTVCRCxtREFHd0I7QUFheEIsTUFBTSxrQkFBa0IsR0FDdEIsNkNBQTZCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSztJQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7Q0FDcEIsQ0FBQyxDQUFDLENBQUE7QUFFTCxTQUFnQixhQUFhLENBQUMsTUFBeUIsT0FBTyxDQUFDLEdBQUc7SUFDaEUsT0FBTztRQUNMLE9BQU8sRUFBRSxHQUFHLENBQUMsV0FBVyxLQUFLLE9BQU87UUFDcEMsYUFBYSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLE9BQU87UUFDaEYsWUFBWSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztLQUM1RCxDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsR0FBWTtJQUNyQyxNQUFNLFVBQVUsR0FBRywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNuRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBRXZFLE9BQU87UUFDTCxHQUFHLGtCQUFrQjtRQUNyQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDM0QsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLEdBQVk7SUFDL0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUU7UUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUMzQixJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFBO1FBRXJDLE1BQU0sTUFBTSxHQUFHLE1BQU07YUFDbEIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQTtZQUN6RSxNQUFNLE1BQU0sR0FBRyxJQUErQixDQUFBO1lBQzlDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNoQyxPQUFPLEdBQUcsSUFBSSxLQUFLO2dCQUNqQixDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBcUIsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxJQUFJLENBQUE7UUFDVixDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQW9DLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUVwRSxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO1FBQzlCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFBO1lBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2xCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLEtBQWM7SUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2hCLEVBQUUsV0FBVyxFQUFFO1NBQ2QsT0FBTyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUM7U0FDN0IsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7U0FDdkIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDdkIsQ0FBQztBQUVELFNBQVMsSUFBSSxDQUFDLEtBQWM7SUFDMUIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQUN0RSxDQUFDIn0=
@@ -0,0 +1,24 @@
1
+ export declare const CORE_CMS_CONTENT_TYPES: {
2
+ readonly BLOG_POST: "blog_post";
3
+ readonly PAGE: "page";
4
+ readonly KNOWLEDGE_BASE: "knowledge_base";
5
+ };
6
+ export type CoreCmsContentType = typeof CORE_CMS_CONTENT_TYPES[keyof typeof CORE_CMS_CONTENT_TYPES];
7
+ /**
8
+ * Built-in HSZRDM Commerce CMS content types.
9
+ *
10
+ * Projects may still persist and query arbitrary custom content_type strings.
11
+ * This type keeps the built-ins discoverable without restricting extensions.
12
+ */
13
+ export type CmsContentType = CoreCmsContentType | (string & {});
14
+ export declare const CORE_CMS_CONTENT_TYPE_OPTIONS: readonly [{
15
+ readonly value: "blog_post";
16
+ readonly label: "Blogbejegyzés";
17
+ }, {
18
+ readonly value: "page";
19
+ readonly label: "Oldal";
20
+ }, {
21
+ readonly value: "knowledge_base";
22
+ readonly label: "Tudástár";
23
+ }];
24
+ export declare function isCoreCmsContentType(value: string): value is CoreCmsContentType;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CORE_CMS_CONTENT_TYPE_OPTIONS = exports.CORE_CMS_CONTENT_TYPES = void 0;
4
+ exports.isCoreCmsContentType = isCoreCmsContentType;
5
+ exports.CORE_CMS_CONTENT_TYPES = {
6
+ BLOG_POST: "blog_post",
7
+ PAGE: "page",
8
+ KNOWLEDGE_BASE: "knowledge_base",
9
+ };
10
+ exports.CORE_CMS_CONTENT_TYPE_OPTIONS = [
11
+ {
12
+ value: exports.CORE_CMS_CONTENT_TYPES.BLOG_POST,
13
+ label: "Blogbejegyzés",
14
+ },
15
+ {
16
+ value: exports.CORE_CMS_CONTENT_TYPES.PAGE,
17
+ label: "Oldal",
18
+ },
19
+ {
20
+ value: exports.CORE_CMS_CONTENT_TYPES.KNOWLEDGE_BASE,
21
+ label: "Tudástár",
22
+ },
23
+ ];
24
+ function isCoreCmsContentType(value) {
25
+ return Object.values(exports.CORE_CMS_CONTENT_TYPES).includes(value);
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Ntcy9jb250ZW50LXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdDQSxvREFFQztBQWxDWSxRQUFBLHNCQUFzQixHQUFHO0lBQ3BDLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLElBQUksRUFBRSxNQUFNO0lBQ1osY0FBYyxFQUFFLGdCQUFnQjtDQUN4QixDQUFBO0FBYUcsUUFBQSw2QkFBNkIsR0FBRztJQUMzQztRQUNFLEtBQUssRUFBRSw4QkFBc0IsQ0FBQyxTQUFTO1FBQ3ZDLEtBQUssRUFBRSxlQUFlO0tBQ3ZCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsOEJBQXNCLENBQUMsSUFBSTtRQUNsQyxLQUFLLEVBQUUsT0FBTztLQUNmO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsOEJBQXNCLENBQUMsY0FBYztRQUM1QyxLQUFLLEVBQUUsVUFBVTtLQUNsQjtDQUNPLENBQUE7QUFFVixTQUFnQixvQkFBb0IsQ0FBQyxLQUFhO0lBQ2hELE9BQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyw4QkFBc0IsQ0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUM1RSxDQUFDIn0=
@@ -4,5 +4,6 @@ declare const _default: any;
4
4
  export default _default;
5
5
  export { CmsService };
6
6
  export { loadCmsConfig, type CmsConfig, type CmsContentTypeDefinition } from "./config";
7
+ export { CORE_CMS_CONTENT_TYPES, CORE_CMS_CONTENT_TYPE_OPTIONS, isCoreCmsContentType, type CoreCmsContentType, type CmsContentType, } from "./content-types";
7
8
  export { slugifyCms, normalizeCmsEntryInput, normalizeCmsTaxonomyInput, isCmsEntryPublic, publicCmsEntry, } from "./utils";
8
9
  export { CMS_ENTRY_STATUSES, CMS_BODY_FORMATS, CMS_TAXONOMIES, CmsEntry, CmsTaxonomyTerm, } from "./models/cms";