@hszrdm/core 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +4041 -2995
- package/.medusa/server/src/admin/index.mjs +4043 -2997
- package/.medusa/server/src/api/admin/ai-translations/apply/route.d.ts +11 -0
- package/.medusa/server/src/api/admin/ai-translations/apply/route.js +102 -0
- package/.medusa/server/src/api/admin/ai-translations/preview/route.d.ts +10 -0
- package/.medusa/server/src/api/admin/ai-translations/preview/route.js +141 -0
- package/.medusa/server/src/api/admin/ai-translations/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/ai-translations/route.js +19 -0
- package/.medusa/server/src/api/admin/email/preview/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/email/preview/route.js +20 -0
- package/.medusa/server/src/api/admin/email/templates/[id]/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/email/templates/[id]/route.js +25 -0
- package/.medusa/server/src/api/admin/email/templates/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/email/templates/route.js +40 -0
- package/.medusa/server/src/api/admin/email/test-send/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/email/test-send/route.js +64 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/cancel/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/cancel/route.js +15 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/route.js +39 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/send/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/send/route.js +14 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/stats/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/stats/route.js +17 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/test-send/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/[id]/test-send/route.js +23 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/newsletter/campaigns/route.js +40 -0
- package/.medusa/server/src/api/admin/newsletter/subscribers/export/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/newsletter/subscribers/export/route.js +74 -0
- package/.medusa/server/src/api/admin/newsletter/subscribers/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/newsletter/subscribers/route.js +57 -0
- package/.medusa/server/src/api/admin/product-reviews/[id]/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/product-reviews/[id]/route.js +40 -0
- package/.medusa/server/src/api/admin/product-reviews/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/product-reviews/route.js +31 -0
- package/.medusa/server/src/api/hooks/email/status/route.d.ts +2 -0
- package/.medusa/server/src/api/hooks/email/status/route.js +69 -0
- package/.medusa/server/src/api/middlewares.js +9 -1
- package/.medusa/server/src/api/store/account/wishlist/[productId]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/account/wishlist/[productId]/route.js +18 -0
- package/.medusa/server/src/api/store/account/wishlist/merge/route.d.ts +6 -0
- package/.medusa/server/src/api/store/account/wishlist/merge/route.js +51 -0
- package/.medusa/server/src/api/store/account/wishlist/route.d.ts +7 -0
- package/.medusa/server/src/api/store/account/wishlist/route.js +76 -0
- package/.medusa/server/src/api/store/cms/entries/[slug]/route.js +4 -4
- package/.medusa/server/src/api/store/cms/entries/route.js +4 -4
- package/.medusa/server/src/api/store/email/track/click/[token]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/email/track/click/[token]/route.js +19 -0
- package/.medusa/server/src/api/store/email/track/open/[token]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/email/track/open/[token]/route.js +22 -0
- package/.medusa/server/src/api/store/leads/route.js +27 -93
- package/.medusa/server/src/api/store/newsletter/config/route.d.ts +2 -0
- package/.medusa/server/src/api/store/newsletter/config/route.js +14 -0
- package/.medusa/server/src/api/store/newsletter/confirm/route.d.ts +4 -0
- package/.medusa/server/src/api/store/newsletter/confirm/route.js +52 -0
- package/.medusa/server/src/api/store/newsletter/route.d.ts +4 -0
- package/.medusa/server/src/api/store/newsletter/route.js +89 -0
- package/.medusa/server/src/api/store/newsletter/unsubscribe/route.d.ts +4 -0
- package/.medusa/server/src/api/store/newsletter/unsubscribe/route.js +54 -0
- package/.medusa/server/src/api/store/products/[id]/reviews/route.d.ts +8 -0
- package/.medusa/server/src/api/store/products/[id]/reviews/route.js +174 -0
- package/.medusa/server/src/api/store/quote-requests/route.js +41 -129
- package/.medusa/server/src/config.js +38 -15
- package/.medusa/server/src/core/ai-translation.d.ts +26 -0
- package/.medusa/server/src/core/ai-translation.js +173 -0
- package/.medusa/server/src/core/customer-email.d.ts +5 -5
- package/.medusa/server/src/core/customer-email.js +55 -109
- package/.medusa/server/src/core/transactional-email.d.ts +9 -8
- package/.medusa/server/src/core/transactional-email.js +74 -244
- package/.medusa/server/src/core/version.d.ts +2 -2
- package/.medusa/server/src/core/version.js +2 -2
- package/.medusa/server/src/jobs/email-campaign-dispatch.d.ts +6 -0
- package/.medusa/server/src/jobs/email-campaign-dispatch.js +18 -0
- package/.medusa/server/src/modules/cms/config.d.ts +2 -1
- package/.medusa/server/src/modules/cms/config.js +27 -12
- package/.medusa/server/src/modules/cms/content-types.d.ts +24 -0
- package/.medusa/server/src/modules/cms/content-types.js +27 -0
- package/.medusa/server/src/modules/cms/index.d.ts +1 -0
- package/.medusa/server/src/modules/cms/index.js +6 -2
- package/.medusa/server/src/modules/email-center/campaign.d.ts +8 -0
- package/.medusa/server/src/modules/email-center/campaign.js +193 -0
- package/.medusa/server/src/modules/email-center/constants.d.ts +1 -0
- package/.medusa/server/src/modules/email-center/constants.js +5 -0
- package/.medusa/server/src/modules/email-center/defaults.d.ts +10 -0
- package/.medusa/server/src/modules/email-center/defaults.js +49 -0
- package/.medusa/server/src/modules/email-center/index.d.ts +11 -0
- package/.medusa/server/src/modules/email-center/index.js +42 -0
- package/.medusa/server/src/modules/email-center/migrations/Migration20261030173000.d.ts +5 -0
- package/.medusa/server/src/modules/email-center/migrations/Migration20261030173000.js +25 -0
- package/.medusa/server/src/modules/email-center/models/email-campaign.d.ts +22 -0
- package/.medusa/server/src/modules/email-center/models/email-campaign.js +37 -0
- package/.medusa/server/src/modules/email-center/models/email-delivery.d.ts +21 -0
- package/.medusa/server/src/modules/email-center/models/email-delivery.js +38 -0
- package/.medusa/server/src/modules/email-center/models/email-template.d.ts +13 -0
- package/.medusa/server/src/modules/email-center/models/email-template.js +20 -0
- package/.medusa/server/src/modules/email-center/render.d.ts +31 -0
- package/.medusa/server/src/modules/email-center/render.js +92 -0
- package/.medusa/server/src/modules/email-center/send.d.ts +27 -0
- package/.medusa/server/src/modules/email-center/send.js +67 -0
- package/.medusa/server/src/modules/email-center/service.d.ts +56 -0
- package/.medusa/server/src/modules/email-center/service.js +13 -0
- package/.medusa/server/src/modules/email-center/tracking.d.ts +9 -0
- package/.medusa/server/src/modules/email-center/tracking.js +92 -0
- package/.medusa/server/src/modules/newsletter/config.d.ts +14 -0
- package/.medusa/server/src/modules/newsletter/config.js +51 -0
- package/.medusa/server/src/modules/newsletter/email.d.ts +9 -0
- package/.medusa/server/src/modules/newsletter/email.js +38 -0
- package/.medusa/server/src/modules/newsletter/events.d.ts +10 -0
- package/.medusa/server/src/modules/newsletter/events.js +34 -0
- package/.medusa/server/src/modules/newsletter/index.d.ts +10 -0
- package/.medusa/server/src/modules/newsletter/index.js +33 -0
- package/.medusa/server/src/modules/newsletter/migrations/Migration20261030130000.d.ts +5 -0
- package/.medusa/server/src/modules/newsletter/migrations/Migration20261030130000.js +18 -0
- package/.medusa/server/src/modules/newsletter/models/newsletter-subscriber.d.ts +21 -0
- package/.medusa/server/src/modules/newsletter/models/newsletter-subscriber.js +35 -0
- package/.medusa/server/src/modules/newsletter/service.d.ts +24 -0
- package/.medusa/server/src/modules/newsletter/service.js +11 -0
- package/.medusa/server/src/modules/newsletter/token.d.ts +10 -0
- package/.medusa/server/src/modules/newsletter/token.js +97 -0
- package/.medusa/server/src/modules/product-review/config.d.ts +5 -0
- package/.medusa/server/src/modules/product-review/config.js +10 -0
- package/.medusa/server/src/modules/product-review/index.d.ts +7 -0
- package/.medusa/server/src/modules/product-review/index.js +18 -0
- package/.medusa/server/src/modules/product-review/migrations/Migration20261030160100.d.ts +5 -0
- package/.medusa/server/src/modules/product-review/migrations/Migration20261030160100.js +18 -0
- package/.medusa/server/src/modules/product-review/models/product-review.d.ts +16 -0
- package/.medusa/server/src/modules/product-review/models/product-review.js +26 -0
- package/.medusa/server/src/modules/product-review/service.d.ts +25 -0
- package/.medusa/server/src/modules/product-review/service.js +12 -0
- package/.medusa/server/src/modules/wishlist/index.d.ts +5 -0
- package/.medusa/server/src/modules/wishlist/index.js +14 -0
- package/.medusa/server/src/modules/wishlist/migrations/Migration20261030160000.d.ts +5 -0
- package/.medusa/server/src/modules/wishlist/migrations/Migration20261030160000.js +17 -0
- package/.medusa/server/src/modules/wishlist/models/wishlist-item.d.ts +6 -0
- package/.medusa/server/src/modules/wishlist/models/wishlist-item.js +14 -0
- package/.medusa/server/src/modules/wishlist/service.d.ts +15 -0
- package/.medusa/server/src/modules/wishlist/service.js +12 -0
- package/.medusa/server/src/providers/email/index.d.ts +2 -0
- package/.medusa/server/src/providers/email/index.js +11 -0
- package/.medusa/server/src/providers/email/service.d.ts +24 -0
- package/.medusa/server/src/providers/email/service.js +117 -0
- package/.medusa/server/src/scripts/core-init.js +20 -3
- package/.medusa/server/src/scripts/verify-bootstrap.js +1 -7
- package/.medusa/server/src/subscribers/transactional-email-shipment-created.js +6 -2
- package/package.json +4 -3
|
@@ -2,140 +2,78 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.POST = POST;
|
|
4
4
|
exports.normalizeItems = normalizeItems;
|
|
5
|
-
const
|
|
5
|
+
const email_center_1 = require("../../../modules/email-center");
|
|
6
6
|
const quote_request_1 = require("../../../modules/quote-request");
|
|
7
7
|
async function POST(req, res) {
|
|
8
8
|
const config = (0, quote_request_1.loadQuoteRequestConfig)();
|
|
9
|
-
if (!config.enabled)
|
|
9
|
+
if (!config.enabled)
|
|
10
10
|
return res.status(404).json({ message: "Az ajánlatkérés jelenleg nem elérhető." });
|
|
11
|
-
}
|
|
12
11
|
try {
|
|
13
12
|
const input = normalizeStoreQuoteRequest(req.body, config.extraFields);
|
|
14
13
|
const customerId = req.auth_context?.actor_id || null;
|
|
15
14
|
const service = req.scope.resolve(quote_request_1.QUOTE_REQUEST_MODULE);
|
|
16
|
-
const quote = await service.createQuoteRequests({
|
|
17
|
-
|
|
18
|
-
status: "new",
|
|
19
|
-
customer_id: customerId,
|
|
20
|
-
source: "storefront",
|
|
21
|
-
});
|
|
22
|
-
if (config.emailEnabled) {
|
|
15
|
+
const quote = await service.createQuoteRequests({ ...input, status: "new", customer_id: customerId, source: "storefront" });
|
|
16
|
+
if (config.emailEnabled)
|
|
23
17
|
await notifyCreated(req, quote, config.adminEmails);
|
|
24
|
-
}
|
|
25
18
|
return res.status(201).json({ quote_request: quote });
|
|
26
19
|
}
|
|
27
20
|
catch (error) {
|
|
28
|
-
return res.status(400).json({
|
|
29
|
-
message: error instanceof Error
|
|
30
|
-
? error.message
|
|
31
|
-
: "Az ajánlatkérés mentése nem sikerült.",
|
|
32
|
-
});
|
|
21
|
+
return res.status(400).json({ message: error instanceof Error ? error.message : "Az ajánlatkérés mentése nem sikerült." });
|
|
33
22
|
}
|
|
34
23
|
}
|
|
35
24
|
async function notifyCreated(req, quote, adminEmails) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
const brand = process.env.STORE_NAME ||
|
|
44
|
-
process.env.VITE_ADMIN_BRAND_NAME ||
|
|
45
|
-
"HSZRDM Commerce";
|
|
25
|
+
const brand = process.env.STORE_NAME || process.env.VITE_ADMIN_BRAND_NAME || "HSZRDM Commerce";
|
|
26
|
+
const locale = process.env.STORE_LOCALE;
|
|
27
|
+
const data = { quote_request_id: quote.id, contact_name: quote.contact_name || "", contact_email: quote.contact_email || "", contact_phone: quote.contact_phone || "", company_name: quote.company_name || "", company_address: quote.company_address || "", tax_number: quote.tax_number || "", order_type: quote.order_type || "", recurrence: quote.recurrence || "", note: quote.note || "", items: quote.items || [], extra_fields: quote.extra_fields || {}, currency_code: quote.currency_code || "" };
|
|
46
28
|
const tasks = [];
|
|
47
29
|
if (quote.contact_email) {
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
content: email,
|
|
53
|
-
trigger_type: "quote-request.created.customer",
|
|
54
|
-
resource_id: quote.id,
|
|
55
|
-
resource_type: "quote_request",
|
|
56
|
-
idempotency_key: `quote-request-created-customer-${quote.id}`,
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
59
|
-
const adminEmail = (0, quote_request_1.quoteRequestAdminEmail)(quote, brand);
|
|
60
|
-
for (const to of adminEmails) {
|
|
61
|
-
tasks.push(notifications.createNotifications({
|
|
62
|
-
to,
|
|
63
|
-
channel: "email",
|
|
64
|
-
content: adminEmail,
|
|
65
|
-
trigger_type: "quote-request.created.admin",
|
|
66
|
-
resource_id: quote.id,
|
|
67
|
-
resource_type: "quote_request",
|
|
68
|
-
idempotency_key: `quote-request-created-admin-${quote.id}-${to}`,
|
|
69
|
-
}));
|
|
30
|
+
const fallback = (0, quote_request_1.quoteRequestCreatedEmail)(quote, brand);
|
|
31
|
+
const content = await (0, email_center_1.resolveEmailContent)({ container: req.scope, key: "quote_request.created", locale, data, fallback });
|
|
32
|
+
if (content)
|
|
33
|
+
tasks.push((0, email_center_1.sendManagedEmail)({ container: req.scope, to: quote.contact_email, key: "quote_request.created", locale, content, idempotencyKey: `quote-request-created-customer-${quote.id}`, resourceId: quote.id, resourceType: "quote_request", track: false }));
|
|
70
34
|
}
|
|
35
|
+
const adminFallback = (0, quote_request_1.quoteRequestAdminEmail)(quote, brand);
|
|
36
|
+
const adminContent = await (0, email_center_1.resolveEmailContent)({ container: req.scope, key: "quote_request.created.admin", locale, data, fallback: adminFallback });
|
|
37
|
+
if (adminContent)
|
|
38
|
+
for (const to of adminEmails)
|
|
39
|
+
tasks.push((0, email_center_1.sendManagedEmail)({ container: req.scope, to, key: "quote_request.created.admin", locale, content: adminContent, idempotencyKey: `quote-request-created-admin-${quote.id}-${to}`, resourceId: quote.id, resourceType: "quote_request", track: false }));
|
|
71
40
|
await Promise.allSettled(tasks);
|
|
72
41
|
}
|
|
73
42
|
function normalizeStoreQuoteRequest(body, definitions) {
|
|
74
43
|
const contactName = requiredText(body.contact_name, "Kapcsolattartó neve", 180);
|
|
75
44
|
const contactEmail = requiredText(body.contact_email, "E-mail-cím", 240).toLowerCase();
|
|
76
|
-
if (!/^\S+@\S+\.\S+$/.test(contactEmail))
|
|
45
|
+
if (!/^\S+@\S+\.\S+$/.test(contactEmail))
|
|
77
46
|
throw new Error("Érvényes e-mail-cím szükséges.");
|
|
78
|
-
}
|
|
79
47
|
const orderType = body.order_type === "recurring" ? "recurring" : "one_time";
|
|
80
48
|
const recurrence = optionalText(body.recurrence, 240);
|
|
81
|
-
if (orderType === "recurring" && !recurrence)
|
|
49
|
+
if (orderType === "recurring" && !recurrence)
|
|
82
50
|
throw new Error("Rendszeres rendelésnél add meg a rendelési gyakoriságot.");
|
|
83
|
-
}
|
|
84
51
|
const items = normalizeItems(body.items, false);
|
|
85
|
-
if (!items.length)
|
|
52
|
+
if (!items.length)
|
|
86
53
|
throw new Error("Legalább egy ajánlatkérési tétel szükséges.");
|
|
87
|
-
}
|
|
88
54
|
const extraFields = normalizeConfiguredExtraFields(body.extra_fields, definitions);
|
|
89
55
|
const currencyCode = optionalText(body.currency_code, 3)?.toUpperCase() || null;
|
|
90
|
-
if (currencyCode && !/^[A-Z]{3}$/.test(currencyCode))
|
|
56
|
+
if (currencyCode && !/^[A-Z]{3}$/.test(currencyCode))
|
|
91
57
|
throw new Error("A pénznem hárombetűs ISO kód legyen.");
|
|
92
|
-
}
|
|
93
|
-
return {
|
|
94
|
-
company_name: optionalText(body.company_name, 240),
|
|
95
|
-
tax_number: optionalText(body.tax_number, 80),
|
|
96
|
-
company_address: optionalText(body.company_address, 500),
|
|
97
|
-
contact_name: contactName,
|
|
98
|
-
contact_email: contactEmail,
|
|
99
|
-
contact_phone: optionalText(body.contact_phone, 80),
|
|
100
|
-
order_type: orderType,
|
|
101
|
-
recurrence,
|
|
102
|
-
note: optionalText(body.note, 5000),
|
|
103
|
-
items,
|
|
104
|
-
extra_fields: extraFields,
|
|
105
|
-
currency_code: currencyCode,
|
|
106
|
-
};
|
|
58
|
+
return { company_name: optionalText(body.company_name, 240), tax_number: optionalText(body.tax_number, 80), company_address: optionalText(body.company_address, 500), contact_name: contactName, contact_email: contactEmail, contact_phone: optionalText(body.contact_phone, 80), order_type: orderType, recurrence, note: optionalText(body.note, 5000), items, extra_fields: extraFields, currency_code: currencyCode };
|
|
107
59
|
}
|
|
108
60
|
function normalizeItems(value, allowQuotedPrice) {
|
|
109
|
-
if (!Array.isArray(value))
|
|
61
|
+
if (!Array.isArray(value))
|
|
110
62
|
throw new Error("A tételek listája érvénytelen.");
|
|
111
|
-
|
|
112
|
-
if (value.length > 100) {
|
|
63
|
+
if (value.length > 100)
|
|
113
64
|
throw new Error("Egy ajánlatkérés legfeljebb 100 tételt tartalmazhat.");
|
|
114
|
-
}
|
|
115
65
|
return value.map((raw, index) => {
|
|
116
|
-
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
66
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
117
67
|
throw new Error(`Érvénytelen ${index + 1}. tétel.`);
|
|
118
|
-
}
|
|
119
68
|
const item = raw;
|
|
120
69
|
const title = requiredText(item.title, `${index + 1}. tétel megnevezése`, 500);
|
|
121
70
|
const quantity = Number(item.quantity);
|
|
122
|
-
if (!Number.isInteger(quantity) || quantity <= 0 || quantity > 1_000_000)
|
|
71
|
+
if (!Number.isInteger(quantity) || quantity <= 0 || quantity > 1_000_000)
|
|
123
72
|
throw new Error(`Érvénytelen mennyiség a(z) ${index + 1}. tételnél.`);
|
|
124
|
-
}
|
|
125
|
-
const result = {
|
|
126
|
-
product_id: optionalText(item.product_id, 160),
|
|
127
|
-
variant_id: optionalText(item.variant_id, 160),
|
|
128
|
-
sku: optionalText(item.sku, 160),
|
|
129
|
-
title,
|
|
130
|
-
quantity,
|
|
131
|
-
unit_label: optionalText(item.unit_label, 80),
|
|
132
|
-
custom_request: optionalText(item.custom_request, 5000),
|
|
133
|
-
is_custom: item.is_custom === true || (!item.product_id && !item.variant_id),
|
|
134
|
-
};
|
|
73
|
+
const result = { product_id: optionalText(item.product_id, 160), variant_id: optionalText(item.variant_id, 160), sku: optionalText(item.sku, 160), title, quantity, unit_label: optionalText(item.unit_label, 80), custom_request: optionalText(item.custom_request, 5000), is_custom: item.is_custom === true || (!item.product_id && !item.variant_id) };
|
|
135
74
|
const referencePrice = finiteNumber(item.reference_unit_price);
|
|
136
|
-
if (referencePrice != null && referencePrice >= 0)
|
|
75
|
+
if (referencePrice != null && referencePrice >= 0)
|
|
137
76
|
result.reference_unit_price = referencePrice;
|
|
138
|
-
}
|
|
139
77
|
if (allowQuotedPrice) {
|
|
140
78
|
const unitPrice = finiteNumber(item.unit_price);
|
|
141
79
|
if (unitPrice != null && unitPrice >= 0)
|
|
@@ -145,70 +83,44 @@ function normalizeItems(value, allowQuotedPrice) {
|
|
|
145
83
|
});
|
|
146
84
|
}
|
|
147
85
|
function normalizeConfiguredExtraFields(value, definitions) {
|
|
148
|
-
const source = value && typeof value === "object" && !Array.isArray(value)
|
|
149
|
-
? value
|
|
150
|
-
: {};
|
|
86
|
+
const source = value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
151
87
|
const result = {};
|
|
152
88
|
for (const definition of definitions) {
|
|
153
89
|
const raw = source[definition.key];
|
|
154
90
|
if (isEmpty(raw)) {
|
|
155
|
-
if (definition.required)
|
|
91
|
+
if (definition.required)
|
|
156
92
|
throw new Error(`${definition.label} kitöltése kötelező.`);
|
|
157
|
-
}
|
|
158
93
|
continue;
|
|
159
94
|
}
|
|
160
95
|
if (definition.type === "boolean") {
|
|
161
|
-
if (typeof raw !== "boolean")
|
|
96
|
+
if (typeof raw !== "boolean")
|
|
162
97
|
throw new Error(`${definition.label} mező értéke igaz/hamis lehet.`);
|
|
163
|
-
}
|
|
164
98
|
result[definition.key] = raw;
|
|
165
99
|
continue;
|
|
166
100
|
}
|
|
167
101
|
if (definition.type === "number") {
|
|
168
102
|
const number = finiteNumber(raw);
|
|
169
|
-
if (number == null)
|
|
103
|
+
if (number == null)
|
|
170
104
|
throw new Error(`${definition.label} mezőben szám szükséges.`);
|
|
171
|
-
}
|
|
172
105
|
result[definition.key] = number;
|
|
173
106
|
continue;
|
|
174
107
|
}
|
|
175
108
|
const textValue = optionalText(raw, 5000);
|
|
176
109
|
if (!textValue) {
|
|
177
|
-
if (definition.required)
|
|
110
|
+
if (definition.required)
|
|
178
111
|
throw new Error(`${definition.label} kitöltése kötelező.`);
|
|
179
|
-
}
|
|
180
112
|
continue;
|
|
181
113
|
}
|
|
182
|
-
if (definition.type === "select" &&
|
|
183
|
-
definition.options?.length &&
|
|
184
|
-
!definition.options.includes(textValue)) {
|
|
114
|
+
if (definition.type === "select" && definition.options?.length && !definition.options.includes(textValue))
|
|
185
115
|
throw new Error(`${definition.label} mezőben érvénytelen érték szerepel.`);
|
|
186
|
-
}
|
|
187
116
|
result[definition.key] = textValue;
|
|
188
117
|
}
|
|
189
118
|
return result;
|
|
190
119
|
}
|
|
191
|
-
function requiredText(value, label, max) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
197
|
-
function optionalText(value, max) {
|
|
198
|
-
if (typeof value !== "string")
|
|
199
|
-
return null;
|
|
200
|
-
const result = value.trim();
|
|
201
|
-
return result ? result.slice(0, max) : null;
|
|
202
|
-
}
|
|
203
|
-
function finiteNumber(value) {
|
|
204
|
-
const number = typeof value === "number"
|
|
205
|
-
? value
|
|
206
|
-
: typeof value === "string" && value.trim()
|
|
207
|
-
? Number(value)
|
|
208
|
-
: Number.NaN;
|
|
209
|
-
return Number.isFinite(number) ? number : null;
|
|
210
|
-
}
|
|
211
|
-
function isEmpty(value) {
|
|
212
|
-
return value == null || value === "" || (Array.isArray(value) && value.length === 0);
|
|
213
|
-
}
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3F1b3RlLXJlcXVlc3RzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUJBLG9CQW1DQztBQStGRCx3Q0E0Q0M7QUE5TEQscURBQW1EO0FBQ25ELGtFQU91QztBQVFoQyxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQXdCLEVBQUUsR0FBbUI7SUFDdEUsTUFBTSxNQUFNLEdBQUcsSUFBQSxzQ0FBc0IsR0FBRSxDQUFBO0lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxDQUFDLENBQUE7SUFDcEYsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3RFLE1BQU0sVUFBVSxHQUNkLEdBQ0QsQ0FBQyxZQUFZLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQTtRQUNoQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0IsQ0FBd0IsQ0FBQTtRQUM5RSxNQUFNLEtBQUssR0FBRyxNQUFNLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUM5QyxHQUFHLEtBQUs7WUFDUixNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLE1BQU0sRUFBRSxZQUFZO1NBQ1osQ0FBQyxDQUFBO1FBRVgsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsTUFBTSxhQUFhLENBQ2pCLEdBQUcsRUFDSCxLQUEyQyxFQUMzQyxNQUFNLENBQUMsV0FBVyxDQUNuQixDQUFBO1FBQ0gsQ0FB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
|
|
120
|
+
function requiredText(value, label, max) { const result = optionalText(value, max); if (!result)
|
|
121
|
+
throw new Error(`${label} megadása kötelező.`); return result; }
|
|
122
|
+
function optionalText(value, max) { if (typeof value !== "string")
|
|
123
|
+
return null; const result = value.trim(); return result ? result.slice(0, max) : null; }
|
|
124
|
+
function finiteNumber(value) { const number = typeof value === "number" ? value : typeof value === "string" && value.trim() ? Number(value) : Number.NaN; return Number.isFinite(number) ? number : null; }
|
|
125
|
+
function isEmpty(value) { return value == null || value === "" || (Array.isArray(value) && value.length === 0); }
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3F1b3RlLXJlcXVlc3RzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBYUEsb0JBYUM7QUFtQ0Qsd0NBY0M7QUExRUQsZ0VBQXFGO0FBQ3JGLGtFQU91QztBQUloQyxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQXdCLEVBQUUsR0FBbUI7SUFDdEUsTUFBTSxNQUFNLEdBQUcsSUFBQSxzQ0FBc0IsR0FBRSxDQUFBO0lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztRQUFFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZHLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3RFLE1BQU0sVUFBVSxHQUFJLEdBQTJELENBQUMsWUFBWSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUE7UUFDOUcsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsb0NBQW9CLENBQXdCLENBQUE7UUFDOUUsTUFBTSxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVyxDQUFDLENBQUE7UUFDcEksSUFBSSxNQUFNLENBQUMsWUFBWTtZQUFFLE1BQU0sYUFBYSxDQUFDLEdBQUcsRUFBRSxLQUF1QyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM5RyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMs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
|
|
@@ -227,6 +227,7 @@ function createHszrdmCommerceConfig(options = {}) {
|
|
|
227
227
|
]
|
|
228
228
|
: []),
|
|
229
229
|
];
|
|
230
|
+
const emailProvider = emailProviderFromEnv(env.providers.sendgrid);
|
|
230
231
|
return (0, utils_1.defineConfig)({
|
|
231
232
|
featureFlags: {
|
|
232
233
|
translation: true,
|
|
@@ -256,22 +257,10 @@ function createHszrdmCommerceConfig(options = {}) {
|
|
|
256
257
|
id: "local",
|
|
257
258
|
options: {
|
|
258
259
|
name: "Local Notification Provider",
|
|
259
|
-
channels:
|
|
260
|
+
channels: emailProvider ? ["feed"] : ["feed", "email"],
|
|
260
261
|
},
|
|
261
262
|
},
|
|
262
|
-
...(
|
|
263
|
-
? [
|
|
264
|
-
{
|
|
265
|
-
resolve: "@medusajs/medusa/notification-sendgrid",
|
|
266
|
-
id: "sendgrid",
|
|
267
|
-
options: {
|
|
268
|
-
channels: ["email"],
|
|
269
|
-
api_key: process.env.SENDGRID_API_KEY,
|
|
270
|
-
from: process.env.SENDGRID_FROM_EMAIL,
|
|
271
|
-
},
|
|
272
|
-
},
|
|
273
|
-
]
|
|
274
|
-
: []),
|
|
263
|
+
...(emailProvider ? [emailProvider] : []),
|
|
275
264
|
],
|
|
276
265
|
},
|
|
277
266
|
},
|
|
@@ -306,10 +295,44 @@ function createHszrdmCommerceConfig(options = {}) {
|
|
|
306
295
|
},
|
|
307
296
|
});
|
|
308
297
|
}
|
|
298
|
+
function emailProviderFromEnv(legacySendGridEnabled) {
|
|
299
|
+
const requested = process.env.EMAIL_PROVIDER?.trim().toLowerCase();
|
|
300
|
+
const driver = requested || (legacySendGridEnabled ? "sendgrid" : "");
|
|
301
|
+
if (!driver)
|
|
302
|
+
return null;
|
|
303
|
+
if (driver !== "sendgrid" && driver !== "resend") {
|
|
304
|
+
throw new Error("[env] EMAIL_PROVIDER must be sendgrid or resend");
|
|
305
|
+
}
|
|
306
|
+
const apiKey = process.env.EMAIL_API_KEY?.trim() ||
|
|
307
|
+
(driver === "sendgrid"
|
|
308
|
+
? process.env.SENDGRID_API_KEY?.trim()
|
|
309
|
+
: process.env.RESEND_API_KEY?.trim());
|
|
310
|
+
const from = process.env.EMAIL_FROM?.trim() ||
|
|
311
|
+
(driver === "sendgrid"
|
|
312
|
+
? process.env.SENDGRID_FROM_EMAIL?.trim()
|
|
313
|
+
: process.env.RESEND_FROM_EMAIL?.trim());
|
|
314
|
+
if (!apiKey) {
|
|
315
|
+
throw new Error(`[env] EMAIL_PROVIDER=${driver} requires EMAIL_API_KEY${driver === "sendgrid" ? " or SENDGRID_API_KEY" : " or RESEND_API_KEY"}`);
|
|
316
|
+
}
|
|
317
|
+
if (!from) {
|
|
318
|
+
throw new Error(`[env] EMAIL_PROVIDER=${driver} requires EMAIL_FROM${driver === "sendgrid" ? " or SENDGRID_FROM_EMAIL" : " or RESEND_FROM_EMAIL"}`);
|
|
319
|
+
}
|
|
320
|
+
return {
|
|
321
|
+
resolve: "@hszrdm/core/providers/email",
|
|
322
|
+
id: "hszrdm-email",
|
|
323
|
+
options: {
|
|
324
|
+
channels: ["email"],
|
|
325
|
+
driver,
|
|
326
|
+
api_key: apiKey,
|
|
327
|
+
from,
|
|
328
|
+
reply_to: process.env.EMAIL_REPLY_TO?.trim() || undefined,
|
|
329
|
+
},
|
|
330
|
+
};
|
|
331
|
+
}
|
|
309
332
|
function numberOrUndefined(value) {
|
|
310
333
|
if (value == null || value.trim() === "")
|
|
311
334
|
return undefined;
|
|
312
335
|
const number = Number(value);
|
|
313
336
|
return Number.isFinite(number) ? number : undefined;
|
|
314
337
|
}
|
|
315
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSxnRUFxVUM7QUF2VkQscURBQXdEO0FBRXhELCtCQUEwQztBQUMxQyx5REFBc0U7QUFDdEUsc0ZBQWlHO0FBT2pHOzs7Ozs7R0FNRztBQUNILFNBQWdCLDBCQUEwQixDQUN4QyxVQUF1QyxFQUFFO0lBRXpDLElBQUEsa0RBQStCLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTVDLE1BQU0sR0FBRyxHQUFHLElBQUEsd0JBQWtCLEdBQUUsQ0FBQTtJQUNoQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUztRQUNoQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLElBQUksTUFBTSxDQUFrQixDQUFBO0lBQzdELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQTtJQUV2RSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsUUFBUTtRQUMvQixDQUFDLENBQUM7WUFDRTtnQkFDRSxPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRTthQUNwQztZQUNEO2dCQUNFLE9BQU8sRUFBRSx3Q0FBd0M7Z0JBQ2pELE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7YUFDL0M7WUFDRDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxnQ0FBZ0M7NEJBQ3pDLEVBQUUsRUFBRSxlQUFlOzRCQUNuQixVQUFVLEVBQUUsSUFBSTs0QkFDaEIsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcs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
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSxnRUEyVEM7QUE3VUQscURBQXdEO0FBRXhELCtCQUEwQztBQUMxQyx5REFBc0U7QUFDdEUsc0ZBQWlHO0FBT2pHOzs7Ozs7R0FNRztBQUNILFNBQWdCLDBCQUEwQixDQUN4QyxVQUF1QyxFQUFFO0lBRXpDLElBQUEsa0RBQStCLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTVDLE1BQU0sR0FBRyxHQUFHLElBQUEsd0JBQWtCLEdBQUUsQ0FBQTtJQUNoQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUztRQUNoQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLElBQUksTUFBTSxDQUFrQixDQUFBO0lBQzdELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQTtJQUV2RSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsUUFBUTtRQUMvQixDQUFDLENBQUM7WUFDRTtnQkFDRSxPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRTthQUNwQztZQUNEO2dCQUNFLE9BQU8sRUFBRSx3Q0FBd0M7Z0JBQ2pELE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7YUFDL0M7WUFDRDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxnQ0FBZ0M7NEJBQ3pDLEVBQUUsRUFBRSxlQUFlOzRCQUNuQixVQUFVLEVBQUUsSUFBSTs0QkFDaEIsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcs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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const AI_TRANSLATION_REFERENCES: readonly ["product", "cms_entry"];
|
|
2
|
+
export type AiTranslationReference = (typeof AI_TRANSLATION_REFERENCES)[number];
|
|
3
|
+
export declare const AI_TRANSLATION_FIELDS: Record<AiTranslationReference, readonly string[]>;
|
|
4
|
+
export type AiTranslationTask = {
|
|
5
|
+
taskId: string;
|
|
6
|
+
reference: AiTranslationReference;
|
|
7
|
+
referenceId: string;
|
|
8
|
+
sourceLocale: string;
|
|
9
|
+
targetLocale: string;
|
|
10
|
+
fields: Record<string, string>;
|
|
11
|
+
};
|
|
12
|
+
export type AiTranslationResult = {
|
|
13
|
+
taskId: string;
|
|
14
|
+
translations: Record<string, string>;
|
|
15
|
+
};
|
|
16
|
+
export declare function getAiTranslationConfig(): {
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
provider: string;
|
|
19
|
+
model: string;
|
|
20
|
+
baseUrl: string;
|
|
21
|
+
apiKeyConfigured: boolean;
|
|
22
|
+
defaultSourceLocale: string;
|
|
23
|
+
};
|
|
24
|
+
export declare function isAiTranslationReference(value: unknown): value is AiTranslationReference;
|
|
25
|
+
export declare function filterAiTranslatableFields(reference: AiTranslationReference, value: Record<string, unknown>): Record<string, string>;
|
|
26
|
+
export declare function generateAiTranslations(tasks: AiTranslationTask[]): Promise<AiTranslationResult[]>;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AI_TRANSLATION_FIELDS = exports.AI_TRANSLATION_REFERENCES = void 0;
|
|
4
|
+
exports.getAiTranslationConfig = getAiTranslationConfig;
|
|
5
|
+
exports.isAiTranslationReference = isAiTranslationReference;
|
|
6
|
+
exports.filterAiTranslatableFields = filterAiTranslatableFields;
|
|
7
|
+
exports.generateAiTranslations = generateAiTranslations;
|
|
8
|
+
exports.AI_TRANSLATION_REFERENCES = ["product", "cms_entry"];
|
|
9
|
+
exports.AI_TRANSLATION_FIELDS = {
|
|
10
|
+
product: ["title", "description", "subtitle", "material"],
|
|
11
|
+
cms_entry: [
|
|
12
|
+
"title",
|
|
13
|
+
"excerpt",
|
|
14
|
+
"body",
|
|
15
|
+
"featured_image_alt",
|
|
16
|
+
"seo_title",
|
|
17
|
+
"seo_description",
|
|
18
|
+
],
|
|
19
|
+
};
|
|
20
|
+
function getAiTranslationConfig() {
|
|
21
|
+
const enabled = bool(process.env.AI_TRANSLATION_ENABLED, false);
|
|
22
|
+
const provider = (process.env.AI_TRANSLATION_PROVIDER || "openai").trim().toLowerCase();
|
|
23
|
+
const model = (process.env.AI_TRANSLATION_MODEL || "gpt-6-astra").trim();
|
|
24
|
+
const baseUrl = (process.env.OPENAI_BASE_URL || "https://api.openai.com/v1").replace(/\/+$/, "");
|
|
25
|
+
const apiKeyConfigured = Boolean(process.env.OPENAI_API_KEY?.trim());
|
|
26
|
+
const defaultSourceLocale = (process.env.STORE_LOCALE || "hu-HU").trim();
|
|
27
|
+
return {
|
|
28
|
+
enabled,
|
|
29
|
+
provider,
|
|
30
|
+
model,
|
|
31
|
+
baseUrl,
|
|
32
|
+
apiKeyConfigured,
|
|
33
|
+
defaultSourceLocale,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function isAiTranslationReference(value) {
|
|
37
|
+
return typeof value === "string" && exports.AI_TRANSLATION_REFERENCES.includes(value);
|
|
38
|
+
}
|
|
39
|
+
function filterAiTranslatableFields(reference, value) {
|
|
40
|
+
const allowed = new Set(exports.AI_TRANSLATION_FIELDS[reference]);
|
|
41
|
+
const result = {};
|
|
42
|
+
for (const [key, raw] of Object.entries(value || {})) {
|
|
43
|
+
if (!allowed.has(key) || typeof raw !== "string" || !raw.trim())
|
|
44
|
+
continue;
|
|
45
|
+
result[key] = raw;
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
async function generateAiTranslations(tasks) {
|
|
50
|
+
if (!tasks.length)
|
|
51
|
+
return [];
|
|
52
|
+
if (tasks.length > 40)
|
|
53
|
+
throw new Error("Egyszerre legfeljebb 40 fordítási feladat generálható.");
|
|
54
|
+
const config = getAiTranslationConfig();
|
|
55
|
+
if (!config.enabled)
|
|
56
|
+
throw new Error("Az automatikus fordítás nincs engedélyezve.");
|
|
57
|
+
if (config.provider !== "openai")
|
|
58
|
+
throw new Error(`Nem támogatott fordítási provider: ${config.provider}`);
|
|
59
|
+
const apiKey = process.env.OPENAI_API_KEY?.trim();
|
|
60
|
+
if (!apiKey)
|
|
61
|
+
throw new Error("Az OPENAI_API_KEY nincs beállítva.");
|
|
62
|
+
const response = await fetch(`${config.baseUrl}/responses`, {
|
|
63
|
+
method: "POST",
|
|
64
|
+
headers: {
|
|
65
|
+
authorization: `Bearer ${apiKey}`,
|
|
66
|
+
"content-type": "application/json",
|
|
67
|
+
},
|
|
68
|
+
body: JSON.stringify({
|
|
69
|
+
model: config.model,
|
|
70
|
+
store: false,
|
|
71
|
+
instructions: [
|
|
72
|
+
"You are a professional ecommerce translation engine.",
|
|
73
|
+
"Translate faithfully into the requested target locale.",
|
|
74
|
+
"Keep brand names, SKUs, URLs, template variables, technical tokens and measurements unchanged unless normal language rules require otherwise.",
|
|
75
|
+
"For HTML input, preserve valid HTML structure, tags, attributes, links and embedded URLs while translating human-readable text.",
|
|
76
|
+
"Do not summarize, add marketing claims, remove information, or rewrite the meaning.",
|
|
77
|
+
"Return every requested field exactly once.",
|
|
78
|
+
].join(" "),
|
|
79
|
+
input: JSON.stringify({ tasks }),
|
|
80
|
+
text: {
|
|
81
|
+
format: {
|
|
82
|
+
type: "json_schema",
|
|
83
|
+
name: "hszrdm_translation_batch",
|
|
84
|
+
strict: true,
|
|
85
|
+
schema: {
|
|
86
|
+
type: "object",
|
|
87
|
+
properties: {
|
|
88
|
+
items: {
|
|
89
|
+
type: "array",
|
|
90
|
+
items: {
|
|
91
|
+
type: "object",
|
|
92
|
+
properties: {
|
|
93
|
+
task_id: { type: "string" },
|
|
94
|
+
translations: {
|
|
95
|
+
type: "array",
|
|
96
|
+
items: {
|
|
97
|
+
type: "object",
|
|
98
|
+
properties: {
|
|
99
|
+
key: { type: "string" },
|
|
100
|
+
value: { type: "string" },
|
|
101
|
+
},
|
|
102
|
+
required: ["key", "value"],
|
|
103
|
+
additionalProperties: false,
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
required: ["task_id", "translations"],
|
|
108
|
+
additionalProperties: false,
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
required: ["items"],
|
|
113
|
+
additionalProperties: false,
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
}),
|
|
118
|
+
});
|
|
119
|
+
const payload = (await response.json());
|
|
120
|
+
if (!response.ok) {
|
|
121
|
+
const message = payload?.error?.message || payload?.message || `OpenAI API hiba (${response.status}).`;
|
|
122
|
+
throw new Error(message);
|
|
123
|
+
}
|
|
124
|
+
const outputText = extractOutputText(payload);
|
|
125
|
+
if (!outputText)
|
|
126
|
+
throw new Error("Az OpenAI válasz nem tartalmazott fordítási eredményt.");
|
|
127
|
+
let parsed;
|
|
128
|
+
try {
|
|
129
|
+
parsed = JSON.parse(outputText);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
throw new Error("Az OpenAI fordítási válasza nem értelmezhető JSON-ként.");
|
|
133
|
+
}
|
|
134
|
+
const taskMap = new Map(tasks.map((task) => [task.taskId, task]));
|
|
135
|
+
const results = [];
|
|
136
|
+
for (const item of Array.isArray(parsed?.items) ? parsed.items : []) {
|
|
137
|
+
const taskId = typeof item?.task_id === "string" ? item.task_id : "";
|
|
138
|
+
const task = taskMap.get(taskId);
|
|
139
|
+
if (!task)
|
|
140
|
+
continue;
|
|
141
|
+
const translations = {};
|
|
142
|
+
const allowedFields = new Set(Object.keys(task.fields));
|
|
143
|
+
for (const pair of Array.isArray(item?.translations) ? item.translations : []) {
|
|
144
|
+
const key = typeof pair?.key === "string" ? pair.key : "";
|
|
145
|
+
const value = typeof pair?.value === "string" ? pair.value.trim() : "";
|
|
146
|
+
if (!key || !value || !allowedFields.has(key))
|
|
147
|
+
continue;
|
|
148
|
+
translations[key] = value;
|
|
149
|
+
}
|
|
150
|
+
if (Object.keys(translations).length)
|
|
151
|
+
results.push({ taskId, translations });
|
|
152
|
+
}
|
|
153
|
+
return results;
|
|
154
|
+
}
|
|
155
|
+
function extractOutputText(payload) {
|
|
156
|
+
if (typeof payload.output_text === "string" && payload.output_text.trim()) {
|
|
157
|
+
return payload.output_text.trim();
|
|
158
|
+
}
|
|
159
|
+
for (const item of Array.isArray(payload.output) ? payload.output : []) {
|
|
160
|
+
for (const content of Array.isArray(item?.content) ? item.content : []) {
|
|
161
|
+
if (content?.type === "output_text" && typeof content.text === "string" && content.text.trim()) {
|
|
162
|
+
return content.text.trim();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return "";
|
|
167
|
+
}
|
|
168
|
+
function bool(value, fallback) {
|
|
169
|
+
if (value === undefined || value === "")
|
|
170
|
+
return fallback;
|
|
171
|
+
return ["1", "true", "yes", "on"].includes(value.trim().toLowerCase());
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktdHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9haS10cmFuc2xhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4QkEsd0RBZ0JDO0FBRUQsNERBRUM7QUFFRCxnRUFhQztBQUVELHdEQTZHQztBQWhMWSxRQUFBLHlCQUF5QixHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBVSxDQUFBO0FBSTdELFFBQUEscUJBQXFCLEdBQXNEO0lBQ3RGLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN6RCxTQUFTLEVBQUU7UUFDVCxPQUFPO1FBQ1AsU0FBUztRQUNULE1BQU07UUFDTixvQkFBb0I7UUFDcEIsV0FBVztRQUNYLGlCQUFpQjtLQUNsQjtDQUNGLENBQUE7QUFnQkQsU0FBZ0Isc0JBQXNCO0lBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQy9ELE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsSUFBSSxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUN2RixNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLElBQUksYUFBYSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDeEUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSwyQkFBMkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDaEcsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNw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
|