@hszrdm/core 1.0.3 → 1.1.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 (124) hide show
  1. package/.medusa/server/src/admin/index.js +3582 -2374
  2. package/.medusa/server/src/admin/index.mjs +3582 -2374
  3. package/.medusa/server/src/api/admin/cms/entries/[id]/route.d.ts +6 -0
  4. package/.medusa/server/src/api/admin/cms/entries/[id]/route.js +78 -0
  5. package/.medusa/server/src/api/admin/cms/entries/route.d.ts +5 -0
  6. package/.medusa/server/src/api/admin/cms/entries/route.js +77 -0
  7. package/.medusa/server/src/api/admin/cms/taxonomy/[id]/route.d.ts +5 -0
  8. package/.medusa/server/src/api/admin/cms/taxonomy/[id]/route.js +50 -0
  9. package/.medusa/server/src/api/admin/cms/taxonomy/route.d.ts +5 -0
  10. package/.medusa/server/src/api/admin/cms/taxonomy/route.js +60 -0
  11. package/.medusa/server/src/api/admin/core/status/route.d.ts +2 -0
  12. package/.medusa/server/src/api/admin/core/status/route.js +11 -0
  13. package/.medusa/server/src/api/admin/featured-products/[id]/route.d.ts +7 -0
  14. package/.medusa/server/src/api/admin/featured-products/[id]/route.js +54 -0
  15. package/.medusa/server/src/api/admin/leads/[id]/route.d.ts +9 -0
  16. package/.medusa/server/src/api/admin/leads/[id]/route.js +64 -0
  17. package/.medusa/server/src/api/admin/leads/route.d.ts +2 -0
  18. package/.medusa/server/src/api/admin/leads/route.js +26 -0
  19. package/.medusa/server/src/api/admin/quote-requests/[id]/draft-order/route.d.ts +8 -0
  20. package/.medusa/server/src/api/admin/quote-requests/[id]/draft-order/route.js +160 -0
  21. package/.medusa/server/src/api/admin/quote-requests/[id]/order/route.d.ts +2 -0
  22. package/.medusa/server/src/api/admin/quote-requests/[id]/order/route.js +54 -0
  23. package/.medusa/server/src/api/admin/quote-requests/[id]/route.d.ts +5 -0
  24. package/.medusa/server/src/api/admin/quote-requests/[id]/route.js +80 -0
  25. package/.medusa/server/src/api/admin/quote-requests/route.d.ts +2 -0
  26. package/.medusa/server/src/api/admin/quote-requests/route.js +19 -0
  27. package/.medusa/server/src/api/middlewares.js +11 -6
  28. package/.medusa/server/src/api/store/cms/config/route.d.ts +2 -0
  29. package/.medusa/server/src/api/store/cms/config/route.js +17 -0
  30. package/.medusa/server/src/api/store/cms/entries/[slug]/route.d.ts +2 -0
  31. package/.medusa/server/src/api/store/cms/entries/[slug]/route.js +62 -0
  32. package/.medusa/server/src/api/store/cms/entries/route.d.ts +2 -0
  33. package/.medusa/server/src/api/store/cms/entries/route.js +87 -0
  34. package/.medusa/server/src/api/store/cms/taxonomy/route.d.ts +2 -0
  35. package/.medusa/server/src/api/store/cms/taxonomy/route.js +44 -0
  36. package/.medusa/server/src/api/store/core/pricing/variants/[id]/route.d.ts +2 -0
  37. package/.medusa/server/src/api/store/core/pricing/variants/[id]/route.js +152 -0
  38. package/.medusa/server/src/api/store/featured-products/route.d.ts +2 -0
  39. package/.medusa/server/src/api/store/featured-products/route.js +38 -0
  40. package/.medusa/server/src/api/store/leads/config/route.d.ts +2 -0
  41. package/.medusa/server/src/api/store/leads/config/route.js +21 -0
  42. package/.medusa/server/src/api/store/leads/route.d.ts +4 -0
  43. package/.medusa/server/src/api/store/leads/route.js +176 -0
  44. package/.medusa/server/src/api/store/quote-requests/config/route.d.ts +2 -0
  45. package/.medusa/server/src/api/store/quote-requests/config/route.js +13 -0
  46. package/.medusa/server/src/api/store/quote-requests/route.d.ts +5 -0
  47. package/.medusa/server/src/api/store/quote-requests/route.js +214 -0
  48. package/.medusa/server/src/api/store/seo/route.js +42 -10
  49. package/.medusa/server/src/api/store/seo/structured-data/route.js +3 -2
  50. package/.medusa/server/src/config.js +7 -1
  51. package/.medusa/server/src/core/admin-analytics-dashboard.d.ts +1 -0
  52. package/.medusa/server/src/core/admin-analytics-dashboard.js +15 -3
  53. package/.medusa/server/src/core/featured-products.d.ts +19 -0
  54. package/.medusa/server/src/core/featured-products.js +45 -0
  55. package/.medusa/server/src/core/pricing-tiers.d.ts +25 -0
  56. package/.medusa/server/src/core/pricing-tiers.js +88 -0
  57. package/.medusa/server/src/core/release-info.d.ts +10 -0
  58. package/.medusa/server/src/core/release-info.js +22 -0
  59. package/.medusa/server/src/core/version.d.ts +4 -4
  60. package/.medusa/server/src/core/version.js +3 -3
  61. package/.medusa/server/src/lib/modules/arukereso/config.js +2 -2
  62. package/.medusa/server/src/lib/modules/google-merchant/config.d.ts +2 -0
  63. package/.medusa/server/src/lib/modules/google-merchant/config.js +9 -2
  64. package/.medusa/server/src/lib/modules/google-merchant/feed.d.ts +1 -0
  65. package/.medusa/server/src/lib/modules/google-merchant/feed.js +4 -2
  66. package/.medusa/server/src/localized-config.d.ts +9 -0
  67. package/.medusa/server/src/localized-config.js +14 -0
  68. package/.medusa/server/src/modules/cms/config.d.ts +10 -0
  69. package/.medusa/server/src/modules/cms/config.js +50 -0
  70. package/.medusa/server/src/modules/cms/index.d.ts +8 -0
  71. package/.medusa/server/src/modules/cms/index.js +28 -0
  72. package/.medusa/server/src/modules/cms/migrations/Migration20261029170000.d.ts +5 -0
  73. package/.medusa/server/src/modules/cms/migrations/Migration20261029170000.js +27 -0
  74. package/.medusa/server/src/modules/cms/migrations/Migration20261029190000.d.ts +5 -0
  75. package/.medusa/server/src/modules/cms/migrations/Migration20261029190000.js +52 -0
  76. package/.medusa/server/src/modules/cms/models/cms.d.ts +67 -0
  77. package/.medusa/server/src/modules/cms/models/cms.js +64 -0
  78. package/.medusa/server/src/modules/cms/service.d.ts +82 -0
  79. package/.medusa/server/src/modules/cms/service.js +9 -0
  80. package/.medusa/server/src/modules/cms/utils.d.ts +67 -0
  81. package/.medusa/server/src/modules/cms/utils.js +190 -0
  82. package/.medusa/server/src/modules/integration-settings/arukereso-registration.js +2 -2
  83. package/.medusa/server/src/modules/integration-settings/google-merchant-registration.js +6 -2
  84. package/.medusa/server/src/modules/lead/config.d.ts +37 -0
  85. package/.medusa/server/src/modules/lead/config.js +147 -0
  86. package/.medusa/server/src/modules/lead/email.d.ts +17 -0
  87. package/.medusa/server/src/modules/lead/email.js +68 -0
  88. package/.medusa/server/src/modules/lead/index.d.ts +9 -0
  89. package/.medusa/server/src/modules/lead/index.js +27 -0
  90. package/.medusa/server/src/modules/lead/migrations/Migration20261029163000.d.ts +5 -0
  91. package/.medusa/server/src/modules/lead/migrations/Migration20261029163000.js +19 -0
  92. package/.medusa/server/src/modules/lead/models/lead.d.ts +26 -0
  93. package/.medusa/server/src/modules/lead/models/lead.js +53 -0
  94. package/.medusa/server/src/modules/lead/service.d.ts +29 -0
  95. package/.medusa/server/src/modules/lead/service.js +11 -0
  96. package/.medusa/server/src/modules/lead/spam.d.ts +24 -0
  97. package/.medusa/server/src/modules/lead/spam.js +114 -0
  98. package/.medusa/server/src/modules/quote-request/config.d.ts +14 -0
  99. package/.medusa/server/src/modules/quote-request/config.js +52 -0
  100. package/.medusa/server/src/modules/quote-request/email.d.ts +17 -0
  101. package/.medusa/server/src/modules/quote-request/email.js +133 -0
  102. package/.medusa/server/src/modules/quote-request/index.d.ts +8 -0
  103. package/.medusa/server/src/modules/quote-request/index.js +23 -0
  104. package/.medusa/server/src/modules/quote-request/migrations/Migration20261029160000.d.ts +5 -0
  105. package/.medusa/server/src/modules/quote-request/migrations/Migration20261029160000.js +20 -0
  106. package/.medusa/server/src/modules/quote-request/models/quote-request.d.ts +24 -0
  107. package/.medusa/server/src/modules/quote-request/models/quote-request.js +54 -0
  108. package/.medusa/server/src/modules/quote-request/service.d.ts +32 -0
  109. package/.medusa/server/src/modules/quote-request/service.js +12 -0
  110. package/.medusa/server/src/modules/seo/models/seo-page.js +5 -5
  111. package/.medusa/server/src/modules/seo/sitemap.js +44 -10
  112. package/.medusa/server/src/modules/seo/structured-data.d.ts +1 -1
  113. package/.medusa/server/src/modules/seo/structured-data.js +41 -25
  114. package/.medusa/server/src/modules/seo/technical.d.ts +7 -2
  115. package/.medusa/server/src/modules/seo/technical.js +45 -6
  116. package/.medusa/server/src/modules/seo/types.d.ts +2 -0
  117. package/.medusa/server/src/scripts/ensure-locales.d.ts +2 -0
  118. package/.medusa/server/src/scripts/ensure-locales.js +34 -0
  119. package/.medusa/server/src/scripts/ensure-shipping.d.ts +3 -0
  120. package/.medusa/server/src/scripts/ensure-shipping.js +211 -0
  121. package/.medusa/server/src/scripts/verify-bootstrap.js +19 -2
  122. package/.medusa/server/src/subscribers/quote-request-order-placed.d.ts +7 -0
  123. package/.medusa/server/src/subscribers/quote-request-order-placed.js +27 -0
  124. package/package.json +2 -2
@@ -0,0 +1,82 @@
1
+ declare const CmsBaseService: import("@medusajs/framework/utils").MedusaServiceReturnType<import("@medusajs/framework/utils").ModelConfigurationsToConfigTemplate<{
2
+ readonly CmsEntry: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
3
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
4
+ content_type: import("@medusajs/framework/utils").TextProperty;
5
+ status: import("@medusajs/framework/utils").EnumProperty<["draft", "published", "scheduled", "archived"]>;
6
+ title: import("@medusajs/framework/utils").TextProperty;
7
+ slug: import("@medusajs/framework/utils").TextProperty;
8
+ excerpt: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
9
+ body: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
10
+ body_format: import("@medusajs/framework/utils").EnumProperty<["markdown", "html", "blocks"]>;
11
+ blocks: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
12
+ featured_image_url: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
13
+ featured_image_alt: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
14
+ author_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
15
+ author_name: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
16
+ seo_title: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
17
+ seo_description: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
18
+ canonical_url: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
19
+ noindex: import("@medusajs/framework/utils").BooleanProperty;
20
+ og_image_url: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
21
+ published_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
22
+ sort_order: import("@medusajs/framework/utils").NumberProperty;
23
+ custom_fields: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
24
+ terms: import("@medusajs/framework/utils").ManyToMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
25
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
26
+ taxonomy: import("@medusajs/framework/utils").EnumProperty<["category", "tag"]>;
27
+ name: import("@medusajs/framework/utils").TextProperty;
28
+ slug: import("@medusajs/framework/utils").TextProperty;
29
+ description: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
30
+ metadata: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
31
+ entries: import("@medusajs/framework/utils").ManyToMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "cms_entry">>;
32
+ }>, "cms_taxonomy_term">>;
33
+ }>, "cms_entry">;
34
+ readonly CmsTaxonomyTerm: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
35
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
36
+ taxonomy: import("@medusajs/framework/utils").EnumProperty<["category", "tag"]>;
37
+ name: import("@medusajs/framework/utils").TextProperty;
38
+ slug: import("@medusajs/framework/utils").TextProperty;
39
+ description: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
40
+ metadata: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
41
+ entries: import("@medusajs/framework/utils").ManyToMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
42
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
43
+ content_type: import("@medusajs/framework/utils").TextProperty;
44
+ status: import("@medusajs/framework/utils").EnumProperty<["draft", "published", "scheduled", "archived"]>;
45
+ title: import("@medusajs/framework/utils").TextProperty;
46
+ slug: import("@medusajs/framework/utils").TextProperty;
47
+ excerpt: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
48
+ body: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
49
+ body_format: import("@medusajs/framework/utils").EnumProperty<["markdown", "html", "blocks"]>;
50
+ blocks: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
51
+ featured_image_url: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
52
+ featured_image_alt: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
53
+ author_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
54
+ author_name: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
55
+ seo_title: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
56
+ seo_description: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
57
+ canonical_url: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
58
+ noindex: import("@medusajs/framework/utils").BooleanProperty;
59
+ og_image_url: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
60
+ published_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
61
+ sort_order: import("@medusajs/framework/utils").NumberProperty;
62
+ custom_fields: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
63
+ terms: import("@medusajs/framework/utils").ManyToMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "cms_taxonomy_term">>;
64
+ }>, "cms_entry">>;
65
+ }>, "cms_taxonomy_term">;
66
+ }>>;
67
+ type CmsBaseServiceInstance = InstanceType<typeof CmsBaseService>;
68
+ export default class CmsService extends CmsBaseService {
69
+ createCmsEntries: CmsBaseServiceInstance["createCmsEntries"];
70
+ updateCmsEntries: CmsBaseServiceInstance["updateCmsEntries"];
71
+ deleteCmsEntries: CmsBaseServiceInstance["deleteCmsEntries"];
72
+ retrieveCmsEntry: CmsBaseServiceInstance["retrieveCmsEntry"];
73
+ listCmsEntries: CmsBaseServiceInstance["listCmsEntries"];
74
+ listAndCountCmsEntries: CmsBaseServiceInstance["listAndCountCmsEntries"];
75
+ createCmsTaxonomyTerms: CmsBaseServiceInstance["createCmsTaxonomyTerms"];
76
+ updateCmsTaxonomyTerms: CmsBaseServiceInstance["updateCmsTaxonomyTerms"];
77
+ deleteCmsTaxonomyTerms: CmsBaseServiceInstance["deleteCmsTaxonomyTerms"];
78
+ retrieveCmsTaxonomyTerm: CmsBaseServiceInstance["retrieveCmsTaxonomyTerm"];
79
+ listCmsTaxonomyTerms: CmsBaseServiceInstance["listCmsTaxonomyTerms"];
80
+ listAndCountCmsTaxonomyTerms: CmsBaseServiceInstance["listAndCountCmsTaxonomyTerms"];
81
+ }
82
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const cms_1 = require("./models/cms");
5
+ const CmsBaseService = (0, utils_1.MedusaService)({ CmsEntry: cms_1.CmsEntry, CmsTaxonomyTerm: cms_1.CmsTaxonomyTerm });
6
+ class CmsService extends CmsBaseService {
7
+ }
8
+ exports.default = CmsService;
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Ntcy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQXlEO0FBQ3pELHNDQUF3RDtBQUV4RCxNQUFNLGNBQWMsR0FBRyxJQUFBLHFCQUFhLEVBQUMsRUFBRSxRQUFRLEVBQVIsY0FBUSxFQUFFLGVBQWUsRUFBZixxQkFBZSxFQUFFLENBQUMsQ0FBQTtBQUduRSxNQUFxQixVQUFXLFNBQVEsY0FBYztDQWNyRDtBQWRELDZCQWNDIn0=
@@ -0,0 +1,67 @@
1
+ export type CmsEntryLike = Record<string, any>;
2
+ export declare function slugifyCms(value: unknown): string;
3
+ export declare function normalizeCmsEntryInput(body: Record<string, unknown>, defaults: {
4
+ actorId?: string | null;
5
+ }, current?: CmsEntryLike | null): {
6
+ content_type: string;
7
+ status: string;
8
+ title: string;
9
+ slug: string;
10
+ excerpt: string | null;
11
+ body: string | null;
12
+ body_format: string;
13
+ blocks: object | null;
14
+ featured_image_url: string | null;
15
+ featured_image_alt: string | null;
16
+ author_id: string | null;
17
+ author_name: string | null;
18
+ seo_title: string | null;
19
+ seo_description: string | null;
20
+ canonical_url: string | null;
21
+ noindex: boolean;
22
+ og_image_url: string | null;
23
+ published_at: Date | null;
24
+ sort_order: number;
25
+ custom_fields: Record<string, unknown> | null;
26
+ terms: string[];
27
+ };
28
+ export declare function normalizeCmsTaxonomyInput(body: Record<string, unknown>, current?: Record<string, any> | null): {
29
+ taxonomy: string;
30
+ name: string;
31
+ slug: string;
32
+ description: string | null;
33
+ metadata: Record<string, unknown> | null;
34
+ };
35
+ export declare function isCmsEntryPublic(entry: CmsEntryLike, now?: Date): boolean;
36
+ export declare function publicCmsEntry(entry: CmsEntryLike, locale?: string | null): {
37
+ id: any;
38
+ content_type: any;
39
+ title: any;
40
+ slug: any;
41
+ excerpt: any;
42
+ body: any;
43
+ body_format: any;
44
+ blocks: any;
45
+ locale: string | null;
46
+ featured_image_url: any;
47
+ featured_image_alt: any;
48
+ author_name: any;
49
+ seo_title: any;
50
+ seo_description: any;
51
+ canonical_url: any;
52
+ noindex: boolean;
53
+ og_image_url: any;
54
+ published_at: any;
55
+ sort_order: number;
56
+ custom_fields: any;
57
+ terms: {
58
+ id: any;
59
+ taxonomy: any;
60
+ name: any;
61
+ slug: any;
62
+ description: any;
63
+ locale: string | null;
64
+ }[];
65
+ created_at: any;
66
+ updated_at: any;
67
+ };
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.slugifyCms = slugifyCms;
4
+ exports.normalizeCmsEntryInput = normalizeCmsEntryInput;
5
+ exports.normalizeCmsTaxonomyInput = normalizeCmsTaxonomyInput;
6
+ exports.isCmsEntryPublic = isCmsEntryPublic;
7
+ exports.publicCmsEntry = publicCmsEntry;
8
+ const cms_1 = require("./models/cms");
9
+ function slugifyCms(value) {
10
+ const input = typeof value === "string" ? value.trim() : "";
11
+ return input
12
+ .normalize("NFD")
13
+ .replace(/[\u0300-\u036f]/g, "")
14
+ .toLowerCase()
15
+ .replace(/[^a-z0-9]+/g, "-")
16
+ .replace(/^-+|-+$/g, "")
17
+ .slice(0, 180);
18
+ }
19
+ function normalizeCmsEntryInput(body, defaults, current) {
20
+ const value = (key) => fieldValue(body, key, current);
21
+ const contentType = requiredText(value("content_type"), "Tartalomtípus", 80);
22
+ const title = requiredText(value("title"), "Cím", 500);
23
+ const slug = slugifyCms(value("slug") || title);
24
+ if (!slug)
25
+ throw new Error("Érvényes slug szükséges.");
26
+ const statusRaw = optionalText(value("status"), 40) || "draft";
27
+ if (!cms_1.CMS_ENTRY_STATUSES.includes(statusRaw)) {
28
+ throw new Error("Érvénytelen CMS státusz.");
29
+ }
30
+ const formatRaw = optionalText(value("body_format"), 40) || "markdown";
31
+ if (!cms_1.CMS_BODY_FORMATS.includes(formatRaw)) {
32
+ throw new Error("Érvénytelen tartalomformátum.");
33
+ }
34
+ let publishedAt = dateValue(value("published_at"));
35
+ if (statusRaw === "published" && !publishedAt)
36
+ publishedAt = new Date();
37
+ if (statusRaw === "scheduled" && !publishedAt) {
38
+ throw new Error("Időzített publikáláshoz publikálási időpont szükséges.");
39
+ }
40
+ const authorId = hasOwn(body, "author_id")
41
+ ? body.author_id
42
+ : current
43
+ ? current.author_id
44
+ : defaults.actorId;
45
+ const termsValue = hasOwn(body, "term_ids")
46
+ ? body.term_ids
47
+ : hasOwn(body, "terms")
48
+ ? body.terms
49
+ : current?.terms;
50
+ return {
51
+ content_type: contentType,
52
+ status: statusRaw,
53
+ title,
54
+ slug,
55
+ excerpt: optionalText(value("excerpt"), 5000),
56
+ body: optionalText(value("body"), 500_000),
57
+ body_format: formatRaw,
58
+ blocks: jsonObjectOrArray(value("blocks")),
59
+ featured_image_url: optionalText(value("featured_image_url"), 2000),
60
+ featured_image_alt: optionalText(value("featured_image_alt"), 500),
61
+ author_id: optionalText(authorId, 255),
62
+ author_name: optionalText(value("author_name"), 240),
63
+ seo_title: optionalText(value("seo_title"), 500),
64
+ seo_description: optionalText(value("seo_description"), 2000),
65
+ canonical_url: optionalText(value("canonical_url"), 2000),
66
+ noindex: booleanValue(value("noindex")),
67
+ og_image_url: optionalText(value("og_image_url"), 2000),
68
+ published_at: publishedAt,
69
+ sort_order: integerValue(value("sort_order"), 0),
70
+ custom_fields: jsonObject(value("custom_fields")),
71
+ terms: normalizeIds(termsValue),
72
+ };
73
+ }
74
+ function normalizeCmsTaxonomyInput(body, current) {
75
+ const value = (key) => fieldValue(body, key, current);
76
+ const taxonomy = optionalText(value("taxonomy"), 40) || "category";
77
+ if (!cms_1.CMS_TAXONOMIES.includes(taxonomy)) {
78
+ throw new Error("Érvénytelen taxonómia.");
79
+ }
80
+ const name = requiredText(value("name"), "Név", 240);
81
+ const slug = slugifyCms(value("slug") || name);
82
+ if (!slug)
83
+ throw new Error("Érvényes taxonómia slug szükséges.");
84
+ return {
85
+ taxonomy,
86
+ name,
87
+ slug,
88
+ description: optionalText(value("description"), 5000),
89
+ metadata: jsonObject(value("metadata")),
90
+ };
91
+ }
92
+ function isCmsEntryPublic(entry, now = new Date()) {
93
+ if (entry.status !== "published" && entry.status !== "scheduled")
94
+ return false;
95
+ const publishedAt = dateValue(entry.published_at);
96
+ if (!publishedAt)
97
+ return entry.status === "published";
98
+ return publishedAt.getTime() <= now.getTime();
99
+ }
100
+ function publicCmsEntry(entry, locale) {
101
+ return {
102
+ id: entry.id,
103
+ content_type: entry.content_type,
104
+ title: entry.title,
105
+ slug: entry.slug,
106
+ excerpt: entry.excerpt ?? null,
107
+ body: entry.body ?? null,
108
+ body_format: entry.body_format,
109
+ blocks: entry.blocks ?? null,
110
+ locale: locale || null,
111
+ featured_image_url: entry.featured_image_url ?? null,
112
+ featured_image_alt: entry.featured_image_alt ?? null,
113
+ author_name: entry.author_name ?? null,
114
+ seo_title: entry.seo_title ?? null,
115
+ seo_description: entry.seo_description ?? null,
116
+ canonical_url: entry.canonical_url ?? null,
117
+ noindex: entry.noindex === true,
118
+ og_image_url: entry.og_image_url ?? null,
119
+ published_at: entry.published_at ?? null,
120
+ sort_order: Number(entry.sort_order || 0),
121
+ custom_fields: entry.custom_fields ?? null,
122
+ terms: Array.isArray(entry.terms)
123
+ ? entry.terms.map((term) => ({
124
+ id: term.id,
125
+ taxonomy: term.taxonomy,
126
+ name: term.name,
127
+ slug: term.slug,
128
+ description: term.description ?? null,
129
+ locale: locale || null,
130
+ }))
131
+ : [],
132
+ created_at: entry.created_at,
133
+ updated_at: entry.updated_at,
134
+ };
135
+ }
136
+ function fieldValue(body, key, current) {
137
+ return hasOwn(body, key) ? body[key] : current?.[key];
138
+ }
139
+ function hasOwn(value, key) {
140
+ return Object.prototype.hasOwnProperty.call(value, key);
141
+ }
142
+ function normalizeIds(value) {
143
+ if (!Array.isArray(value))
144
+ return [];
145
+ return [...new Set(value.map((item) => {
146
+ if (typeof item === "string")
147
+ return item.trim();
148
+ if (item && typeof item === "object" && "id" in item)
149
+ return String(item.id || "").trim();
150
+ return "";
151
+ }).filter(Boolean))].slice(0, 100);
152
+ }
153
+ function requiredText(value, label, max) {
154
+ const result = optionalText(value, max);
155
+ if (!result)
156
+ throw new Error(`${label} megadása kötelező.`);
157
+ return result;
158
+ }
159
+ function optionalText(value, max) {
160
+ if (typeof value !== "string")
161
+ return null;
162
+ const result = value.trim();
163
+ return result ? result.slice(0, max) : null;
164
+ }
165
+ function booleanValue(value) {
166
+ return value === true || value === "true" || value === 1 || value === "1";
167
+ }
168
+ function integerValue(value, fallback) {
169
+ const number = Number(value);
170
+ return Number.isFinite(number) ? Math.trunc(number) : fallback;
171
+ }
172
+ function dateValue(value) {
173
+ if (!value)
174
+ return null;
175
+ if (value instanceof Date)
176
+ return Number.isNaN(value.getTime()) ? null : value;
177
+ if (typeof value !== "string" && typeof value !== "number")
178
+ return null;
179
+ const date = new Date(value);
180
+ return Number.isNaN(date.getTime()) ? null : date;
181
+ }
182
+ function jsonObject(value) {
183
+ return value && typeof value === "object" && !Array.isArray(value)
184
+ ? value
185
+ : null;
186
+ }
187
+ function jsonObjectOrArray(value) {
188
+ return value && typeof value === "object" ? value : null;
189
+ }
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9jbXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxnQ0FTQztBQUVELHdEQStEQztBQUVELDhEQW1CQztBQUVELDRDQUtDO0FBRUQsd0NBbUNDO0FBbkpELHNDQUlxQjtBQUlyQixTQUFnQixVQUFVLENBQUMsS0FBYztJQUN2QyxNQUFNLEtBQUssR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQzNELE9BQU8sS0FBSztTQUNULFNBQVMsQ0FBQyxLQUFLLENBQUM7U0FDaEIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztTQUMvQixXQUFXLEVBQUU7U0FDYixPQUFPLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQztTQUMzQixPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztTQUN2QixLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQ2xCLENBQUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FDcEMsSUFBNkIsRUFDN0IsUUFBcUMsRUFDckMsT0FBNkI7SUFFN0IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRTdELE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzVFLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ3RELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFD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
@@ -23,7 +23,7 @@ if (!registry_1.INTEGRATION_DEFINITIONS.some((item) => item.key === "arukereso")
23
23
  restartRequired: false,
24
24
  fields: [
25
25
  text("ARUKERESO_STOREFRONT_URL", "Storefront URL", "A publikus webshop originje. Üresen a STOREFRONT_URL értéke."),
26
- text("ARUKERESO_PRODUCT_PATH_TEMPLATE", "Termék URL sablon", "Alapérték: /{country_code}/products/{handle}?v_id={variant_id}."),
26
+ text("ARUKERESO_PRODUCT_PATH_TEMPLATE", "Termék URL sablon", "Alapérték: /hu/termekek/{handle}?v_id={variant_id}."),
27
27
  text("ARUKERESO_SALES_CHANNEL_ID", "Sales Channel ID", "Opcionális. Ha meg van adva, csak az ebbe a sales channelbe tartozó termékek kerülnek a feedbe."),
28
28
  text("ARUKERESO_DEFAULT_MANUFACTURER", "Alapértelmezett gyártó", "Csak akkor töltsd ki, ha valóban minden exportált termékre ugyanaz a gyártó igaz."),
29
29
  bool("ARUKERESO_USE_SKU_AS_PRODUCT_NUMBER", "SKU használata ProductNumberként", "Csak akkor kapcsold be, ha a Medusa SKU ténylegesen a gyártó cikkszáma."),
@@ -34,4 +34,4 @@ if (!registry_1.INTEGRATION_DEFINITIONS.some((item) => item.key === "arukereso")
34
34
  };
35
35
  registry_1.INTEGRATION_DEFINITIONS.push(definition);
36
36
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ1a2VyZXNvLXJlZ2lzdHJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2ludGVncmF0aW9uLXNldHRpbmdzL2FydWtlcmVzby1yZWdpc3RyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FJbUI7QUFFbkIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLElBQWEsRUFBb0IsRUFBRSxDQUFDLENBQUM7SUFDOUUsSUFBSTtJQUNKLEtBQUs7SUFDTCxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUk7Q0FDTCxDQUFDLENBQUE7QUFFRixNQUFNLElBQUksR0FBRyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsSUFBYSxFQUFvQixFQUFFLENBQUMsQ0FBQztJQUM5RSxJQUFJO0lBQ0osS0FBSztJQUNMLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSTtDQUNMLENBQUMsQ0FBQTtBQUVGLElBQUksQ0FBQyxrQ0FBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQztJQUN0RSxNQUFNLFVBQVUsR0FBMEI7UUFDeEMsR0FBRyxFQUFFLFdBQVc7UUFDaEIsS0FBSyxFQUFFLGNBQWM7UUFDckIsUUFBUSxFQUFFLFdBQVc7UUFDckIsV0FBVyxFQUNULHdGQUF3RjtRQUMxRixVQUFVLEVBQUUsbUJBQW1CO1FBQy9CLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLE1BQU0sRUFBRTtZQUNOLElBQUksQ0FDRiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2hCLDhEQUE4RCxDQUMvRDtZQUNELElBQUksQ0FDRixpQ0FBaUMsRUFDakMsbUJBQW1CLEVBQ25CLGlFQUFpRSxDQUNsRTtZQUNELElBQUksQ0FDRiw0QkFBNEIsRUFDNUIsa0JBQWtCLEVBQ2xCLGlHQUFpRyxDQUNsRztZQUNELElBQUksQ0FDRixnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLG1GQUFtRixDQUNwRjtZQUNELElBQUksQ0FDRixxQ0FBcUMsRUFDckMsa0NBQWtDLEVBQ2xDLHlFQUF5RSxDQUMxRTtZQUNELElBQUksQ0FDRixnQ0FBZ0MsRUFDaEMsNEJBQTRCLEVBQzVCLCtFQUErRSxDQUNoRjtZQUNELElBQUksQ0FDRixpQ0FBaUMsRUFDakMsZ0NBQWdDLEVBQ2hDLHdGQUF3RixDQUN6RjtZQUNELElBQUksQ0FDRixpQ0FBaUMsRUFDakMseUJBQXlCLEVBQ3pCLGlGQUFpRixDQUNsRjtTQUNGO0tBQ0YsQ0FBQTtJQUVELGtDQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQUMxQyxDQUFDIn0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ1a2VyZXNvLXJlZ2lzdHJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2ludGVncmF0aW9uLXNldHRpbmdzL2FydWtlcmVzby1yZWdpc3RyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FJbUI7QUFFbkIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLElBQWEsRUFBb0IsRUFBRSxDQUFDLENBQUM7SUFDOUUsSUFBSTtJQUNKLEtBQUs7SUFDTCxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUk7Q0FDTCxDQUFDLENBQUE7QUFFRixNQUFNLElBQUksR0FBRyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsSUFBYSxFQUFvQixFQUFFLENBQUMsQ0FBQztJQUM5RSxJQUFJO0lBQ0osS0FBSztJQUNMLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSTtDQUNMLENBQUMsQ0FBQTtBQUVGLElBQUksQ0FBQyxrQ0FBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQztJQUN0RSxNQUFNLFVBQVUsR0FBMEI7UUFDeEMsR0FBRyxFQUFFLFdBQVc7UUFDaEIsS0FBSyxFQUFFLGNBQWM7UUFDckIsUUFBUSxFQUFFLFdBQVc7UUFDckIsV0FBVyxFQUNULHdGQUF3RjtRQUMxRixVQUFVLEVBQUUsbUJBQW1CO1FBQy9CLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLE1BQU0sRUFBRTtZQUNOLElBQUksQ0FDRiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2hCLDhEQUE4RCxDQUMvRDtZQUNELElBQUksQ0FDRixpQ0FBaUMsRUFDakMsbUJBQW1CLEVBQ25CLHFEQUFxRCxDQUN0RDtZQUNELElBQUksQ0FDRiw0QkFBNEIsRUFDNUIsa0JBQWtCLEVBQ2xCLGlHQUFpRyxDQUNsRztZQUNELElBQUksQ0FDRixnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLG1GQUFtRixDQUNwRjtZQUNELElBQUksQ0FDRixxQ0FBcUMsRUFDckMsa0NBQWtDLEVBQ2xDLHlFQUF5RSxDQUMxRTtZQUNELElBQUksQ0FDRixnQ0FBZ0MsRUFDaEMsNEJBQTRCLEVBQzVCLCtFQUErRSxDQUNoRjtZQUNELElBQUksQ0FDRixpQ0FBaUMsRUFDakMsZ0NBQWdDLEVBQ2hDLHdGQUF3RixDQUN6RjtZQUNELElBQUksQ0FDRixpQ0FBaUMsRUFDakMseUJBQXlCLEVBQ3pCLGlGQUFpRixDQUNsRjtTQUNGO0tBQ0YsQ0FBQTtJQUVELGtDQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQUMxQyxDQUFDIn0=
@@ -15,8 +15,12 @@ if (!registry_1.INTEGRATION_DEFINITIONS.some((item) => item.key === "google-merc
15
15
  fields: [
16
16
  text("GOOGLE_MERCHANT_COUNTRY_CODE", "Célország", "Kétbetűs ISO országkód, például HU. Üresen a STORE_DEFAULT_COUNTRY értéke."),
17
17
  text("GOOGLE_MERCHANT_CURRENCY_CODE", "Pénznem", "Hárombetűs ISO pénznem, például HUF. Üresen a STORE_DEFAULT_CURRENCY értéke."),
18
+ select("GOOGLE_MERCHANT_LOCALE", "Feed nyelve", [
19
+ { label: "Magyar (hu-HU)", value: "hu-HU" },
20
+ { label: "Angol (en-US)", value: "en-US" },
21
+ ]),
18
22
  text("GOOGLE_MERCHANT_STOREFRONT_URL", "Storefront URL", "A publikus webshop originje. Üresen a STOREFRONT_URL értéke."),
19
- text("GOOGLE_MERCHANT_PRODUCT_PATH_TEMPLATE", "Termék URL sablon", "Alapérték: /{country_code}/products/{handle}?v_id={variant_id}. Használható: {country_code}, {currency_code}, {handle}, {variant_id}."),
23
+ text("GOOGLE_MERCHANT_PRODUCT_PATH_TEMPLATE", "Termék URL sablon", "Alapérték: /{locale}/{products_segment}/{handle}?v_id={variant_id}. Használható: {locale}, {products_segment}, {country_code}, {currency_code}, {handle}, {variant_id}."),
20
24
  text("GOOGLE_MERCHANT_SALES_CHANNEL_ID", "Sales Channel ID", "Opcionális. Ha meg van adva, csak az ebbe a Medusa sales channelbe tartozó termékek kerülnek a feedbe."),
21
25
  text("GOOGLE_MERCHANT_DEFAULT_BRAND", "Alapértelmezett márka", "Csak akkor használd, ha ez ténylegesen minden érintett termékre igaz. Termék/variant metadata felülírhatja."),
22
26
  select("GOOGLE_MERCHANT_DEFAULT_CONDITION", "Alapértelmezett állapot", [
@@ -31,4 +35,4 @@ if (!registry_1.INTEGRATION_DEFINITIONS.some((item) => item.key === "google-merc
31
35
  };
32
36
  registry_1.INTEGRATION_DEFINITIONS.push(definition);
33
37
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLW1lcmNoYW50LXJlZ2lzdHJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2ludGVncmF0aW9uLXNldHRpbmdzL2dvb2dsZS1tZXJjaGFudC1yZWdpc3RyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FJbUI7QUFFbkIsTUFBTSxJQUFJLEdBQUcsQ0FDWCxJQUFZLEVBQ1osS0FBYSxFQUNiLElBQWEsRUFDSyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBRTVELE1BQU0sSUFBSSxHQUFHLENBQ1gsSUFBWSxFQUNaLEtBQWEsRUFDYixJQUFhLEVBQ0ssRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUUvRCxNQUFNLE1BQU0sR0FBRyxDQUNiLElBQVksRUFDWixLQUFhLEVBQ2IsT0FBZ0QsRUFDOUIsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUVqRSxJQUFJLENBQUMsa0NBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztJQUM1RSxNQUFNLFVBQVUsR0FBMEI7UUFDeEMsR0FBRyxFQUFFLGlCQUFpQjtRQUN0QixLQUFLLEVBQUUsd0JBQXdCO1FBQy9CLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFdBQVcsRUFDVCxzR0FBc0c7UUFDeEcsVUFBVSxFQUFFLHlCQUF5QjtRQUNyQyxlQUFlLEVBQUUsS0FBSztRQUN0QixNQUFNLEVBQUU7WUFDTixJQUFJLENBQ0YsOEJBQThCLEVBQzlCLFdBQVcsRUFDWCw0RUFBNEUsQ0FDN0U7WUFDRCxJQUFJLENBQ0YsK0JBQStCLEVBQy9CLFNBQVMsRUFDVCw4RUFBOEUsQ0FDL0U7WUFDRCxJQUFJLENBQ0YsZ0NBQWdDLEVBQ2hDLGdCQUFnQixFQUNoQiw4REFBOEQsQ0FDL0Q7WUFDRCxJQUFJLENBQ0YsdUNBQXVDLEVBQ3ZDLG1CQUFtQixFQUNuQix1SUFBdUksQ0FDeEk7WUFDRCxJQUFJLENBQ0Ysa0NBQWtDLEVBQ2xDLGtCQUFrQixFQUNsQix3R0FBd0csQ0FDekc7WUFDRCxJQUFJLENBQ0YsK0JBQStCLEVBQy9CLHVCQUF1QixFQUN2Qiw2R0FBNkcsQ0FDOUc7WUFDRCxNQUFNLENBQUMsbUNBQW1DLEVBQUUseUJBQXlCLEVBQUU7Z0JBQ3JFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtnQkFDN0MsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7YUFDckMsQ0FBQztZQUNGLElBQUksQ0FDRixzQ0FBc0MsRUFDdEMsNEJBQTRCLEVBQzVCLHdIQUF3SCxDQUN6SDtZQUNELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxXQUFXLENBQUM7WUFDL0MsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLGNBQWMsQ0FBQztTQUN6RDtLQUNGLENBQUE7SUFFRCxrQ0FBdUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7QUFDMUMsQ0FBQyJ9
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLW1lcmNoYW50LXJlZ2lzdHJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2ludGVncmF0aW9uLXNldHRpbmdzL2dvb2dsZS1tZXJjaGFudC1yZWdpc3RyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FJbUI7QUFFbkIsTUFBTSxJQUFJLEdBQUcsQ0FDWCxJQUFZLEVBQ1osS0FBYSxFQUNiLElBQWEsRUFDSyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBRTVELE1BQU0sSUFBSSxHQUFHLENBQ1gsSUFBWSxFQUNaLEtBQWEsRUFDYixJQUFhLEVBQ0ssRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUUvRCxNQUFNLE1BQU0sR0FBRyxDQUNiLElBQVksRUFDWixLQUFhLEVBQ2IsT0FBZ0QsRUFDOUIsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUVqRSxJQUFJLENBQUMsa0NBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztJQUM1RSxNQUFNLFVBQVUsR0FBMEI7UUFDeEMsR0FBRyxFQUFFLGlCQUFpQjtRQUN0QixLQUFLLEVBQUUsd0JBQXdCO1FBQy9CLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFdBQVcsRUFDVCxzR0FBc0c7UUFDeEcsVUFBVSxFQUFFLHlCQUF5QjtRQUNyQyxlQUFlLEVBQUUsS0FBSztRQUN0QixNQUFNLEVBQUU7WUFDTixJQUFJLENBQ0YsOEJBQThCLEVBQzlCLFdBQVcsRUFDWCw0RUFBNEUsQ0FDN0U7WUFDRCxJQUFJLENBQ0YsK0JBQStCLEVBQy9CLFNBQVMsRUFDVCw4RUFBOEUsQ0FDL0U7WUFDRCxNQUFNLENBQUMsd0JBQXdCLEVBQUUsYUFBYSxFQUFFO2dCQUM5QyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUMzQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTthQUMzQyxDQUFDO1lBQ0YsSUFBSSxDQUNGLGdDQUFnQyxFQUNoQyxnQkFBZ0IsRUFDaEIsOERBQThELENBQy9EO1lBQ0QsSUFBSSxDQUNGLHVDQUF1QyxFQUN2QyxtQkFBbUIsRUFDbkIseUtBQXlLLENBQzFLO1lBQ0QsSUFBSSxDQUNGLGtDQUFrQyxFQUNsQyxrQkFBa0IsRUFDbEIsd0dBQXdHLENBQ3pHO1lBQ0QsSUFBSSxDQUNGLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsNkdBQTZHLENBQzlHO1lBQ0QsTUFBTSxDQUFDLG1DQUFtQyxFQUFFLHlCQUF5QixFQUFFO2dCQUNyRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFDN0IsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0JBQzdDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2FBQ3JDLENBQUM7WUFDRixJQUFJLENBQ0Ysc0NBQXNDLEVBQ3RDLDRCQUE0QixFQUM1Qix3SEFBd0gsQ0FDekg7WUFDRCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsV0FBVyxDQUFDO1lBQy9DLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxjQUFjLENBQUM7U0FDekQ7S0FDRixDQUFBO0lBRUQsa0NBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0FBQzFDLENBQUMifQ==
@@ -0,0 +1,37 @@
1
+ export type LeadFieldType = "text" | "textarea" | "email" | "phone" | "number" | "boolean" | "select";
2
+ export type LeadFieldDefinition = {
3
+ key: string;
4
+ label: string;
5
+ type: LeadFieldType;
6
+ required: boolean;
7
+ options?: string[];
8
+ };
9
+ export type LeadFormDefinition = {
10
+ key: string;
11
+ label: string;
12
+ enabled: boolean;
13
+ fields: LeadFieldDefinition[];
14
+ required_standard_fields: Array<"name" | "email" | "phone" | "company" | "message">;
15
+ privacy: {
16
+ required: boolean;
17
+ version: string;
18
+ url: string | null;
19
+ label: string;
20
+ };
21
+ };
22
+ export type LeadConfig = {
23
+ enabled: boolean;
24
+ emailEnabled: boolean;
25
+ customerEmailEnabled: boolean;
26
+ adminEmails: string[];
27
+ forms: LeadFormDefinition[];
28
+ honeypotField: string;
29
+ rateLimitMax: number;
30
+ rateLimitWindowSeconds: number;
31
+ turnstile: {
32
+ enabled: boolean;
33
+ siteKey: string | null;
34
+ secretKey: string | null;
35
+ };
36
+ };
37
+ export declare function loadLeadConfig(env?: NodeJS.ProcessEnv): LeadConfig;
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadLeadConfig = loadLeadConfig;
4
+ const DEFAULT_FORM = {
5
+ key: "contact",
6
+ label: "Kapcsolat",
7
+ enabled: true,
8
+ fields: [],
9
+ required_standard_fields: ["name", "email", "message"],
10
+ privacy: {
11
+ required: true,
12
+ version: "1",
13
+ url: null,
14
+ label: "Elfogadom az adatkezelési tájékoztatót.",
15
+ },
16
+ };
17
+ function loadLeadConfig(env = process.env) {
18
+ const forms = parseForms(env.LEAD_FORMS_JSON, env);
19
+ const secretKey = text(env.LEAD_TURNSTILE_SECRET_KEY);
20
+ const siteKey = text(env.LEAD_TURNSTILE_SITE_KEY);
21
+ return {
22
+ enabled: env.LEADS_ENABLED !== "false",
23
+ emailEnabled: env.LEAD_EMAIL_ENABLED !== "false",
24
+ customerEmailEnabled: env.LEAD_CUSTOMER_EMAIL_ENABLED === "true",
25
+ adminEmails: csv(env.LEAD_ADMIN_EMAILS || env.SUPPORT_EMAIL || env.ORDER_EMAIL),
26
+ forms,
27
+ honeypotField: text(env.LEAD_HONEYPOT_FIELD) || "website",
28
+ rateLimitMax: positiveInt(env.LEAD_RATE_LIMIT_MAX, 8),
29
+ rateLimitWindowSeconds: positiveInt(env.LEAD_RATE_LIMIT_WINDOW_SECONDS, 600),
30
+ turnstile: {
31
+ enabled: Boolean(secretKey && siteKey),
32
+ siteKey,
33
+ secretKey,
34
+ },
35
+ };
36
+ }
37
+ function parseForms(raw, env) {
38
+ const defaultPrivacy = {
39
+ required: true,
40
+ version: text(env.LEAD_PRIVACY_POLICY_VERSION) || "1",
41
+ url: text(env.LEAD_PRIVACY_POLICY_URL),
42
+ label: text(env.LEAD_PRIVACY_POLICY_LABEL) || DEFAULT_FORM.privacy.label,
43
+ };
44
+ if (!raw?.trim())
45
+ return [{ ...DEFAULT_FORM, privacy: defaultPrivacy }];
46
+ let parsed;
47
+ try {
48
+ parsed = JSON.parse(raw);
49
+ }
50
+ catch {
51
+ throw new Error("LEAD_FORMS_JSON nem érvényes JSON.");
52
+ }
53
+ if (!Array.isArray(parsed) || !parsed.length) {
54
+ throw new Error("LEAD_FORMS_JSON legalább egy űrlapdefiníciót kell tartalmazzon.");
55
+ }
56
+ const seen = new Set();
57
+ return parsed.map((entry, index) => {
58
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
59
+ throw new Error(`Érvénytelen lead űrlapdefiníció a(z) ${index + 1}. helyen.`);
60
+ }
61
+ const row = entry;
62
+ const key = requiredKey(row.key, `LEAD_FORMS_JSON[${index}].key`);
63
+ if (seen.has(key))
64
+ throw new Error(`Duplikált lead form key: ${key}`);
65
+ seen.add(key);
66
+ const privacyRaw = row.privacy && typeof row.privacy === "object" && !Array.isArray(row.privacy)
67
+ ? row.privacy
68
+ : {};
69
+ return {
70
+ key,
71
+ label: stringValue(row.label) || key,
72
+ enabled: row.enabled !== false,
73
+ fields: parseFields(row.fields, key),
74
+ required_standard_fields: parseRequiredStandardFields(row.required_standard_fields),
75
+ privacy: {
76
+ required: privacyRaw.required !== false,
77
+ version: stringValue(privacyRaw.version) || defaultPrivacy.version,
78
+ url: stringValue(privacyRaw.url) || defaultPrivacy.url,
79
+ label: stringValue(privacyRaw.label) || defaultPrivacy.label,
80
+ },
81
+ };
82
+ });
83
+ }
84
+ function parseFields(value, formKey) {
85
+ if (value == null)
86
+ return [];
87
+ if (!Array.isArray(value))
88
+ throw new Error(`${formKey}.fields csak lista lehet.`);
89
+ if (value.length > 50)
90
+ throw new Error(`${formKey}.fields legfeljebb 50 mezőt tartalmazhat.`);
91
+ const seen = new Set();
92
+ return value.map((raw, index) => {
93
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
94
+ throw new Error(`${formKey}.fields[${index}] érvénytelen.`);
95
+ const row = raw;
96
+ const key = requiredKey(row.key, `${formKey}.fields[${index}].key`);
97
+ if (seen.has(key))
98
+ throw new Error(`Duplikált lead mező: ${formKey}.${key}`);
99
+ seen.add(key);
100
+ const type = stringValue(row.type) || "text";
101
+ if (!["text", "textarea", "email", "phone", "number", "boolean", "select"].includes(type)) {
102
+ throw new Error(`Ismeretlen lead mezőtípus: ${type}`);
103
+ }
104
+ const options = Array.isArray(row.options)
105
+ ? row.options.map(stringValue).filter((item) => Boolean(item)).slice(0, 100)
106
+ : undefined;
107
+ if (type === "select" && !options?.length)
108
+ throw new Error(`${formKey}.${key} select mezőhöz options szükséges.`);
109
+ return {
110
+ key,
111
+ label: stringValue(row.label) || key,
112
+ type: type,
113
+ required: row.required === true,
114
+ options,
115
+ };
116
+ });
117
+ }
118
+ function parseRequiredStandardFields(value) {
119
+ if (!Array.isArray(value))
120
+ return [...DEFAULT_FORM.required_standard_fields];
121
+ const allowed = new Set(["name", "email", "phone", "company", "message"]);
122
+ return [...new Set(value.map(stringValue).filter((item) => Boolean(item && allowed.has(item))))];
123
+ }
124
+ function requiredKey(value, label) {
125
+ const result = stringValue(value);
126
+ if (!result || !/^[a-z0-9][a-z0-9_-]{0,79}$/i.test(result))
127
+ throw new Error(`${label} érvénytelen.`);
128
+ return result;
129
+ }
130
+ function stringValue(value) {
131
+ if (typeof value !== "string")
132
+ return null;
133
+ const result = value.trim();
134
+ return result || null;
135
+ }
136
+ function text(value) {
137
+ const result = value?.trim();
138
+ return result || null;
139
+ }
140
+ function csv(value) {
141
+ return (value || "").split(",").map((item) => item.trim()).filter(Boolean);
142
+ }
143
+ function positiveInt(value, fallback) {
144
+ const parsed = Number(value);
145
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : fallback;
146
+ }
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvbGVhZC9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFzREEsd0NBb0JDO0FBbENELE1BQU0sWUFBWSxHQUF1QjtJQUN2QyxHQUFHLEVBQUUsU0FBUztJQUNkLEtBQUssRUFBRSxXQUFXO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLEVBQUU7SUFDVix3QkFBd0IsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO0lBQ3RELE9BQU8sRUFBRTtRQUNQLFFBQVEsRUFBRSxJQUFJO1FBQ2QsT0FBTyxFQUFFLEdBQUc7UUFDWixHQUFHLEVBQUUsSUFBSTtRQUNULEtBQUssRUFBRSx5Q0FBeUM7S0FDakQ7Q0FDRixDQUFBO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLE1BQXlCLE9BQU8sQ0FBQyxHQUFHO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ2xELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQTtJQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUE7SUFFakQsT0FBTztRQUNMLE9BQU8sRUFBRSxHQUFHLENBQUMsYUFBYSxLQUFLLE9BQU87UUFDdEMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsS0FBSyxPQUFPO1FBQ2hELG9CQUFvQixFQUFFLEdBQUcsQ0FBQywyQkFBMkIsS0FBSyxNQUFNO1FBQ2hFLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUMvRSxLQUFLO1FBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxH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
@@ -0,0 +1,17 @@
1
+ type LeadLike = Record<string, any>;
2
+ export declare function leadAdminEmail(lead: LeadLike, brand?: string): {
3
+ subject: string;
4
+ text: string;
5
+ html: string;
6
+ };
7
+ export declare function leadCustomerEmail(lead: LeadLike, brand?: string): {
8
+ subject: string;
9
+ text: string;
10
+ html: string;
11
+ };
12
+ export declare function leadStatusEmail(lead: LeadLike, brand?: string): {
13
+ subject: string;
14
+ text: string;
15
+ html: string;
16
+ };
17
+ export {};