@hszrdm/core 1.0.2 → 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 +3546 -2338
  2. package/.medusa/server/src/admin/index.mjs +3546 -2338
  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,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
6
+ const core_audit_1 = require("../../../../../modules/core-audit");
7
+ const quote_request_1 = require("../../../../../modules/quote-request");
8
+ async function POST(req, res) {
9
+ const id = req.params.id;
10
+ const service = req.scope.resolve(quote_request_1.QUOTE_REQUEST_MODULE);
11
+ const actorId = req.auth_context?.actor_id;
12
+ try {
13
+ const quote = await service.retrieveQuoteRequest(id);
14
+ if (quote.draft_order_id) {
15
+ return res.status(409).json({
16
+ message: "Ehhez az ajánlatkéréshez már tartozik draft order.",
17
+ draft_order_id: quote.draft_order_id,
18
+ });
19
+ }
20
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
21
+ const requestedCurrency = normalizeCurrency(req.body.currency_code || quote.currency_code);
22
+ const [region, salesChannel] = await Promise.all([
23
+ resolveRegion(query, req.body.region_id, requestedCurrency),
24
+ resolveSalesChannel(query, req.body.sales_channel_id),
25
+ ]);
26
+ const items = normalizeDraftItems(quote.items);
27
+ const currencyCode = normalizeCurrency(region.currency_code);
28
+ if (!currencyCode) {
29
+ throw new Error("A kiválasztott region pénzneme nem határozható meg.");
30
+ }
31
+ const { result: draftOrder } = await (0, core_flows_1.createOrderWorkflow)(req.scope).run({
32
+ input: {
33
+ is_draft_order: true,
34
+ status: utils_1.OrderStatus.DRAFT,
35
+ email: quote.contact_email || undefined,
36
+ customer_id: quote.customer_id || undefined,
37
+ region_id: region.id,
38
+ sales_channel_id: salesChannel.id,
39
+ currency_code: currencyCode,
40
+ items,
41
+ metadata: {
42
+ hszrdm_quote_request_id: quote.id,
43
+ company_name: quote.company_name || undefined,
44
+ tax_number: quote.tax_number || undefined,
45
+ company_address: quote.company_address || undefined,
46
+ contact_name: quote.contact_name || undefined,
47
+ contact_phone: quote.contact_phone || undefined,
48
+ order_type: quote.order_type,
49
+ recurrence: quote.recurrence || undefined,
50
+ quote_extra_fields: quote.extra_fields || undefined,
51
+ },
52
+ },
53
+ });
54
+ const updated = await service.updateQuoteRequests({
55
+ id,
56
+ draft_order_id: draftOrder.id,
57
+ currency_code: currencyCode,
58
+ status: "draft_order",
59
+ });
60
+ await (0, core_audit_1.writeCoreAudit)(req.scope, {
61
+ action: "quote-request.draft-order.create",
62
+ resourceType: "quote_request",
63
+ resourceId: id,
64
+ actorId,
65
+ integration: "quote-request",
66
+ summary: `Draft order létrehozva: ${draftOrder.id}.`,
67
+ details: {
68
+ draft_order_id: draftOrder.id,
69
+ region_id: region.id,
70
+ sales_channel_id: salesChannel.id,
71
+ currency_code: currencyCode,
72
+ },
73
+ });
74
+ return res.status(201).json({ quote_request: updated, draft_order: draftOrder });
75
+ }
76
+ catch (error) {
77
+ return res.status(400).json({
78
+ message: error instanceof Error
79
+ ? error.message
80
+ : "A draft order nem hozható létre.",
81
+ });
82
+ }
83
+ }
84
+ async function resolveRegion(query, id, currencyCode) {
85
+ const filters = {};
86
+ if (id)
87
+ filters.id = id;
88
+ else if (currencyCode)
89
+ filters.currency_code = currencyCode.toLowerCase();
90
+ const { data } = await query.graph({
91
+ entity: "region",
92
+ fields: ["id", "currency_code"],
93
+ filters,
94
+ pagination: { take: 1 },
95
+ });
96
+ const region = data[0];
97
+ if (!region?.id) {
98
+ if (currencyCode && !id) {
99
+ throw new Error(`Nincs ${currencyCode} pénznemű Medusa region a draft order létrehozásához.`);
100
+ }
101
+ throw new Error("Nincs használható Medusa region a draft order létrehozásához.");
102
+ }
103
+ return region;
104
+ }
105
+ async function resolveSalesChannel(query, id) {
106
+ const { data } = await query.graph({
107
+ entity: "sales_channel",
108
+ fields: ["id", "name"],
109
+ filters: id ? { id } : {},
110
+ pagination: { take: 1 },
111
+ });
112
+ const salesChannel = data[0];
113
+ if (!salesChannel?.id) {
114
+ throw new Error("Nincs használható sales channel a draft order létrehozásához.");
115
+ }
116
+ return salesChannel;
117
+ }
118
+ function normalizeDraftItems(value) {
119
+ if (!Array.isArray(value) || !value.length) {
120
+ throw new Error("Az ajánlatkérésnek nincs konvertálható tétele.");
121
+ }
122
+ return value.map((raw, index) => {
123
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
124
+ throw new Error(`Érvénytelen ${index + 1}. ajánlati tétel.`);
125
+ }
126
+ const line = raw;
127
+ const quantity = Number(line.quantity);
128
+ const unitPrice = Number(line.unit_price);
129
+ if (!Number.isInteger(quantity) || quantity <= 0) {
130
+ throw new Error(`Érvénytelen mennyiség a(z) ${index + 1}. tételnél.`);
131
+ }
132
+ if (!Number.isFinite(unitPrice) || unitPrice < 0) {
133
+ throw new Error(`A(z) ${index + 1}. tételhez előbb adj meg ajánlati egységárat az admin felületen.`);
134
+ }
135
+ const title = typeof line.title === "string" && line.title.trim()
136
+ ? line.title.trim()
137
+ : `Ajánlati tétel ${index + 1}`;
138
+ return {
139
+ title,
140
+ quantity,
141
+ unit_price: unitPrice,
142
+ variant_id: typeof line.variant_id === "string" && line.variant_id
143
+ ? line.variant_id
144
+ : undefined,
145
+ metadata: {
146
+ quote_product_id: line.product_id || undefined,
147
+ quote_sku: line.sku || undefined,
148
+ quote_custom_request: line.custom_request || undefined,
149
+ quote_is_custom: line.is_custom === true,
150
+ },
151
+ };
152
+ });
153
+ }
154
+ function normalizeCurrency(value) {
155
+ if (typeof value !== "string")
156
+ return null;
157
+ const currency = value.trim().toUpperCase();
158
+ return /^[A-Z]{3}$/.test(currency) ? currency : null;
159
+ }
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3RlLXJlcXVlc3RzL1tpZF0vZHJhZnQtb3JkZXIvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFtQkEsb0JBa0ZDO0FBcEdELHFEQUFrRjtBQUNsRiw0REFBaUU7QUFDakUsa0VBQWtFO0FBQ2xFLHdFQUc2QztBQVl0QyxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQXdCLEVBQUUsR0FBbUI7SUFDdEUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUE7SUFDeEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsb0NBQW9CLENBQXdCLENBQUE7SUFDOUUsTUFBTSxPQUFPLEdBQUksR0FBMkQsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFBO0lBRW5HLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBbUMsQ0FBQTtRQUN0RixJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMxQixPQUFPLEVBQUUsb0RBQW9EO2dCQUM3RCxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7YUFDckMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBcUIsQ0FBQTtRQUNwRixNQUFNLGlCQUFpQixHQUFHLGlCQUFpQixDQUN6QyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUM5QyxDQUFBO1FBQ0QsTUFBTSxDQUFDLE1BQU0sRUFBRSxZQUFZLENB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
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function POST(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = POST;
4
+ const core_flows_1 = require("@medusajs/medusa/core-flows");
5
+ const core_audit_1 = require("../../../../../modules/core-audit");
6
+ const quote_request_1 = require("../../../../../modules/quote-request");
7
+ async function POST(req, res) {
8
+ const id = req.params.id;
9
+ const service = req.scope.resolve(quote_request_1.QUOTE_REQUEST_MODULE);
10
+ const actorId = req.auth_context?.actor_id;
11
+ try {
12
+ const quote = await service.retrieveQuoteRequest(id);
13
+ if (quote.order_id) {
14
+ return res.status(409).json({
15
+ message: "Ez az ajánlatkérés már rendeléssé lett alakítva.",
16
+ order_id: quote.order_id,
17
+ });
18
+ }
19
+ if (!quote.draft_order_id) {
20
+ return res.status(409).json({
21
+ message: "Rendeléssé alakítás előtt hozz létre Draft Ordert.",
22
+ });
23
+ }
24
+ const { result: order } = await (0, core_flows_1.convertDraftOrderWorkflow)(req.scope).run({
25
+ input: { id: quote.draft_order_id },
26
+ });
27
+ const updated = await service.updateQuoteRequests({
28
+ id,
29
+ order_id: order.id,
30
+ status: "ordered",
31
+ });
32
+ await (0, core_audit_1.writeCoreAudit)(req.scope, {
33
+ action: "quote-request.order.create",
34
+ resourceType: "quote_request",
35
+ resourceId: id,
36
+ actorId,
37
+ integration: "quote-request",
38
+ summary: `Ajánlatkérés rendeléssé alakítva: ${order.id}.`,
39
+ details: {
40
+ draft_order_id: quote.draft_order_id,
41
+ order_id: order.id,
42
+ },
43
+ });
44
+ return res.json({ quote_request: updated, order });
45
+ }
46
+ catch (error) {
47
+ return res.status(400).json({
48
+ message: error instanceof Error
49
+ ? error.message
50
+ : "A Draft Order nem alakítható rendeléssé.",
51
+ });
52
+ }
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3RlLXJlcXVlc3RzL1tpZF0vb3JkZXIvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxvQkFvREM7QUEzREQsNERBQXVFO0FBQ3ZFLGtFQUFrRTtBQUNsRSx3RUFHNkM7QUFFdEMsS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQ2hFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFBO0lBQ3hCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG9DQUFvQixDQUF3QixDQUFBO0lBQzlFLE1BQU0sT0FBTyxHQUNYLEdBQ0QsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFBO0lBRXhCLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBbUMsQ0FBQTtRQUN0RixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMxQixPQUFPLEVBQUUsa0RBQWtEO2dCQUMzRCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7YUFDekIsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDMUIsT0FBTyxFQUFFLG9EQUFvRDthQUM5RCxDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLElBQUEsc0NBQXlCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN2RSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRTtTQUNwQyxDQUFDLENBQUE7UUFFRixNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUNoRCxFQUFFO1lBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2xCLE1BQU0sRUFBRSxTQUFTO1NBQ1QsQ0FBQyxDQUFBO1FBRVgsTUFBTSxJQUFBLDJCQUFjLEVBQUMsR0FBRyxDQUFDLEtBQWMsRUFBRTtZQUN2QyxNQUFNLEVBQUUsNEJBQTRCO1lBQ3BDLFlBQVksRUFBRSxlQUFlO1lBQzdCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsT0FBTztZQUNQLFdBQVcsRUFBRSxlQUFlO1lBQzVCLE9BQU8sRUFBRSxxQ0FBcUMsS0FBSyxDQUFDLEVBQUUsR0FBRztZQUN6RCxPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO2dCQUNwQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUU7YUFDbkI7U0FDRixDQUFDLENBQUE7UUFFRixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxLQUFLLFlBQVksS0FBSztnQkFDN0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUNmLENBQUMsQ0FBQywwQ0FBMEM7U0FDL0MsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ type Body = Record<string, unknown>;
3
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
4
+ export declare function POST(req: MedusaRequest<Body>, res: MedusaResponse): Promise<MedusaResponse>;
5
+ export {};
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ exports.POST = POST;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const core_audit_1 = require("../../../../modules/core-audit");
7
+ const quote_request_1 = require("../../../../modules/quote-request");
8
+ const route_1 = require("../../../store/quote-requests/route");
9
+ async function GET(req, res) {
10
+ const service = req.scope.resolve(quote_request_1.QUOTE_REQUEST_MODULE);
11
+ try {
12
+ const quote = await service.retrieveQuoteRequest(req.params.id);
13
+ return res.json({ quote_request: quote });
14
+ }
15
+ catch {
16
+ return res.status(404).json({ message: "Az ajánlatkérés nem található." });
17
+ }
18
+ }
19
+ async function POST(req, res) {
20
+ const id = req.params.id;
21
+ const service = req.scope.resolve(quote_request_1.QUOTE_REQUEST_MODULE);
22
+ const actorId = req.auth_context?.actor_id;
23
+ try {
24
+ const current = await service.retrieveQuoteRequest(id);
25
+ const patch = { id };
26
+ if (typeof req.body.status === "string") {
27
+ if (!quote_request_1.QUOTE_REQUEST_STATUSES.includes(req.body.status))
28
+ throw new Error("Érvénytelen ajánlat státusz.");
29
+ patch.status = req.body.status;
30
+ }
31
+ if (typeof req.body.admin_note === "string" || req.body.admin_note === null) {
32
+ patch.admin_note = typeof req.body.admin_note === "string" ? req.body.admin_note.trim().slice(0, 10000) : null;
33
+ }
34
+ if (req.body.items !== undefined)
35
+ patch.items = (0, route_1.normalizeItems)(req.body.items, true);
36
+ if (req.body.extra_fields && typeof req.body.extra_fields === "object" && !Array.isArray(req.body.extra_fields)) {
37
+ patch.extra_fields = req.body.extra_fields;
38
+ }
39
+ const updated = await service.updateQuoteRequests(patch);
40
+ await (0, core_audit_1.writeCoreAudit)(req.scope, {
41
+ action: "quote-request.update",
42
+ resourceType: "quote_request",
43
+ resourceId: id,
44
+ actorId,
45
+ integration: "quote-request",
46
+ summary: `Ajánlatkérés frissítve: ${String(updated.status || current.status)}.`,
47
+ details: { previous_status: current.status, status: updated.status },
48
+ });
49
+ if (updated.status !== current.status)
50
+ await notifyStatus(req, updated);
51
+ return res.json({ quote_request: updated });
52
+ }
53
+ catch (error) {
54
+ return res.status(400).json({ message: error instanceof Error ? error.message : "Az ajánlatkérés nem frissíthető." });
55
+ }
56
+ }
57
+ async function notifyStatus(req, quote) {
58
+ const config = (0, quote_request_1.loadQuoteRequestConfig)();
59
+ if (!config.emailEnabled || !quote.contact_email)
60
+ return;
61
+ let notifications;
62
+ try {
63
+ notifications = req.scope.resolve(utils_1.Modules.NOTIFICATION);
64
+ }
65
+ catch {
66
+ return;
67
+ }
68
+ const brand = process.env.STORE_NAME || process.env.VITE_ADMIN_BRAND_NAME || "HSZRDM Commerce";
69
+ const email = (0, quote_request_1.quoteRequestStatusEmail)(quote, brand);
70
+ await notifications.createNotifications({
71
+ to: quote.contact_email,
72
+ channel: "email",
73
+ content: email,
74
+ trigger_type: "quote-request.status",
75
+ resource_id: quote.id,
76
+ resource_type: "quote_request",
77
+ idempotency_key: `quote-request-status-${quote.id}-${quote.status}`,
78
+ }).catch(() => undefined);
79
+ }
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3RlLXJlcXVlc3RzL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrQkEsa0JBUUM7QUFFRCxvQkFvQ0M7QUEvREQscURBQW1EO0FBQ25ELCtEQUErRDtBQUMvRCxxRUFNMEM7QUFDMUMsK0RBQW9FO0FBUTdELEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0IsQ0FBd0IsQ0FBQTtJQUM5RSxJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxNQUFNLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQy9ELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxJQUFJLENBQUMsR0FBd0IsRUFBRSxHQUFtQjtJQUN0RSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQTtJQUN4QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0IsQ0FBd0IsQ0FBQTtJQUM5RSxNQUFNLE9BQU8sR0FBSSxHQUEyRCxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUE7SUFFbkcsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFP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
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ const quote_request_1 = require("../../../modules/quote-request");
5
+ async function GET(req, res) {
6
+ const service = req.scope.resolve(quote_request_1.QUOTE_REQUEST_MODULE);
7
+ const limit = clamp(Number(req.query.limit) || 50, 1, 200);
8
+ const offset = Math.max(0, Number(req.query.offset) || 0);
9
+ const status = typeof req.query.status === "string" && quote_request_1.QUOTE_REQUEST_STATUSES.includes(req.query.status)
10
+ ? req.query.status
11
+ : undefined;
12
+ const filters = status ? { status } : {};
13
+ const [quoteRequests, count] = await service.listAndCountQuoteRequests(filters, { take: limit, skip: offset, order: { created_at: "DESC" } });
14
+ return res.json({ quote_requests: quoteRequests, count, limit, offset });
15
+ }
16
+ function clamp(value, min, max) {
17
+ return Math.min(max, Math.max(min, value));
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3F1b3RlLXJlcXVlc3RzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0Esa0JBYUM7QUFuQkQsa0VBSXVDO0FBRWhDLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0IsQ0FBd0IsQ0FBQTtJQUM5RSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUMxRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUN6RCxNQUFNLE1BQU0sR0FBRyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLFFBQVEsSUFBSSxzQ0FBc0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFlLENBQUM7UUFDL0csQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTTtRQUNsQixDQUFDLENBQUMsU0FBUyxDQUFBO0lBQ2IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDeEMsTUFBTSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyx5QkFBeUIsQ0FDcEUsT0FBZ0IsRUFDaEIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFXLENBQ3RFLENBQUE7SUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUMxRSxDQUFDO0FBRUQsU0FBUyxLQUFLLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ3BELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUM1QyxDQUFDIn0=
@@ -94,8 +94,6 @@ function afterSalesRejectionMiddleware(caseType, entity) {
94
94
  const metadata = record?.metadata && typeof record.metadata === "object"
95
95
  ? record.metadata
96
96
  : {};
97
- // Only Core customer self-service cases generate customer rejection mail.
98
- // Native/admin-created cases remain untouched.
99
97
  if (!record || metadata.core_source !== "customer_self_service") {
100
98
  return next();
101
99
  }
@@ -141,7 +139,6 @@ async function captureSeoHandleRedirect(req, res, next, kind) {
141
139
  if (!id)
142
140
  return next();
143
141
  const requestedHandle = String(req.body?.handle || "").trim();
144
- // No handle in the update body means this request cannot change the public path.
145
142
  if (!requestedHandle)
146
143
  return next();
147
144
  const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
@@ -176,12 +173,10 @@ async function captureSeoHandleRedirect(req, res, next, kind) {
176
173
  }
177
174
  async function syncHandleRedirect(input) {
178
175
  try {
179
- // If a previously used URL becomes live again, it must no longer redirect away.
180
176
  const redirectsOnNewPath = await input.seoStore.listSeoRedirects({ source_path: input.newPath }, { take: 20 });
181
177
  for (const redirect of redirectsOnNewPath) {
182
178
  await input.seoStore.deleteSeoRedirects(redirect.id);
183
179
  }
184
- // Flatten redirect chains: URLs already pointing to the old URL now point straight to the new URL.
185
180
  const incoming = await input.seoStore.listSeoRedirects({ target_path: input.oldPath }, { take: 500 });
186
181
  for (const redirect of incoming) {
187
182
  if (redirect.source_path === input.newPath)
@@ -227,6 +222,16 @@ exports.default = (0, http_1.defineMiddlewares)({
227
222
  (0, http_1.authenticate)("customer", ["bearer", "session"]),
228
223
  ],
229
224
  },
225
+ {
226
+ matcher: "/store/core/pricing*",
227
+ method: ["GET"],
228
+ middlewares: [
229
+ preventCustomerDataCaching,
230
+ (0, http_1.authenticate)("customer", ["session", "bearer"], {
231
+ allowUnauthenticated: true,
232
+ }),
233
+ ],
234
+ },
230
235
  {
231
236
  matcher: "/store/customers/me*",
232
237
  middlewares: [preventCustomerDataCaching],
@@ -303,4 +308,4 @@ exports.default = (0, http_1.defineMiddlewares)({
303
308
  },
304
309
  ],
305
310
  });
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBTWlDO0FBQ2pDLHFEQUFxRTtBQUNyRSxpRUFBZ0U7QUFDaEUsaUVBR2tDO0FBQ2xDLDJEQUcrQjtBQUMvQiw0REFJaUM7QUFDakMsd0NBS3VCO0FBc0J2QixTQUFTLDBCQUEwQixDQUNqQyxJQUFtQixFQUNuQixHQUFtQixFQUNuQixJQUF3QjtJQUV4QixHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxrREFBOEIsQ0FBQyxDQUFBO0lBQzlELEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ25DLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzdCLE9BQU8sSUFBSSxFQUFFLENBQUE7QUFDZixDQUFDO0FBRUQsS0FBSyxVQUFVLG9CQUFvQixDQUNqQyxHQUFrQixFQUNsQixHQUFtQixFQUNuQixJQUF3QjtJQUV4QixJQUFJLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDbEMsb0NBQW9CLENBQ1csQ0FBQTtRQUVqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsMkNBQTJCLEVBQUM7WUFDL0MsVUFBVTtZQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7U0FDdEIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksRUFBRSxDQUFBO1FBRTdELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixJQUFJLEVBQUUsd0NBQW9CLENBQUMsb0JBQW9CO1lBQy9DLE9BQU8sRUFDTCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUN6QixDQUFDLENBQUMsb0RBQW9ELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHO2dCQUNoRixDQUFDLENBQUMsaUZBQWlGO1lBQ3ZGLEtBQUssRUFBRTtnQkFDTCxpQkFBaUIsRUFBRSx3QkFBd0I7Z0JBQzNDLGNBQWMsRUFBRSxvQ0FBb0M7Z0JBQ3BELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTzthQUN4QjtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxQixJQUFJLEVBQUUsMkJBQTJCO1lBQ2pDLElBQUksRUFBRSx3Q0FBb0IsQ0FBQyx1QkFBdUI7WUFDbEQsT0FBTyxFQUNMLEtBQUssWUFBWSxLQUFLO2dCQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ2YsQ0FBQyxDQUFDLDBEQUEwRDtTQUNqRSxDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVELEtBQUssVUFBVSxtQ0FBbUMsQ0FDaEQsR0FBa0IsRUFDbEIsR0FBbUIsRUFDbkIsSUFBd0I7SUFFeEIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQTJDLENBQUE7SUFDNUQsSUFBSSxPQUFPLElBQUksRUFBRSxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxFQUFFLENBQUE7SUFDZixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzdELE1BQU0sWUFBWSxHQUFHLElBQUEsaUNBQWdCLEVBQUMsYUFBYSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUN2RSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDOUIsaUNBQXlCLENBQUMsTUFBTSxDQUNaLENBRXJCO0lBQUMsR0FBMEUsQ0FBQyxJQUFJLENBQy9FLFFBQVEsRUFDUixHQUFHLEVBQUU7UUFDSCxJQUFJLEdBQUcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRztZQUFFLE9BQU07UUFFekQsTUFBTSxPQUFPLEdBQUcsR0FBNkIsQ0FBQTtRQUM3QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO2FBQ3ZELElBQUksRUFBRTthQUNOLFdBQVcsRUFBRSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU07UUFFMUMsS0FBSyxJQUFBLDBDQUF5QixFQUFDO1lBQzdCLFNBQVMsRUFBRSxHQUFHLENBQUMsS0FBYztZQUM3QixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLEVBQUUsRUFBRSxLQUFLO1lBQ1QsY0FBYyxFQUFFLGdEQUFnRCxZQUFZLEVBQUU7WUFDOUUsSUFBSSxFQUFFO2dCQUNKLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtnQkFDcEMsYUFBYSxFQUFFLGdCQUFnQjthQUNoQztTQUNGLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixNQUFNLENBQUMsSUFBSSxDQUNULHVEQUF1RCxLQUFLLEtBQzFELEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3ZELEVBQUUsQ0FDSCxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQ0YsQ0FBQTtJQUVELE9BQU8sSUFBSSxFQUFFLENBQUE7QUFDZixDQUFDO0FBRUQsU0FBUyw2QkFBNkIsQ0FDcEMsUUFBNEIsRUFDNUIsTUFBbUQ7SUFFbkQsT0FBTyxLQUFLLEVBQ1YsR0FBa0IsRUFDbEIsR0FBbUIsRUFDbkIsSUFBd0IsRUFDeEIsRUFBRTtRQUNGLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUM5QixpQ0FBeUIsQ0FBQyxNQUFNLENBQ1osQ0FBQTtRQUV0QixJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7WUFDdEMsSUFBSSxDQUFDLEVBQUU7Z0JBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQTtZQUV0QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNSLENBQUE7WUFDekIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDakMsTUFBTTtnQkFDTixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUM7Z0JBQ3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRTthQUNoQixDQUFDLENBQUE7WUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLFFBQVEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxRQUFRLEtBQUssUUFBUTtnQkFDdEUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRO2dCQUNqQixDQUFDLENBQUMsRUFBRSxDQUFBO1lBRU4sMEVBQTBFO1lBQzFFLCtDQUErQztZQUMvQyxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxXQUFXLEtBQUssdUJBQXVCLEVBQUUsQ0FBQztnQkFDaEUsT0FBTyxJQUFJLEVBQUUsQ0FBQTtZQUNmLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUM3QyxJQUFJLENBQUMsT0FBTztnQkFBRSxPQUFPLElBQUksRUFBRSxDQUUxQjtZQUFDLEdBQTBFLENBQUMsSUFBSSxDQUMvRSxRQUFRLEVBQ1IsR0FBRyxFQUFFO2dCQUNILElBQUksR0FBRyxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsSUFBSSxHQUFHO29CQUFFLE9BQU07Z0JBQ3pELEtBQUssSUFBQSx3Q0FBb0IsRUFBQztvQkFDeEIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxLQUFjO29CQUM3QixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsT0FBTztvQkFDUCxRQUFRO29CQUNSLE1BQU0sRUFBRSxFQUFFO29CQUNWLGNBQWMsRUFBRSx3QkFBd0IsUUFBUSxJQUFJLEVBQUUsRUFBRTtvQkFDeEQsU0FBUyxFQUFFO3dCQUNULFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtxQkFDdEM7aUJBQ0YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNqQixNQUFNLENBQUMsSUFBSSxDQUNULDBDQUEwQyxRQUFRLElBQUksRUFBRSxLQUN0RCxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUN2RCxFQUFFLENBQ0gsQ0FBQTtnQkFDSCxDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FDRixDQUFBO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLENBQUMsSUFBSSxDQUNULHlEQUNFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3ZELEVBQUUsQ0FDSCxDQUFBO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxFQUFFLENBQUE7SUFDZixDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxzQkFBc0IsR0FBRyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDaEYsTUFBTSx3QkFBd0IsR0FBRyw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtBQUM1RixNQUFNLHFCQUFxQixHQUFHLDZCQUE2QixDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQTtBQUVuRixLQUFLLFVBQVUseUJBQXlCLENBQ3RDLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLElBQXdCO0lBRXhCLE9BQU8sd0JBQXdCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7QUFDNUQsQ0FBQztBQUVELEtBQUssVUFBVSwwQkFBMEIsQ0FDdkMsR0FBa0IsRUFDbEIsR0FBbUIsRUFDbkIsSUFBd0I7SUFFeEIsT0FBTyx3QkFBd0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQTtBQUM3RCxDQUFDO0FBRUQsS0FBSyxVQUFVLHdCQUF3QixDQUNyQyxHQUFrQixFQUNsQixHQUFtQixFQUNuQixJQUF3QixFQUN4QixJQUE0QjtJQUU1QixJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLElBQUksRUFBRSxDQUFBO1FBRXRCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FDM0IsR0FBRyxDQUFDLElBQTRDLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FDaEUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNSLGlGQUFpRjtRQUNqRixJQUFJLENBQUMsZUFBZTtZQUFFLE9BQU8sSUFBSSxFQUFFLENBQUE7UUFFbkMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzdCLGlDQUF5QixDQUFDLEtBQUssQ0FDUixDQUFBO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFVLENBQXdCLENBQUE7UUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQTtRQUNsRSxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDL0IsTUFBTTtZQUNOLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7WUFDeEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFO1NBQ2hCLENBQUMsQ0FBQTtRQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQy9ELElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxLQUFLLGVBQWU7WUFBRSxPQUFPLElBQUksRUFBRSxDQUFBO1FBRTlELE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxTQUFTO1lBQ2hDLENBQUMsQ0FBQyxJQUFBLHNCQUFnQixFQUFDLFNBQVMsQ0FBQztZQUM3QixDQUFDLENBQUMsSUFBQSx1QkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEtBQUssU0FBUztZQUNoQyxDQUFDLENBQUMsSUFBQSxzQkFBZ0IsRUFBQyxlQUFlLENBQUM7WUFDbkMsQ0FBQyxDQUFDLElBQUEsdUJBQWlCLEVBQUMsZUFBZSxDQUFDLENBQUE7UUFDdEMsSUFBSSxPQUFPLEtBQUssT0FBTztZQUFFLE9BQU8sSUFBSSxFQUFFLENBRXJDO1FBQUMsR0FBMEUsQ0FBQyxJQUFJLENBQy9FLFFBQVEsRUFDUixHQUFHLEVBQUU7WUFDSCxJQUFJLEdBQUcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRztnQkFBRSxPQUFNO1lBQ3pELEtBQUssa0JBQWtCLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDekQsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0RBQXNELEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVELE9BQU8sSUFBSSxFQUFFLENBQUE7QUFDZixDQUFDO0FBRUQsS0FBSyxVQUFVLGtCQUFrQixDQUFDLEtBSWpDO0lBQ0MsSUFBSSxDQUFDO1FBQ0gsZ0ZBQWdGO1FBQ2hGLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUM5RCxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQzlCLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUNiLENBQUE7UUFDRCxLQUFLLE1BQU0sUUFBUSxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDMUMsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN0RCxDQUFDO1FBRUQsbUdBQW1HO1FBQ25HLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDcEQsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUM5QixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FDZCxDQUFBO1FBQ0QsS0FBSyxNQUFNLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNoQyxJQUFJLFFBQVEsQ0FBQyxXQUFXLEtBQUssS0FBSyxDQUFDLE9BQU87Z0JBQUUsU0FBUTtZQUNwRCxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7Z0JBQ3RDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDZixXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQzFCLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUN0RCxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQzlCLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUNaLENBQUE7UUFDRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO2dCQUN0QyxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUMxQixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsY0FBYyxFQUFFLElBQUk7YUFDckIsQ0FBQyxDQUFBO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7Z0JBQ3RDLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDMUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUMxQixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0VBQWdFLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdkYsQ0FBQztBQUNILENBQUM7QUFFRCxrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUU7Z0JBQ1gsMEJBQTBCO2dCQUMxQixJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsV0FBVyxFQUFFLENBQUMsMEJBQTBCLENBQUM7U0FDMUM7UUFDRDtZQUNFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2YsV0FBVyxFQUFFLENBQUMsMEJBQTBCLENBQUM7U0FDMUM7UUFDRDtZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1NBQzFDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsNkJBQTZCO1lBQ3RDLFdBQVcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1NBQzFDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFdBQVcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1NBQzFDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLFdBQVcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1NBQzFDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLFdBQVcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1NBQzFDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsaUNBQWlDO1lBQzFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNoQixXQUFXLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztTQUNuRDtRQUNEO1lBQ0UsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsV0FBVyxFQUFFLENBQUMsb0JBQW9CLENBQUM7U0FDcEM7UUFDRDtZQUNFLE9BQU8sRUFBRSw0QkFBNEI7WUFDckMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ2xCLFdBQVcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO1NBQ3RDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsOEJBQThCO1lBQ3ZDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNsQixXQUFXLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztTQUN4QztRQUNEO1lBQ0UsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDbEIsV0FBVyxFQUFFLENBQUMscUJBQXFCLENBQUM7U0FDckM7UUFDRDtZQUNFLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2hCLFdBQVcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO1NBQ3pDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsK0JBQStCO1lBQ3hDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNoQixXQUFXLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztTQUMxQztRQUNEO1lBQ0UsT0FBTyxFQUFFLHlCQUF5QjtZQUNsQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtTQUNqQztRQUNEO1lBQ0UsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsVUFBVSxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRTtTQUN0QztLQUNGO0NBQ0YsQ0FBQyxDQUFBIn0=
311
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBTWlDO0FBQ2pDLHFEQUFxRTtBQUNyRSxpRUFBZ0U7QUFDaEUsaUVBR2tDO0FBQ2xDLDJEQUcrQjtBQUMvQiw0REFJaUM7QUFDakMsd0NBS3VCO0FBc0J2QixTQUFTLDBCQUEwQixDQUNqQyxJQUFtQixFQUNuQixHQUFtQixFQUNuQixJQUF3QjtJQUV4QixHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxrREFBOEIsQ0FBQyxDQUFBO0lBQzlELEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ25DLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzdCLE9BQU8sSUFBSSxFQUFFLENBQUE7QUFDZixDQUFDO0FBRUQsS0FBSyxVQUFVLG9CQUFvQixDQUNqQyxHQUFrQixFQUNsQixHQUFtQixFQUNuQixJQUF3QjtJQUV4QixJQUFJLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDbEMsb0NBQW9CLENBQ1csQ0FBQTtRQUVqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsMkNBQTJCLEVBQUM7WUFDL0MsVUFBVTtZQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7U0FDdEIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksRUFBRSxDQUFBO1FBRTdELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixJQUFJLEVBQUUs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
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(_req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ const cms_1 = require("../../../../modules/cms");
5
+ async function GET(_req, res) {
6
+ const config = (0, cms_1.loadCmsConfig)();
7
+ if (!config.enabled)
8
+ return res.status(404).json({ message: "A CMS jelenleg nem elérhető." });
9
+ return res.json({
10
+ enabled: true,
11
+ default_locale: config.defaultLocale,
12
+ content_types: config.contentTypes,
13
+ body_formats: ["markdown", "html", "blocks"],
14
+ taxonomies: ["category", "tag"],
15
+ });
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Ntcy9jb25maWcvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxrQkFVQztBQVpELGlEQUF1RDtBQUVoRCxLQUFLLFVBQVUsR0FBRyxDQUFDLElBQW1CLEVBQUUsR0FBbUI7SUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBQSxtQkFBYSxHQUFFLENBQUE7SUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxDQUFDLENBQUE7SUFDN0YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ2QsT0FBTyxFQUFFLElBQUk7UUFDYixjQUFjLEVBQUUsTUFBTSxDQUFDLGFBQWE7UUFDcEMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxZQUFZO1FBQ2xDLFlBQVksRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO1FBQzVDLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7S0FDaEMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const cms_1 = require("../../../../../modules/cms");
6
+ async function GET(req, res) {
7
+ const config = (0, cms_1.loadCmsConfig)();
8
+ if (!config.enabled)
9
+ return res.status(404).json({ message: "A CMS jelenleg nem elérhető." });
10
+ const requestLocale = queryText(req.locale || req.query?.locale) || config.defaultLocale;
11
+ const contentType = queryText(req.query?.content_type);
12
+ const filters = {
13
+ slug: req.params.slug,
14
+ status: ["published", "scheduled"],
15
+ };
16
+ if (contentType)
17
+ filters.content_type = contentType;
18
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
19
+ const result = await query.graph({
20
+ entity: "cms_entry",
21
+ fields: [
22
+ "id",
23
+ "content_type",
24
+ "status",
25
+ "title",
26
+ "slug",
27
+ "excerpt",
28
+ "body",
29
+ "body_format",
30
+ "blocks",
31
+ "featured_image_url",
32
+ "featured_image_alt",
33
+ "author_name",
34
+ "seo_title",
35
+ "seo_description",
36
+ "canonical_url",
37
+ "noindex",
38
+ "og_image_url",
39
+ "published_at",
40
+ "sort_order",
41
+ "custom_fields",
42
+ "created_at",
43
+ "updated_at",
44
+ "terms.id",
45
+ "terms.taxonomy",
46
+ "terms.name",
47
+ "terms.slug",
48
+ "terms.description",
49
+ ],
50
+ filters,
51
+ pagination: { take: 20, skip: 0 },
52
+ }, { locale: requestLocale });
53
+ const entry = (result.data || []).find((candidate) => (0, cms_1.isCmsEntryPublic)(candidate));
54
+ if (!entry)
55
+ return res.status(404).json({ message: "A tartalom nem található." });
56
+ return res.json({ entry: (0, cms_1.publicCmsEntry)(entry, requestLocale) });
57
+ }
58
+ function queryText(value) {
59
+ const raw = Array.isArray(value) ? value[0] : value;
60
+ return typeof raw === "string" && raw.trim() ? raw.trim() : "";
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Ntcy9lbnRyaWVzL1tzbHVnXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxrQkFtREM7QUFuRUQscURBQXFFO0FBQ3JFLG9EQUltQztBQVc1QixLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsTUFBTSxNQUFNLEdBQUcsSUFBQSxtQkFBYSxHQUFFLENBQUE7SUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxDQUFDLENBQUE7SUFFN0YsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFFLEdBQThCLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQTtJQUNwSCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUN0RCxNQUFNLE9BQU8sR0FBNEI7UUFDdkMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUNyQixNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0tBQ25DLENBQUE7SUFDRCxJQUFJLFdBQVc7UUFBRSxPQUFPLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQTtJQUVuRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQXlCLENBQUE7SUFDeEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQy9CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixjQUFjO1lBQ2QsUUFBUTtZQUNSLE9BQU87WUFDUCxNQUFNO1lBQ04sU0FBUztZQUNULE1BQU07WUFDTixhQUFhO1lBQ2IsUUFBUTtZQUNSLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLFNBQVM7WUFDVCxjQUFjO1lBQ2QsY0FBYztZQUNkLFlBQVk7WUFDWixlQUFlO1lBQ2YsWUFBWTtZQUNaLFlBQVk7WUFDWixVQUFVO1lBQ1YsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixZQUFZO1lBQ1osbUJBQW1CO1NBQ3BCO1FBQ0QsT0FBTztRQUNQLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRTtLQUNsQyxFQUFFLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFFN0IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBQSxzQkFBZ0IsRUFBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBQ2xGLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUE7SUFDakYsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUEsb0JBQWMsRUFBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ2xFLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxLQUFjO0lBQy9CLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0lBQ25ELE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDaEUsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;