@hszrdm/core 1.0.3 → 1.2.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 (192) hide show
  1. package/.medusa/server/src/admin/index.js +4375 -2368
  2. package/.medusa/server/src/admin/index.mjs +4376 -2369
  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/cms/entries/[id]/route.d.ts +6 -0
  10. package/.medusa/server/src/api/admin/cms/entries/[id]/route.js +78 -0
  11. package/.medusa/server/src/api/admin/cms/entries/route.d.ts +5 -0
  12. package/.medusa/server/src/api/admin/cms/entries/route.js +77 -0
  13. package/.medusa/server/src/api/admin/cms/taxonomy/[id]/route.d.ts +5 -0
  14. package/.medusa/server/src/api/admin/cms/taxonomy/[id]/route.js +50 -0
  15. package/.medusa/server/src/api/admin/cms/taxonomy/route.d.ts +5 -0
  16. package/.medusa/server/src/api/admin/cms/taxonomy/route.js +60 -0
  17. package/.medusa/server/src/api/admin/core/status/route.d.ts +2 -0
  18. package/.medusa/server/src/api/admin/core/status/route.js +11 -0
  19. package/.medusa/server/src/api/admin/featured-products/[id]/route.d.ts +7 -0
  20. package/.medusa/server/src/api/admin/featured-products/[id]/route.js +54 -0
  21. package/.medusa/server/src/api/admin/leads/[id]/route.d.ts +9 -0
  22. package/.medusa/server/src/api/admin/leads/[id]/route.js +64 -0
  23. package/.medusa/server/src/api/admin/leads/route.d.ts +2 -0
  24. package/.medusa/server/src/api/admin/leads/route.js +26 -0
  25. package/.medusa/server/src/api/admin/newsletter/subscribers/export/route.d.ts +2 -0
  26. package/.medusa/server/src/api/admin/newsletter/subscribers/export/route.js +74 -0
  27. package/.medusa/server/src/api/admin/newsletter/subscribers/route.d.ts +2 -0
  28. package/.medusa/server/src/api/admin/newsletter/subscribers/route.js +57 -0
  29. package/.medusa/server/src/api/admin/product-reviews/[id]/route.d.ts +7 -0
  30. package/.medusa/server/src/api/admin/product-reviews/[id]/route.js +40 -0
  31. package/.medusa/server/src/api/admin/product-reviews/route.d.ts +2 -0
  32. package/.medusa/server/src/api/admin/product-reviews/route.js +31 -0
  33. package/.medusa/server/src/api/admin/quote-requests/[id]/draft-order/route.d.ts +8 -0
  34. package/.medusa/server/src/api/admin/quote-requests/[id]/draft-order/route.js +160 -0
  35. package/.medusa/server/src/api/admin/quote-requests/[id]/order/route.d.ts +2 -0
  36. package/.medusa/server/src/api/admin/quote-requests/[id]/order/route.js +54 -0
  37. package/.medusa/server/src/api/admin/quote-requests/[id]/route.d.ts +5 -0
  38. package/.medusa/server/src/api/admin/quote-requests/[id]/route.js +80 -0
  39. package/.medusa/server/src/api/admin/quote-requests/route.d.ts +2 -0
  40. package/.medusa/server/src/api/admin/quote-requests/route.js +19 -0
  41. package/.medusa/server/src/api/middlewares.js +19 -6
  42. package/.medusa/server/src/api/store/account/wishlist/[productId]/route.d.ts +2 -0
  43. package/.medusa/server/src/api/store/account/wishlist/[productId]/route.js +18 -0
  44. package/.medusa/server/src/api/store/account/wishlist/merge/route.d.ts +6 -0
  45. package/.medusa/server/src/api/store/account/wishlist/merge/route.js +51 -0
  46. package/.medusa/server/src/api/store/account/wishlist/route.d.ts +7 -0
  47. package/.medusa/server/src/api/store/account/wishlist/route.js +76 -0
  48. package/.medusa/server/src/api/store/cms/config/route.d.ts +2 -0
  49. package/.medusa/server/src/api/store/cms/config/route.js +17 -0
  50. package/.medusa/server/src/api/store/cms/entries/[slug]/route.d.ts +2 -0
  51. package/.medusa/server/src/api/store/cms/entries/[slug]/route.js +62 -0
  52. package/.medusa/server/src/api/store/cms/entries/route.d.ts +2 -0
  53. package/.medusa/server/src/api/store/cms/entries/route.js +87 -0
  54. package/.medusa/server/src/api/store/cms/taxonomy/route.d.ts +2 -0
  55. package/.medusa/server/src/api/store/cms/taxonomy/route.js +44 -0
  56. package/.medusa/server/src/api/store/core/pricing/variants/[id]/route.d.ts +2 -0
  57. package/.medusa/server/src/api/store/core/pricing/variants/[id]/route.js +152 -0
  58. package/.medusa/server/src/api/store/featured-products/route.d.ts +2 -0
  59. package/.medusa/server/src/api/store/featured-products/route.js +38 -0
  60. package/.medusa/server/src/api/store/leads/config/route.d.ts +2 -0
  61. package/.medusa/server/src/api/store/leads/config/route.js +21 -0
  62. package/.medusa/server/src/api/store/leads/route.d.ts +4 -0
  63. package/.medusa/server/src/api/store/leads/route.js +176 -0
  64. package/.medusa/server/src/api/store/newsletter/config/route.d.ts +2 -0
  65. package/.medusa/server/src/api/store/newsletter/config/route.js +14 -0
  66. package/.medusa/server/src/api/store/newsletter/confirm/route.d.ts +4 -0
  67. package/.medusa/server/src/api/store/newsletter/confirm/route.js +52 -0
  68. package/.medusa/server/src/api/store/newsletter/route.d.ts +4 -0
  69. package/.medusa/server/src/api/store/newsletter/route.js +172 -0
  70. package/.medusa/server/src/api/store/newsletter/unsubscribe/route.d.ts +4 -0
  71. package/.medusa/server/src/api/store/newsletter/unsubscribe/route.js +54 -0
  72. package/.medusa/server/src/api/store/products/[id]/reviews/route.d.ts +8 -0
  73. package/.medusa/server/src/api/store/products/[id]/reviews/route.js +174 -0
  74. package/.medusa/server/src/api/store/quote-requests/config/route.d.ts +2 -0
  75. package/.medusa/server/src/api/store/quote-requests/config/route.js +13 -0
  76. package/.medusa/server/src/api/store/quote-requests/route.d.ts +5 -0
  77. package/.medusa/server/src/api/store/quote-requests/route.js +214 -0
  78. package/.medusa/server/src/api/store/seo/route.js +42 -10
  79. package/.medusa/server/src/api/store/seo/structured-data/route.js +3 -2
  80. package/.medusa/server/src/config.js +7 -1
  81. package/.medusa/server/src/core/admin-analytics-dashboard.d.ts +1 -0
  82. package/.medusa/server/src/core/admin-analytics-dashboard.js +15 -3
  83. package/.medusa/server/src/core/ai-translation.d.ts +26 -0
  84. package/.medusa/server/src/core/ai-translation.js +173 -0
  85. package/.medusa/server/src/core/featured-products.d.ts +19 -0
  86. package/.medusa/server/src/core/featured-products.js +45 -0
  87. package/.medusa/server/src/core/pricing-tiers.d.ts +25 -0
  88. package/.medusa/server/src/core/pricing-tiers.js +88 -0
  89. package/.medusa/server/src/core/release-info.d.ts +10 -0
  90. package/.medusa/server/src/core/release-info.js +22 -0
  91. package/.medusa/server/src/core/version.d.ts +4 -4
  92. package/.medusa/server/src/core/version.js +3 -3
  93. package/.medusa/server/src/lib/modules/arukereso/config.js +2 -2
  94. package/.medusa/server/src/lib/modules/google-merchant/config.d.ts +2 -0
  95. package/.medusa/server/src/lib/modules/google-merchant/config.js +9 -2
  96. package/.medusa/server/src/lib/modules/google-merchant/feed.d.ts +1 -0
  97. package/.medusa/server/src/lib/modules/google-merchant/feed.js +4 -2
  98. package/.medusa/server/src/localized-config.d.ts +9 -0
  99. package/.medusa/server/src/localized-config.js +14 -0
  100. package/.medusa/server/src/modules/cms/config.d.ts +11 -0
  101. package/.medusa/server/src/modules/cms/config.js +65 -0
  102. package/.medusa/server/src/modules/cms/content-types.d.ts +24 -0
  103. package/.medusa/server/src/modules/cms/content-types.js +27 -0
  104. package/.medusa/server/src/modules/cms/index.d.ts +9 -0
  105. package/.medusa/server/src/modules/cms/index.js +32 -0
  106. package/.medusa/server/src/modules/cms/migrations/Migration20261029170000.d.ts +5 -0
  107. package/.medusa/server/src/modules/cms/migrations/Migration20261029170000.js +27 -0
  108. package/.medusa/server/src/modules/cms/migrations/Migration20261029190000.d.ts +5 -0
  109. package/.medusa/server/src/modules/cms/migrations/Migration20261029190000.js +52 -0
  110. package/.medusa/server/src/modules/cms/models/cms.d.ts +67 -0
  111. package/.medusa/server/src/modules/cms/models/cms.js +64 -0
  112. package/.medusa/server/src/modules/cms/service.d.ts +82 -0
  113. package/.medusa/server/src/modules/cms/service.js +9 -0
  114. package/.medusa/server/src/modules/cms/utils.d.ts +67 -0
  115. package/.medusa/server/src/modules/cms/utils.js +190 -0
  116. package/.medusa/server/src/modules/integration-settings/arukereso-registration.js +2 -2
  117. package/.medusa/server/src/modules/integration-settings/google-merchant-registration.js +6 -2
  118. package/.medusa/server/src/modules/lead/config.d.ts +37 -0
  119. package/.medusa/server/src/modules/lead/config.js +147 -0
  120. package/.medusa/server/src/modules/lead/email.d.ts +17 -0
  121. package/.medusa/server/src/modules/lead/email.js +68 -0
  122. package/.medusa/server/src/modules/lead/index.d.ts +9 -0
  123. package/.medusa/server/src/modules/lead/index.js +27 -0
  124. package/.medusa/server/src/modules/lead/migrations/Migration20261029163000.d.ts +5 -0
  125. package/.medusa/server/src/modules/lead/migrations/Migration20261029163000.js +19 -0
  126. package/.medusa/server/src/modules/lead/models/lead.d.ts +26 -0
  127. package/.medusa/server/src/modules/lead/models/lead.js +53 -0
  128. package/.medusa/server/src/modules/lead/service.d.ts +29 -0
  129. package/.medusa/server/src/modules/lead/service.js +11 -0
  130. package/.medusa/server/src/modules/lead/spam.d.ts +24 -0
  131. package/.medusa/server/src/modules/lead/spam.js +114 -0
  132. package/.medusa/server/src/modules/newsletter/config.d.ts +14 -0
  133. package/.medusa/server/src/modules/newsletter/config.js +51 -0
  134. package/.medusa/server/src/modules/newsletter/email.d.ts +9 -0
  135. package/.medusa/server/src/modules/newsletter/email.js +38 -0
  136. package/.medusa/server/src/modules/newsletter/events.d.ts +10 -0
  137. package/.medusa/server/src/modules/newsletter/events.js +34 -0
  138. package/.medusa/server/src/modules/newsletter/index.d.ts +10 -0
  139. package/.medusa/server/src/modules/newsletter/index.js +33 -0
  140. package/.medusa/server/src/modules/newsletter/migrations/Migration20261030130000.d.ts +5 -0
  141. package/.medusa/server/src/modules/newsletter/migrations/Migration20261030130000.js +18 -0
  142. package/.medusa/server/src/modules/newsletter/models/newsletter-subscriber.d.ts +21 -0
  143. package/.medusa/server/src/modules/newsletter/models/newsletter-subscriber.js +35 -0
  144. package/.medusa/server/src/modules/newsletter/service.d.ts +24 -0
  145. package/.medusa/server/src/modules/newsletter/service.js +11 -0
  146. package/.medusa/server/src/modules/newsletter/token.d.ts +10 -0
  147. package/.medusa/server/src/modules/newsletter/token.js +97 -0
  148. package/.medusa/server/src/modules/product-review/config.d.ts +5 -0
  149. package/.medusa/server/src/modules/product-review/config.js +10 -0
  150. package/.medusa/server/src/modules/product-review/index.d.ts +7 -0
  151. package/.medusa/server/src/modules/product-review/index.js +18 -0
  152. package/.medusa/server/src/modules/product-review/migrations/Migration20261030160100.d.ts +5 -0
  153. package/.medusa/server/src/modules/product-review/migrations/Migration20261030160100.js +18 -0
  154. package/.medusa/server/src/modules/product-review/models/product-review.d.ts +16 -0
  155. package/.medusa/server/src/modules/product-review/models/product-review.js +26 -0
  156. package/.medusa/server/src/modules/product-review/service.d.ts +25 -0
  157. package/.medusa/server/src/modules/product-review/service.js +12 -0
  158. package/.medusa/server/src/modules/quote-request/config.d.ts +14 -0
  159. package/.medusa/server/src/modules/quote-request/config.js +52 -0
  160. package/.medusa/server/src/modules/quote-request/email.d.ts +17 -0
  161. package/.medusa/server/src/modules/quote-request/email.js +133 -0
  162. package/.medusa/server/src/modules/quote-request/index.d.ts +8 -0
  163. package/.medusa/server/src/modules/quote-request/index.js +23 -0
  164. package/.medusa/server/src/modules/quote-request/migrations/Migration20261029160000.d.ts +5 -0
  165. package/.medusa/server/src/modules/quote-request/migrations/Migration20261029160000.js +20 -0
  166. package/.medusa/server/src/modules/quote-request/models/quote-request.d.ts +24 -0
  167. package/.medusa/server/src/modules/quote-request/models/quote-request.js +54 -0
  168. package/.medusa/server/src/modules/quote-request/service.d.ts +32 -0
  169. package/.medusa/server/src/modules/quote-request/service.js +12 -0
  170. package/.medusa/server/src/modules/seo/models/seo-page.js +5 -5
  171. package/.medusa/server/src/modules/seo/sitemap.js +44 -10
  172. package/.medusa/server/src/modules/seo/structured-data.d.ts +1 -1
  173. package/.medusa/server/src/modules/seo/structured-data.js +41 -25
  174. package/.medusa/server/src/modules/seo/technical.d.ts +7 -2
  175. package/.medusa/server/src/modules/seo/technical.js +45 -6
  176. package/.medusa/server/src/modules/seo/types.d.ts +2 -0
  177. package/.medusa/server/src/modules/wishlist/index.d.ts +5 -0
  178. package/.medusa/server/src/modules/wishlist/index.js +14 -0
  179. package/.medusa/server/src/modules/wishlist/migrations/Migration20261030160000.d.ts +5 -0
  180. package/.medusa/server/src/modules/wishlist/migrations/Migration20261030160000.js +17 -0
  181. package/.medusa/server/src/modules/wishlist/models/wishlist-item.d.ts +6 -0
  182. package/.medusa/server/src/modules/wishlist/models/wishlist-item.js +14 -0
  183. package/.medusa/server/src/modules/wishlist/service.d.ts +15 -0
  184. package/.medusa/server/src/modules/wishlist/service.js +12 -0
  185. package/.medusa/server/src/scripts/ensure-locales.d.ts +2 -0
  186. package/.medusa/server/src/scripts/ensure-locales.js +34 -0
  187. package/.medusa/server/src/scripts/ensure-shipping.d.ts +3 -0
  188. package/.medusa/server/src/scripts/ensure-shipping.js +211 -0
  189. package/.medusa/server/src/scripts/verify-bootstrap.js +19 -2
  190. package/.medusa/server/src/subscribers/quote-request-order-placed.d.ts +7 -0
  191. package/.medusa/server/src/subscribers/quote-request-order-placed.js +27 -0
  192. package/package.json +3 -2
@@ -0,0 +1,24 @@
1
+ export declare const QUOTE_REQUEST_STATUSES: readonly ["new", "reviewing", "quoted", "accepted", "rejected", "draft_order", "ordered", "closed"];
2
+ export declare const QUOTE_ORDER_TYPES: readonly ["one_time", "recurring"];
3
+ declare const QuoteRequest: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
4
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
5
+ status: import("@medusajs/framework/utils").EnumProperty<["new", "reviewing", "quoted", "accepted", "rejected", "draft_order", "ordered", "closed"]>;
6
+ company_name: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
7
+ tax_number: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
8
+ company_address: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
9
+ contact_name: import("@medusajs/framework/utils").TextProperty;
10
+ contact_email: import("@medusajs/framework/utils").TextProperty;
11
+ contact_phone: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
12
+ order_type: import("@medusajs/framework/utils").EnumProperty<["one_time", "recurring"]>;
13
+ recurrence: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
14
+ note: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
15
+ admin_note: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
16
+ items: import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>;
17
+ extra_fields: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
18
+ customer_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
19
+ draft_order_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
20
+ order_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
21
+ currency_code: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
22
+ source: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
23
+ }>, "quote_request">;
24
+ export default QuoteRequest;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QUOTE_ORDER_TYPES = exports.QUOTE_REQUEST_STATUSES = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ exports.QUOTE_REQUEST_STATUSES = [
6
+ "new",
7
+ "reviewing",
8
+ "quoted",
9
+ "accepted",
10
+ "rejected",
11
+ "draft_order",
12
+ "ordered",
13
+ "closed",
14
+ ];
15
+ exports.QUOTE_ORDER_TYPES = ["one_time", "recurring"];
16
+ const QuoteRequest = utils_1.model.define("quote_request", {
17
+ id: utils_1.model.id().primaryKey(),
18
+ status: utils_1.model.enum([
19
+ "new",
20
+ "reviewing",
21
+ "quoted",
22
+ "accepted",
23
+ "rejected",
24
+ "draft_order",
25
+ "ordered",
26
+ "closed",
27
+ ]),
28
+ company_name: utils_1.model.text().nullable(),
29
+ tax_number: utils_1.model.text().nullable(),
30
+ company_address: utils_1.model.text().nullable(),
31
+ contact_name: utils_1.model.text(),
32
+ contact_email: utils_1.model.text(),
33
+ contact_phone: utils_1.model.text().nullable(),
34
+ order_type: utils_1.model.enum(["one_time", "recurring"]),
35
+ recurrence: utils_1.model.text().nullable(),
36
+ note: utils_1.model.text().nullable(),
37
+ admin_note: utils_1.model.text().nullable(),
38
+ items: utils_1.model.json(),
39
+ extra_fields: utils_1.model.json().nullable(),
40
+ customer_id: utils_1.model.text().nullable(),
41
+ draft_order_id: utils_1.model.text().nullable(),
42
+ order_id: utils_1.model.text().nullable(),
43
+ currency_code: utils_1.model.text().nullable(),
44
+ source: utils_1.model.text().nullable(),
45
+ }).indexes([
46
+ { on: ["status", "created_at"] },
47
+ { on: ["contact_email", "created_at"] },
48
+ { on: ["company_name"] },
49
+ { on: ["customer_id"] },
50
+ { on: ["draft_order_id"] },
51
+ { on: ["order_id"] },
52
+ ]);
53
+ exports.default = QuoteRequest;
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3F1b3RlLXJlcXVlc3QvbW9kZWxzL3F1b3RlLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWlEO0FBRXBDLFFBQUEsc0JBQXNCLEdBQUc7SUFDcEMsS0FBSztJQUNMLFdBQVc7SUFDWCxRQUFRO0lBQ1IsVUFBVTtJQUNWLFVBQVU7SUFDVixhQUFhO0lBQ2IsU0FBUztJQUNULFFBQVE7Q0FDQSxDQUFBO0FBRUcsUUFBQSxpQkFBaUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQVUsQ0FBQTtBQUVuRSxNQUFNLFlBQVksR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtJQUNqRCxFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRTtJQUMzQixNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQztRQUNqQixLQUFLO1FBQ0wsV0FBVztRQUNYLFFBQVE7UUFDUixVQUFVO1FBQ1YsVUFBVTtRQUNWLGFBQWE7UUFDYixTQUFTO1FBQ1QsUUFBUTtLQUNULENBQUM7SUFDRixZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyQyxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUMxQixhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUMzQixhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqRCxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxJQUFJLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxLQUFLLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNuQixZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyQyxXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyxjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN2QyxRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNoQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ1QsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLEVBQUU7SUFDaEMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLEVBQUU7SUFDdkMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRTtJQUN4QixFQUFFLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFO0lBQ3ZCLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtJQUMxQixFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFO0NBQ3JCLENBQUMsQ0FBQTtBQUVGLGtCQUFlLFlBQVksQ0FBQSJ9
@@ -0,0 +1,32 @@
1
+ declare const QuoteRequestBaseService: import("@medusajs/framework/utils").MedusaServiceReturnType<import("@medusajs/framework/utils").ModelConfigurationsToConfigTemplate<{
2
+ readonly QuoteRequest: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
3
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
4
+ status: import("@medusajs/framework/utils").EnumProperty<["new", "reviewing", "quoted", "accepted", "rejected", "draft_order", "ordered", "closed"]>;
5
+ company_name: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
6
+ tax_number: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
7
+ company_address: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
8
+ contact_name: import("@medusajs/framework/utils").TextProperty;
9
+ contact_email: import("@medusajs/framework/utils").TextProperty;
10
+ contact_phone: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
11
+ order_type: import("@medusajs/framework/utils").EnumProperty<["one_time", "recurring"]>;
12
+ recurrence: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
13
+ note: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
14
+ admin_note: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
15
+ items: import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>;
16
+ extra_fields: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
17
+ customer_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
18
+ draft_order_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
19
+ order_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
20
+ currency_code: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
21
+ source: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
22
+ }>, "quote_request">;
23
+ }>>;
24
+ type QuoteRequestBaseServiceInstance = InstanceType<typeof QuoteRequestBaseService>;
25
+ export default class QuoteRequestService extends QuoteRequestBaseService {
26
+ createQuoteRequests: QuoteRequestBaseServiceInstance["createQuoteRequests"];
27
+ updateQuoteRequests: QuoteRequestBaseServiceInstance["updateQuoteRequests"];
28
+ retrieveQuoteRequest: QuoteRequestBaseServiceInstance["retrieveQuoteRequest"];
29
+ listQuoteRequests: QuoteRequestBaseServiceInstance["listQuoteRequests"];
30
+ listAndCountQuoteRequests: QuoteRequestBaseServiceInstance["listAndCountQuoteRequests"];
31
+ }
32
+ export {};
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_1 = require("@medusajs/framework/utils");
7
+ const quote_request_1 = __importDefault(require("./models/quote-request"));
8
+ const QuoteRequestBaseService = (0, utils_1.MedusaService)({ QuoteRequest: quote_request_1.default });
9
+ class QuoteRequestService extends QuoteRequestBaseService {
10
+ }
11
+ exports.default = QuoteRequestService;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3F1b3RlLXJlcXVlc3Qvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUF5RDtBQUN6RCwyRUFBaUQ7QUFFakQsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLHFCQUFhLEVBQUMsRUFBRSxZQUFZLEVBQVosdUJBQVksRUFBRSxDQUFDLENBQUE7QUFHL0QsTUFBcUIsbUJBQW9CLFNBQVEsdUJBQXVCO0NBTXZFO0FBTkQsc0NBTUMifQ==
@@ -4,13 +4,13 @@ const utils_1 = require("@medusajs/framework/utils");
4
4
  const SeoPage = utils_1.model.define("seo_page", {
5
5
  id: utils_1.model.id().primaryKey(),
6
6
  path: utils_1.model.text(),
7
- title: utils_1.model.text().nullable(),
8
- description: utils_1.model.text().nullable(),
7
+ title: utils_1.model.text().translatable().nullable(),
8
+ description: utils_1.model.text().translatable().nullable(),
9
9
  canonical_url: utils_1.model.text().nullable(),
10
10
  noindex: utils_1.model.boolean().default(false),
11
11
  nofollow: utils_1.model.boolean().default(false),
12
- og_title: utils_1.model.text().nullable(),
13
- og_description: utils_1.model.text().nullable(),
12
+ og_title: utils_1.model.text().translatable().nullable(),
13
+ og_description: utils_1.model.text().translatable().nullable(),
14
14
  og_image: utils_1.model.text().nullable(),
15
15
  updated_by: utils_1.model.text().nullable(),
16
16
  }).indexes([
@@ -18,4 +18,4 @@ const SeoPage = utils_1.model.define("seo_page", {
18
18
  { on: ["updated_at"] },
19
19
  ]);
20
20
  exports.default = SeoPage;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLXBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9zZW8vbW9kZWxzL3Nlby1wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWlEO0FBRWpELE1BQU0sT0FBTyxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ3ZDLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ2xCLEtBQUssRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlCLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLGFBQWEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLE9BQU8sRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUN2QyxRQUFRLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDeEMsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsY0FBYyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDcEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNULEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtJQUM5QixFQUFFLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFO0NBQ3ZCLENBQUMsQ0FBQTtBQUVGLGtCQUFlLE9BQU8sQ0FBQSJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLXBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9zZW8vbW9kZWxzL3Nlby1wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWlEO0FBRWpELE1BQU0sT0FBTyxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ3ZDLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ2xCLEtBQUssRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdDLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ25ELGFBQWEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLE9BQU8sRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUN2QyxRQUFRLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDeEMsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDaEQsY0FBYyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEQsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDcEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNULEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtJQUM5QixFQUFFLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFO0NBQ3ZCLENBQUMsQ0FBQTtBQUVGLGtCQUFlLE9BQU8sQ0FBQSJ9
@@ -31,18 +31,22 @@ async function collectSitemapEntries(container) {
31
31
  if (!storefrontUrl)
32
32
  return [];
33
33
  const entries = [];
34
+ const supportedLocales = await resolveSupportedLocales(query, config.supportedLocales);
34
35
  const products = await paginateGraph(query, {
35
36
  entity: "product",
36
37
  fields: ["id", "handle", "metadata", "updated_at", "status"],
37
38
  filters: { status: "published" },
38
39
  });
39
40
  for (const product of products) {
40
- if (!product.handle || (0, helpers_1.seoFromMetadata)(product.metadata).noindex)
41
+ const seo = (0, helpers_1.seoFromMetadata)(product.metadata);
42
+ if (!product.handle || seo.noindex)
41
43
  continue;
42
- const canonical = (0, technical_1.buildCanonicalUrl)((0, technical_1.buildProductPath)(String(product.handle), config), (0, helpers_1.seoFromMetadata)(product.metadata).canonical, config);
43
- if (!canonical || !sameOrigin(canonical, storefrontUrl))
44
- continue;
45
- entries.push({ loc: canonical, lastmod: isoDate(product.updated_at) });
44
+ for (const locale of supportedLocales) {
45
+ const canonical = (0, technical_1.buildCanonicalUrl)((0, technical_1.buildProductPath)(String(product.handle), config, locale), locale === config.defaultLocale ? seo.canonical : null, config);
46
+ if (!canonical || !sameOrigin(canonical, storefrontUrl))
47
+ continue;
48
+ entries.push({ loc: canonical, lastmod: isoDate(product.updated_at) });
49
+ }
46
50
  }
47
51
  const categories = await paginateGraph(query, {
48
52
  entity: "product_category",
@@ -56,10 +60,12 @@ async function collectSitemapEntries(container) {
56
60
  const seo = (0, helpers_1.seoFromMetadata)(category.metadata);
57
61
  if (seo.noindex)
58
62
  continue;
59
- const canonical = (0, technical_1.buildCanonicalUrl)((0, technical_1.buildCategoryPath)(String(category.handle), config), seo.canonical, config);
60
- if (!canonical || !sameOrigin(canonical, storefrontUrl))
61
- continue;
62
- entries.push({ loc: canonical, lastmod: isoDate(category.updated_at) });
63
+ for (const locale of supportedLocales) {
64
+ const canonical = (0, technical_1.buildCanonicalUrl)((0, technical_1.buildCategoryPath)(String(category.handle), config, locale), locale === config.defaultLocale ? seo.canonical : null, config);
65
+ if (!canonical || !sameOrigin(canonical, storefrontUrl))
66
+ continue;
67
+ entries.push({ loc: canonical, lastmod: isoDate(category.updated_at) });
68
+ }
63
69
  }
64
70
  const pages = await seoStore.listSeoPages({}, { order: { path: "ASC" } });
65
71
  for (const page of pages) {
@@ -72,6 +78,34 @@ async function collectSitemapEntries(container) {
72
78
  }
73
79
  return dedupeEntries(entries);
74
80
  }
81
+ async function resolveSupportedLocales(query, fallback) {
82
+ try {
83
+ const result = await query.graph({
84
+ entity: "store",
85
+ fields: ["id", "supported_locales.locale_code"],
86
+ });
87
+ const locales = (result.data || [])
88
+ .flatMap((store) => Array.isArray(store.supported_locales) ? store.supported_locales : [])
89
+ .map((item) => publicLocale(item?.locale_code))
90
+ .filter((locale) => locale !== null);
91
+ const unique = Array.from(new Set(locales));
92
+ if (unique.length)
93
+ return unique;
94
+ }
95
+ catch {
96
+ // Store locales are the runtime source of truth. Env config remains a safe
97
+ // bootstrap/fallback for installations that haven't provisioned locales yet.
98
+ }
99
+ return fallback;
100
+ }
101
+ function publicLocale(value) {
102
+ const code = String(value || "").trim().toLowerCase();
103
+ if (code === "hu" || code.startsWith("hu-"))
104
+ return "hu";
105
+ if (code === "en" || code.startsWith("en-"))
106
+ return "en";
107
+ return null;
108
+ }
75
109
  async function paginateGraph(query, base) {
76
110
  const rows = [];
77
111
  let skip = 0;
@@ -133,4 +167,4 @@ function clampPage(page, pages) {
133
167
  const safe = Number.isFinite(page) ? Math.floor(page) : 1;
134
168
  return Math.max(1, Math.min(safe, pages));
135
169
  }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3Nlby9zaXRlbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNEJBLGdEQXFCQztBQWhERCxxREFBcUU7QUFDckUsMkNBQXdDO0FBRXhDLHVDQUEyQztBQUMzQywyQ0FNb0I7QUFFcEIsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUE7QUFDbkMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBO0FBY3BCLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsU0FBMEIsRUFDMUIsYUFBNkI7SUFFN0IsTUFBTSxNQUFNLEdBQUcsSUFBQSxpQ0FBcUIsR0FBRSxDQUFBO0lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFBO0lBQ25GLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3RELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUE7SUFFM0UsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUMxRCxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFnQixFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQ3RFLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsYUFBYSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNq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
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3Nlby9zaXRlbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0NBLGdEQXFCQztBQXBERCxxREFBcUU7QUFDckUsMkNBQXdDO0FBRXhDLHVDQUEyQztBQUMzQywyQ0FPb0I7QUFFcEIsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUE7QUFDbkMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBO0FBaUJwQixLQUFLLFVBQVUsa0JBQWtCLENBQ3RDLFNBQTBCLEVBQzFCLGFBQTZCO0lBRTdCLE1BQU0sTUFBTSxHQUFHLElBQUEsaUNBQXFCLEdBQUUsQ0FBQTtJQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQTtJQUNuRixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxDQUFBO0lBRTNFLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBZ0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQTtJQUN0RSxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLGFBQWEsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFD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QUFJLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RixHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDNUUsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEdBQVcsRUFBRSxJQUFZO0lBQzNDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQTtJQUNyRCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLEtBQWM7SUFDN0IsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLFNBQVMsQ0FBQTtJQUM1QixNQUFNLElBQUksR0FBRyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3BFLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQTtJQUNsRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQUMzQixDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsSUFBWSxFQUFFLEtBQWE7SUFDNUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3pELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUMzQyxDQUFDIn0=
@@ -5,4 +5,4 @@ export type StructuredDataInput = {
5
5
  handle?: string;
6
6
  path?: string;
7
7
  };
8
- export declare function generateSeoStructuredData(container: MedusaContainer, input: StructuredDataInput): Promise<Record<string, unknown>[] | null>;
8
+ export declare function generateSeoStructuredData(container: MedusaContainer, input: StructuredDataInput, locale?: string | null): Promise<Record<string, unknown>[] | null>;
@@ -2,36 +2,52 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateSeoStructuredData = generateSeoStructuredData;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
- const constants_1 = require("./constants");
6
5
  const technical_1 = require("./technical");
7
6
  const helpers_1 = require("./helpers");
8
- async function generateSeoStructuredData(container, input) {
7
+ async function generateSeoStructuredData(container, input, locale) {
9
8
  const config = (0, technical_1.getSeoTechnicalConfig)();
9
+ const publicLocale = (0, technical_1.normalizeSeoLocale)(locale || config.defaultLocale);
10
+ const medusaLocale = (0, technical_1.medusaLocaleForSeo)(publicLocale);
10
11
  const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
11
12
  const graph = [];
12
13
  graph.push(...siteNodes(config));
13
14
  if (input.type === "site")
14
15
  return graph;
15
16
  if (input.type === "product") {
16
- const product = await loadProduct(query, input, config);
17
+ const product = await loadProduct(query, input, config, medusaLocale);
17
18
  if (!product)
18
19
  return null;
19
- const productNodes = await productStructuredData(container, query, product, config);
20
+ const productNodes = await productStructuredData(container, query, product, config, publicLocale);
20
21
  graph.push(...productNodes);
21
22
  return compactGraph(graph);
22
23
  }
23
24
  if (input.type === "category") {
24
- const category = await loadCategory(query, input);
25
+ const category = await loadCategory(query, input, medusaLocale);
25
26
  if (!category)
26
27
  return null;
27
- graph.push(...categoryStructuredData(category, config));
28
+ graph.push(...categoryStructuredData(category, config, publicLocale));
28
29
  return compactGraph(graph);
29
30
  }
30
31
  const path = normalizePath(input.path || "/");
31
- const seoStore = container.resolve(constants_1.SEO_MODULE);
32
- const [page] = await seoStore.listSeoPages({ path }, { take: 1 });
32
+ const pageResult = await query.graph({
33
+ entity: "seo_page",
34
+ fields: [
35
+ "id",
36
+ "path",
37
+ "title",
38
+ "description",
39
+ "canonical_url",
40
+ "noindex",
41
+ "nofollow",
42
+ "og_title",
43
+ "og_description",
44
+ "og_image",
45
+ ],
46
+ filters: { path },
47
+ }, { locale: medusaLocale });
48
+ const page = pageResult.data?.[0] || null;
33
49
  const pageSeo = page ? (0, helpers_1.seoFromPage)(page) : null;
34
- const url = (0, technical_1.buildCanonicalUrl)(path, pageSeo?.canonical || null, config);
50
+ const url = (0, technical_1.buildCanonicalUrl)(path, publicLocale === config.defaultLocale ? pageSeo?.canonical || null : null, config);
35
51
  graph.push(compactObject({
36
52
  "@type": "WebPage",
37
53
  "@id": url ? `${url}#webpage` : undefined,
@@ -69,7 +85,7 @@ function siteNodes(config) {
69
85
  });
70
86
  return compactGraph(nodes);
71
87
  }
72
- async function loadProduct(query, input, config) {
88
+ async function loadProduct(query, input, config, locale) {
73
89
  const region = await resolveRegion(query, config);
74
90
  if (!region)
75
91
  return null;
@@ -118,10 +134,10 @@ async function loadProduct(query, input, config) {
118
134
  }),
119
135
  },
120
136
  },
121
- });
137
+ }, { locale });
122
138
  return result.data?.[0] || null;
123
139
  }
124
- async function loadCategory(query, input) {
140
+ async function loadCategory(query, input, locale) {
125
141
  const result = await query.graph({
126
142
  entity: "product_category",
127
143
  fields: [
@@ -135,13 +151,13 @@ async function loadCategory(query, input) {
135
151
  "parent_category.handle",
136
152
  ],
137
153
  filters: input.id ? { id: input.id } : { handle: input.handle },
138
- });
154
+ }, { locale });
139
155
  return result.data?.[0] || null;
140
156
  }
141
- async function productStructuredData(container, query, product, config) {
157
+ async function productStructuredData(container, query, product, config, locale) {
142
158
  const handle = String(product.handle || product.id);
143
159
  const customSeo = (0, helpers_1.seoFromMetadata)(product.metadata);
144
- const canonical = (0, technical_1.buildCanonicalUrl)((0, technical_1.buildProductPath)(handle, config), customSeo.canonical, config);
160
+ const canonical = (0, technical_1.buildCanonicalUrl)((0, technical_1.buildProductPath)(handle, config, locale), locale === config.defaultLocale ? customSeo.canonical : null, config);
145
161
  const images = productImages(product, config.storefrontUrl);
146
162
  const variants = Array.isArray(product.variants) ? product.variants : [];
147
163
  const taxModule = container.resolve(utils_1.Modules.TAX);
@@ -209,13 +225,13 @@ async function productStructuredData(container, query, product, config) {
209
225
  ...(identifier || {}),
210
226
  offers: offers.length === 1 ? offers[0] : offers.length ? offers : undefined,
211
227
  });
212
- const breadcrumb = productBreadcrumb(product, canonical, config);
228
+ const breadcrumb = productBreadcrumb(product, canonical, config, locale);
213
229
  return compactGraph([productNode, breadcrumb]);
214
230
  }
215
- function categoryStructuredData(category, config) {
231
+ function categoryStructuredData(category, config, locale) {
216
232
  const handle = String(category.handle || category.id);
217
233
  const customSeo = (0, helpers_1.seoFromMetadata)(category.metadata);
218
- const canonical = (0, technical_1.buildCanonicalUrl)((0, technical_1.buildCategoryPath)(handle, config), customSeo.canonical, config);
234
+ const canonical = (0, technical_1.buildCanonicalUrl)((0, technical_1.buildCategoryPath)(handle, config, locale), locale === config.defaultLocale ? customSeo.canonical : null, config);
219
235
  const pageNode = compactObject({
220
236
  "@type": "CollectionPage",
221
237
  "@id": canonical ? `${canonical}#collection` : undefined,
@@ -226,22 +242,22 @@ function categoryStructuredData(category, config) {
226
242
  ? { "@id": `${config.storefrontUrl}/#website` }
227
243
  : undefined,
228
244
  });
229
- const breadcrumb = breadcrumbNode(breadcrumbItemsForCategory(category, canonical, config), canonical);
245
+ const breadcrumb = breadcrumbNode(breadcrumbItemsForCategory(category, canonical, config, locale), canonical);
230
246
  return compactGraph([pageNode, breadcrumb]);
231
247
  }
232
- function productBreadcrumb(product, canonical, config) {
248
+ function productBreadcrumb(product, canonical, config, locale) {
233
249
  const items = [];
234
250
  if (config.storefrontUrl) {
235
251
  items.push({ name: config.storeName, url: `${config.storefrontUrl}/` });
236
252
  }
237
253
  const category = Array.isArray(product.categories) ? product.categories[0] : null;
238
254
  if (category) {
239
- items.push(...breadcrumbItemsForCategory(category, null, config).slice(1));
255
+ items.push(...breadcrumbItemsForCategory(category, null, config, locale).slice(1));
240
256
  }
241
257
  items.push({ name: String(product.title || "Termék"), url: canonical });
242
258
  return breadcrumbNode(items, canonical);
243
259
  }
244
- function breadcrumbItemsForCategory(category, canonical, config) {
260
+ function breadcrumbItemsForCategory(category, canonical, config, locale) {
245
261
  const items = [];
246
262
  if (config.storefrontUrl) {
247
263
  items.push({ name: config.storeName, url: `${config.storefrontUrl}/` });
@@ -251,14 +267,14 @@ function breadcrumbItemsForCategory(category, canonical, config) {
251
267
  items.push({
252
268
  name: String(parent.name),
253
269
  url: parent.handle
254
- ? (0, technical_1.buildCanonicalUrl)((0, technical_1.buildCategoryPath)(String(parent.handle), config), null, config)
270
+ ? (0, technical_1.buildCanonicalUrl)((0, technical_1.buildCategoryPath)(String(parent.handle), config, locale), null, config)
255
271
  : null,
256
272
  });
257
273
  }
258
274
  items.push({
259
275
  name: String(category.name || "Kategória"),
260
276
  url: canonical || (category.handle
261
- ? (0, technical_1.buildCanonicalUrl)((0, technical_1.buildCategoryPath)(String(category.handle), config), null, config)
277
+ ? (0, technical_1.buildCanonicalUrl)((0, technical_1.buildCategoryPath)(String(category.handle), config, locale), null, config)
262
278
  : null),
263
279
  });
264
280
  return items;
@@ -413,4 +429,4 @@ function compactObject(value) {
413
429
  function compactGraph(values) {
414
430
  return values.filter((value) => value && Object.keys(value).length);
415
431
  }
416
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvc2VvL3N0cnVjdHVyZWQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlEQSw4REE4Q0M7QUExRkQscURBTWtDO0FBQ2xDLDJDQUF3QztBQUV4QywyQ0FLb0I7QUFDcEIsdUNBQXdEO0FBNkJqRCxLQUFLLFVBQVUseUJBQXlCLENBQzdDLFNBQTBCLEVBQzFCLEtBQTBCO0lBRTFCLE1BQU0sTUFBTSxHQUFHLElBQUEsaUNBQXFCLEdBQUUsQ0FBQTtJQUN0QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM3QixpQ0FBeUIsQ0FBQyxLQUFLLENBQ1IsQ0FBQTtJQUV6QixNQUFNLEtBQUssR0FBbUMsRUFBRSxDQUFBO0lBQ2hELEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUVoQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBRXZDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM3QixNQUFNLE9BQU8sR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDekIsTUFBTSxZQUFZLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNuRixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUE7UUFDM0IsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztR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
432
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvc2VvL3N0cnVjdHVyZWQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFEQSw4REEwRUM7QUExSEQscURBTWtDO0FBQ2xDLDJDQVFvQjtBQUNwQix1Q0FBd0Q7QUFnQ2pELEtBQUssVUFBVSx5QkFBeUIsQ0FDN0MsU0FBMEIsRUFDMUIsS0FBMEIsRUFDMUIsTUFBc0I7SUFFdEIsTUFBTSxNQUFNLEdBQUcsSUFBQSxpQ0FBcUIsR0FBRSxDQUFBO0lBQ3RDLE1BQU0sWUFBWSxHQUFHLElBQUEsOEJBQWtCLEVBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUN2RSxNQUFNLFlBQVksR0FBRyxJQUFBLDhCQUFrQixFQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3JELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQzdCLGlDQUF5QixDQUFDLEtBQUssQ0FDUixDQUFBO0lBRXpCLE1BQU0sS0FBSyxHQUFtQyxFQUFFLENBQUE7SUFDaEQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBRWhDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFdkMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzdCLE1BQU0sT0FBTyxHQUFHLE1BQU0sV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQ3JFLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDekIsTUFBTSxZQUFZLEdBQUcsTUFBTSxxQkFBcUIsQ0FDOUMsU0FBUyxFQUNULEtBQUssRUFDTCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFlBQVksQ0FD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QUFFLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFBO0lBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFBO0FBQ3hDLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBZ0MsS0FBUTtJQUM1RCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsQ0FDM0UsQ0FBQTtBQUNSLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxNQUFzQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ3JFLENBQUMifQ==
@@ -1,7 +1,12 @@
1
1
  import type { SeoHeadContract, SeoMetadata, SeoTechnicalConfig } from "./types";
2
+ export type SeoPublicLocale = "hu" | "en";
2
3
  export declare function getSeoTechnicalConfig(): SeoTechnicalConfig;
3
- export declare function buildProductPath(handle: string, config?: SeoTechnicalConfig): string;
4
- export declare function buildCategoryPath(handle: string, config?: SeoTechnicalConfig): string;
4
+ export declare function buildProductPath(handle: string, config?: SeoTechnicalConfig, locale?: SeoPublicLocale): string;
5
+ export declare function buildCategoryPath(handle: string, config?: SeoTechnicalConfig, locale?: SeoPublicLocale): string;
6
+ export declare function normalizeSeoLocale(value: unknown): SeoPublicLocale;
7
+ export declare function medusaLocaleForSeo(locale: SeoPublicLocale): "hu-HU" | "en-US";
8
+ export declare function productsSegment(locale: SeoPublicLocale): "termekek" | "products";
9
+ export declare function categoriesSegment(locale: SeoPublicLocale): "kategoriak" | "categories";
5
10
  export declare function buildCanonicalUrl(path: string, explicitCanonical?: string | null, config?: SeoTechnicalConfig): string | null;
6
11
  export declare function buildSeoHeadContract(input: {
7
12
  seo: SeoMetadata;