@hszrdm/core 1.7.0 → 1.8.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 +6223 -4784
- package/.medusa/server/src/admin/index.mjs +6224 -4785
- package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.js +26 -0
- package/.medusa/server/src/api/admin/billingo/advance/route.d.ts +8 -0
- package/.medusa/server/src/api/admin/billingo/advance/route.js +55 -0
- package/.medusa/server/src/api/admin/billingo/partial-credit/route.d.ts +8 -0
- package/.medusa/server/src/api/admin/billingo/partial-credit/route.js +69 -0
- package/.medusa/server/src/api/admin/documents/[id]/route.d.ts +22 -0
- package/.medusa/server/src/api/admin/documents/[id]/route.js +107 -0
- package/.medusa/server/src/api/admin/documents/route.d.ts +21 -0
- package/.medusa/server/src/api/admin/documents/route.js +117 -0
- package/.medusa/server/src/api/admin/google-ads/diagnostics/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-ads/diagnostics/route.js +26 -0
- package/.medusa/server/src/api/admin/google-ads/oauth/start/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-ads/oauth/start/route.js +27 -0
- package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.js +69 -0
- package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.js +26 -0
- package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.js +25 -0
- package/.medusa/server/src/api/admin/orders/[id]/shipping/route.js +28 -28
- package/.medusa/server/src/api/admin/shipping/mpl/close/route.d.ts +1 -1
- package/.medusa/server/src/api/admin/shipping/mpl/close/route.js +48 -70
- package/.medusa/server/src/api/auth/google-ads/callback/route.d.ts +2 -0
- package/.medusa/server/src/api/auth/google-ads/callback/route.js +58 -0
- package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.d.ts +2 -0
- package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.js +33 -0
- package/.medusa/server/src/api/feeds/google-merchant.xml/route.js +5 -3
- package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.d.ts +2 -0
- package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.js +211 -0
- package/.medusa/server/src/api/hooks/simplepay/ipn/route.js +113 -23
- package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.d.ts +2 -0
- package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.js +113 -0
- package/.medusa/server/src/api/store/arukereso/backlink/route.d.ts +2 -0
- package/.medusa/server/src/api/store/arukereso/backlink/route.js +73 -0
- package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.js +84 -0
- package/.medusa/server/src/api/store/arukereso/widget/route.d.ts +2 -0
- package/.medusa/server/src/api/store/arukereso/widget/route.js +64 -0
- package/.medusa/server/src/api/store/documents/route.d.ts +2 -0
- package/.medusa/server/src/api/store/documents/route.js +84 -0
- package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.d.ts +2 -0
- package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.js +50 -0
- package/.medusa/server/src/config.d.ts +3 -3
- package/.medusa/server/src/config.js +64 -87
- package/.medusa/server/src/core/documents.d.ts +31 -0
- package/.medusa/server/src/core/documents.js +47 -0
- package/.medusa/server/src/core/version.d.ts +2 -2
- package/.medusa/server/src/core/version.js +2 -2
- package/.medusa/server/src/lib/modules/arukereso/index.d.ts +1 -0
- package/.medusa/server/src/lib/modules/arukereso/index.js +2 -1
- package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.d.ts +19 -0
- package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.js +100 -0
- package/.medusa/server/src/lib/modules/billingo/actions.js +42 -12
- package/.medusa/server/src/lib/modules/billingo/advance.d.ts +68 -0
- package/.medusa/server/src/lib/modules/billingo/advance.js +309 -0
- package/.medusa/server/src/lib/modules/billingo/automation.js +49 -9
- package/.medusa/server/src/lib/modules/billingo/client.d.ts +5 -1
- package/.medusa/server/src/lib/modules/billingo/client.js +12 -6
- package/.medusa/server/src/lib/modules/billingo/index.d.ts +2 -0
- package/.medusa/server/src/lib/modules/billingo/index.js +3 -1
- package/.medusa/server/src/lib/modules/billingo/mapper.d.ts +38 -1
- package/.medusa/server/src/lib/modules/billingo/mapper.js +32 -1
- package/.medusa/server/src/lib/modules/billingo/partial-credit.d.ts +55 -0
- package/.medusa/server/src/lib/modules/billingo/partial-credit.js +338 -0
- package/.medusa/server/src/lib/modules/billingo/types.d.ts +7 -2
- package/.medusa/server/src/lib/modules/google-ads/adjustments.d.ts +21 -0
- package/.medusa/server/src/lib/modules/google-ads/adjustments.js +146 -0
- package/.medusa/server/src/lib/modules/google-ads/api.d.ts +23 -0
- package/.medusa/server/src/lib/modules/google-ads/api.js +171 -0
- package/.medusa/server/src/lib/modules/google-ads/diagnostics.d.ts +47 -0
- package/.medusa/server/src/lib/modules/google-ads/diagnostics.js +164 -0
- package/.medusa/server/src/lib/modules/google-merchant/category-fields.d.ts +7 -0
- package/.medusa/server/src/lib/modules/google-merchant/category-fields.js +210 -0
- package/.medusa/server/src/lib/modules/google-merchant/data-source.d.ts +17 -0
- package/.medusa/server/src/lib/modules/google-merchant/data-source.js +132 -0
- package/.medusa/server/src/lib/modules/google-merchant/diagnostics.d.ts +33 -0
- package/.medusa/server/src/lib/modules/google-merchant/diagnostics.js +113 -0
- package/.medusa/server/src/lib/modules/google-merchant/index.d.ts +5 -0
- package/.medusa/server/src/lib/modules/google-merchant/index.js +6 -1
- package/.medusa/server/src/lib/modules/google-merchant/merchant-api.d.ts +18 -0
- package/.medusa/server/src/lib/modules/google-merchant/merchant-api.js +120 -0
- package/.medusa/server/src/lib/modules/google-merchant/shipping.d.ts +13 -0
- package/.medusa/server/src/lib/modules/google-merchant/shipping.js +97 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/api.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/api.js +3 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/index.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/index.js +3 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/sync.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/sync.js +3 -0
- package/.medusa/server/src/lib/modules/shipping/actions.js +163 -352
- package/.medusa/server/src/lib/modules/shipping/durable-create.d.ts +2 -1
- package/.medusa/server/src/lib/modules/shipping/durable-create.js +33 -5
- package/.medusa/server/src/lib/modules/shipping/idempotency.js +4 -2
- package/.medusa/server/src/lib/modules/shipping/types.d.ts +1 -1
- package/.medusa/server/src/modules/core-documents/index.d.ts +38 -0
- package/.medusa/server/src/modules/core-documents/index.js +18 -0
- package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.d.ts +5 -0
- package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.js +22 -0
- package/.medusa/server/src/modules/core-documents/models/core-document-assignment.d.ts +9 -0
- package/.medusa/server/src/modules/core-documents/models/core-document-assignment.js +18 -0
- package/.medusa/server/src/modules/core-documents/models/core-document.d.ts +18 -0
- package/.medusa/server/src/modules/core-documents/models/core-document.js +27 -0
- package/.medusa/server/src/modules/core-documents/service.d.ts +38 -0
- package/.medusa/server/src/modules/core-documents/service.js +13 -0
- package/.medusa/server/src/modules/integration-operation/state.d.ts +1 -0
- package/.medusa/server/src/modules/integration-operation/state.js +11 -50
- package/.medusa/server/src/modules/integration-operation/types.d.ts +1 -1
- package/.medusa/server/src/modules/integration-settings/arukereso-registration.js +19 -2
- package/.medusa/server/src/modules/integration-settings/connection-test.js +14 -1
- package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.d.ts +2 -0
- package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.js +49 -0
- package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.js +35 -0
- package/.medusa/server/src/modules/integration-settings/google-merchant-registration.js +23 -2
- package/.medusa/server/src/modules/integration-settings/hot-reload-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/hot-reload-registration.js +23 -0
- package/.medusa/server/src/modules/integration-settings/index.d.ts +4 -0
- package/.medusa/server/src/modules/integration-settings/index.js +5 -1
- package/.medusa/server/src/modules/integration-settings/manager.js +38 -4
- package/.medusa/server/src/modules/integration-settings/reloadable.d.ts +10 -0
- package/.medusa/server/src/modules/integration-settings/reloadable.js +58 -0
- package/.medusa/server/src/modules/integration-settings/runtime-snapshot.d.ts +9 -0
- package/.medusa/server/src/modules/integration-settings/runtime-snapshot.js +48 -3
- package/.medusa/server/src/modules/integration-settings/simplepay-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/simplepay-registration.js +18 -0
- package/.medusa/server/src/modules/integration-settings/storefront-public-registration.js +15 -5
- package/.medusa/server/src/providers/csomagpiac/client.d.ts +25 -0
- package/.medusa/server/src/providers/csomagpiac/client.js +144 -0
- package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.d.ts +45 -0
- package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.js +221 -0
- package/.medusa/server/src/providers/csomagpiac/index.d.ts +7 -0
- package/.medusa/server/src/providers/csomagpiac/index.js +30 -0
- package/.medusa/server/src/providers/csomagpiac/service.d.ts +46 -0
- package/.medusa/server/src/providers/csomagpiac/service.js +226 -0
- package/.medusa/server/src/providers/csomagpiac/types.d.ts +65 -0
- package/.medusa/server/src/providers/csomagpiac/types.js +27 -0
- package/.medusa/server/src/providers/dpd/fulfillment-provider.d.ts +2 -1
- package/.medusa/server/src/providers/dpd/fulfillment-provider.js +83 -25
- package/.medusa/server/src/providers/dpd/service.js +5 -3
- package/.medusa/server/src/providers/email/service.d.ts +7 -6
- package/.medusa/server/src/providers/email/service.js +51 -25
- package/.medusa/server/src/providers/foxpost/foxpost-service.js +5 -9
- package/.medusa/server/src/providers/foxpost/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/foxpost/fulfillment-provider.js +76 -66
- package/.medusa/server/src/providers/gls/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/gls/fulfillment-provider.js +76 -13
- package/.medusa/server/src/providers/gls/gls-service.d.ts +16 -0
- package/.medusa/server/src/providers/gls/gls-service.js +26 -65
- package/.medusa/server/src/providers/gls/types.d.ts +15 -0
- package/.medusa/server/src/providers/mpl/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/mpl/fulfillment-provider.js +61 -186
- package/.medusa/server/src/providers/mpl/index.d.ts +2 -0
- package/.medusa/server/src/providers/mpl/index.js +7 -2
- package/.medusa/server/src/providers/mpl/service.d.ts +35 -1
- package/.medusa/server/src/providers/mpl/service.js +82 -370
- package/.medusa/server/src/providers/mpl/types.d.ts +18 -0
- package/.medusa/server/src/providers/mpl/types.js +1 -1
- package/.medusa/server/src/providers/packeta/client.d.ts +2 -1
- package/.medusa/server/src/providers/packeta/client.js +24 -2
- package/.medusa/server/src/providers/packeta/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/packeta/fulfillment-provider.js +73 -5
- package/.medusa/server/src/providers/packeta/service.d.ts +1 -0
- package/.medusa/server/src/providers/packeta/service.js +85 -22
- package/.medusa/server/src/providers/packeta/types.d.ts +26 -0
- package/.medusa/server/src/providers/packeta/types.js +1 -1
- package/.medusa/server/src/providers/resilient-stripe/index.d.ts +19 -1
- package/.medusa/server/src/providers/resilient-stripe/index.js +55 -3
- package/.medusa/server/src/providers/simplepay/config.js +11 -1
- package/.medusa/server/src/providers/simplepay/index.d.ts +2 -0
- package/.medusa/server/src/providers/simplepay/index.js +5 -3
- package/.medusa/server/src/providers/simplepay/runtime-service.d.ts +13 -0
- package/.medusa/server/src/providers/simplepay/runtime-service.js +55 -0
- package/.medusa/server/src/providers/simplepay/service.d.ts +2 -0
- package/.medusa/server/src/providers/simplepay/service.js +40 -5
- package/.medusa/server/src/subscribers/google-ads-order-canceled.d.ts +7 -0
- package/.medusa/server/src/subscribers/google-ads-order-canceled.js +50 -0
- package/.medusa/server/src/subscribers/google-ads-payment-refunded.d.ts +7 -0
- package/.medusa/server/src/subscribers/google-ads-payment-refunded.js +181 -0
- package/.medusa/server/src/subscribers/simplepay-paid-order-recovery.js +14 -1
- package/package.json +6 -2
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const integration_settings_1 = require("../../../../modules/integration-settings");
|
|
5
|
+
const ALLOWED_HOSTS = new Set([
|
|
6
|
+
"arukereso.hu",
|
|
7
|
+
"www.arukereso.hu",
|
|
8
|
+
"image.arukereso.hu",
|
|
9
|
+
"static.arukereso.hu",
|
|
10
|
+
"assets.arukereso.com",
|
|
11
|
+
]);
|
|
12
|
+
async function GET(req, res) {
|
|
13
|
+
const store = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
|
|
14
|
+
const resolved = await (0, integration_settings_1.resolvedIntegrationEnvironment)(store, "arukereso");
|
|
15
|
+
const enabled = resolved.enabled && resolved.env.ARUKERESO_BACKLINK_ENABLED === "true";
|
|
16
|
+
const code = String(resolved.env.ARUKERESO_BACKLINK_CODE || "").trim();
|
|
17
|
+
res.setHeader("Cache-Control", "public, max-age=300, stale-while-revalidate=300");
|
|
18
|
+
if (!enabled || !code) {
|
|
19
|
+
return res.json({ enabled: false, code: "" });
|
|
20
|
+
}
|
|
21
|
+
if (!isAllowedBacklinkCode(code)) {
|
|
22
|
+
return res.status(422).json({
|
|
23
|
+
enabled: false,
|
|
24
|
+
code: "",
|
|
25
|
+
message: "Az Árukereső backlink kód csak hivatalos Árukereső linket és képet tartalmazhat.",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return res.json({ enabled: true, code });
|
|
29
|
+
}
|
|
30
|
+
function isAllowedBacklinkCode(code) {
|
|
31
|
+
if (code.length > 6000)
|
|
32
|
+
return false;
|
|
33
|
+
if (/\bon\w+\s*=/i.test(code))
|
|
34
|
+
return false;
|
|
35
|
+
if (/javascript\s*:/i.test(code))
|
|
36
|
+
return false;
|
|
37
|
+
if (/<(?:script|iframe|form|object|embed)\b/i.test(code))
|
|
38
|
+
return false;
|
|
39
|
+
const urls = [...code.matchAll(/(?:src|href)\s*=\s*["']([^"']+)["']/gi)]
|
|
40
|
+
.map((match) => match[1])
|
|
41
|
+
.filter(Boolean);
|
|
42
|
+
if (!urls.length)
|
|
43
|
+
return false;
|
|
44
|
+
let hasArukeresoLink = false;
|
|
45
|
+
for (const value of urls) {
|
|
46
|
+
let url;
|
|
47
|
+
try {
|
|
48
|
+
url = new URL(value, "https://www.arukereso.hu");
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
if (url.protocol !== "https:")
|
|
54
|
+
return false;
|
|
55
|
+
if (!ALLOWED_HOSTS.has(url.hostname.toLowerCase()))
|
|
56
|
+
return false;
|
|
57
|
+
if (/href\s*=\s*["'][^"']+["']/i.test(code) &&
|
|
58
|
+
["arukereso.hu", "www.arukereso.hu"].includes(url.hostname.toLowerCase())) {
|
|
59
|
+
hasArukeresoLink = true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (!hasArukeresoLink)
|
|
63
|
+
return false;
|
|
64
|
+
const stripped = code
|
|
65
|
+
.replace(/<a\b[^>]*>[\s\S]*?<\/a>/gi, "")
|
|
66
|
+
.replace(/<img\b[^>]*\/?\s*>/gi, "")
|
|
67
|
+
.replace(/<span\b[^>]*>[\s\S]*?<\/span>/gi, "")
|
|
68
|
+
.replace(/<div\b[^>]*>[\s\S]*?<\/div>/gi, "")
|
|
69
|
+
.replace(/<!--([\s\S]*?)-->/g, "")
|
|
70
|
+
.trim();
|
|
71
|
+
return stripped === "";
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FydWtlcmVzby9iYWNrbGluay9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWVBLGtCQXVCQztBQXJDRCxtRkFJaUQ7QUFFakQsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDNUIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtDQUN2QixDQUFDLENBQUE7QUFFSyxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzdCLGtEQUEyQixDQUNXLENBQUE7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHFEQUE4QixFQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUN6RSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEtBQUssTUFBTSxDQUFBO0lBQ3RGLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHVCQUF1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBRXRFLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLGlEQUFpRCxDQUFDLENBQUE7SUFFakYsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sR0FB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
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const integration_settings_1 = require("../../../../../modules/integration-settings");
|
|
6
|
+
const TOKEN_URL = "https://www.arukereso.hu/t2/TokenRequest.php";
|
|
7
|
+
const PROCESS_URL = "https://www.arukereso.hu/t2/TrustedShop.php";
|
|
8
|
+
const AKU_URL = "https://assets.arukereso.com/aku.min.js";
|
|
9
|
+
async function POST(req, res) {
|
|
10
|
+
const settingsStore = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
|
|
11
|
+
const resolved = await (0, integration_settings_1.resolvedIntegrationEnvironment)(settingsStore, "arukereso");
|
|
12
|
+
const env = resolved.env;
|
|
13
|
+
const enabled = resolved.enabled && env.ARUKERESO_TRUSTED_SHOP_ENABLED === "true";
|
|
14
|
+
const webApiKey = String(env.ARUKERESO_TRUSTED_SHOP_WEBAPI_KEY || "").trim();
|
|
15
|
+
if (!enabled || !webApiKey) {
|
|
16
|
+
return res.status(204).end();
|
|
17
|
+
}
|
|
18
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
19
|
+
const { data } = await query.graph({
|
|
20
|
+
entity: "order",
|
|
21
|
+
fields: [
|
|
22
|
+
"id",
|
|
23
|
+
"email",
|
|
24
|
+
"items.id",
|
|
25
|
+
"items.title",
|
|
26
|
+
"items.product_title",
|
|
27
|
+
"items.variant_title",
|
|
28
|
+
"items.variant_id",
|
|
29
|
+
],
|
|
30
|
+
filters: { id: req.params.id },
|
|
31
|
+
});
|
|
32
|
+
const order = data[0];
|
|
33
|
+
if (!order)
|
|
34
|
+
return res.status(404).json({ message: "Order not found." });
|
|
35
|
+
const email = String(order.email || "").trim().toLowerCase();
|
|
36
|
+
if (!email || !email.includes("@")) {
|
|
37
|
+
return res.status(422).json({ message: "A rendeléshez nem tartozik érvényes e-mail cím." });
|
|
38
|
+
}
|
|
39
|
+
const products = (Array.isArray(order.items) ? order.items : [])
|
|
40
|
+
.map((item) => {
|
|
41
|
+
const name = String(item.product_title || item.title || item.variant_title || "").trim();
|
|
42
|
+
if (!name)
|
|
43
|
+
return null;
|
|
44
|
+
const id = String(item.variant_id || "").trim();
|
|
45
|
+
return id ? { Name: name, Id: id } : { Name: name };
|
|
46
|
+
})
|
|
47
|
+
.filter(Boolean);
|
|
48
|
+
if (!products.length) {
|
|
49
|
+
return res.status(422).json({ message: "A rendelés nem tartalmaz továbbítható terméket." });
|
|
50
|
+
}
|
|
51
|
+
const body = new URLSearchParams({
|
|
52
|
+
Version: "2.0/PHP",
|
|
53
|
+
WebApiKey: webApiKey,
|
|
54
|
+
Email: email,
|
|
55
|
+
Products: JSON.stringify(products),
|
|
56
|
+
});
|
|
57
|
+
let response;
|
|
58
|
+
try {
|
|
59
|
+
response = await fetch(TOKEN_URL, {
|
|
60
|
+
method: "POST",
|
|
61
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
62
|
+
body,
|
|
63
|
+
signal: AbortSignal.timeout(2500),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return res.status(503).json({ message: "Az Árukereső tokenkérés időtúllépés miatt nem sikerült." });
|
|
68
|
+
}
|
|
69
|
+
const payload = (await response.json().catch(() => null));
|
|
70
|
+
if (!response.ok || !payload?.Token) {
|
|
71
|
+
return res.status(502).json({
|
|
72
|
+
message: payload?.ErrorMessage ||
|
|
73
|
+
`Az Árukereső tokenkérés sikertelen (${response.status}).`,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
res.setHeader("Cache-Control", "no-store");
|
|
77
|
+
return res.status(200).json({
|
|
78
|
+
token: payload.Token,
|
|
79
|
+
web_api_key: webApiKey,
|
|
80
|
+
process_url: PROCESS_URL,
|
|
81
|
+
script_url: AKU_URL,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FydWtlcmVzby90cnVzdGVkLXNob3AvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSxvQkE2RkM7QUE5R0QscURBQXFFO0FBQ3JFLHNGQUlvRDtBQVFwRCxNQUFNLFNBQVMsR0FBRyw4Q0FBOEMsQ0FBQTtBQUNoRSxNQUFNLFdBQVcsR0FBRyw2Q0FBNkMsQ0FBQTtBQUNqRSxNQUFNLE9BQU8sR0FBRyx5Q0FBeUMsQ0FBQTtBQUVsRCxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDaEUsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ3JDLGtEQUEyQixDQUNXLENBQUE7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHFEQUE4QixFQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUNqRixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFBO0lBRXhCLE1BQU0sT0FBTyxHQUNYLFFBQVEsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLDhCQUE4QixLQUFLLE1BQU0sQ0FBQTtJQUNuRSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBRTVFLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDOUIsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUM3QixpQ0FBeUIsQ0FBQyxLQUFLLENBQ1IsQ0FBQTtJQUN6QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdB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
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const integration_settings_1 = require("../../../../modules/integration-settings");
|
|
5
|
+
const ALLOWED_HOSTS = new Set([
|
|
6
|
+
"arukereso.hu",
|
|
7
|
+
"www.arukereso.hu",
|
|
8
|
+
"assets.arukereso.com",
|
|
9
|
+
"static.arukereso.hu",
|
|
10
|
+
]);
|
|
11
|
+
async function GET(req, res) {
|
|
12
|
+
const store = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
|
|
13
|
+
const resolved = await (0, integration_settings_1.resolvedIntegrationEnvironment)(store, "arukereso");
|
|
14
|
+
const enabled = resolved.enabled &&
|
|
15
|
+
resolved.env.ARUKERESO_TRUSTED_SHOP_WIDGET_ENABLED === "true";
|
|
16
|
+
const code = String(resolved.env.ARUKERESO_TRUSTED_SHOP_WIDGET_CODE || "").trim();
|
|
17
|
+
res.setHeader("Cache-Control", "public, max-age=300, stale-while-revalidate=300");
|
|
18
|
+
if (!enabled || !code) {
|
|
19
|
+
return res.json({ enabled: false, code: "" });
|
|
20
|
+
}
|
|
21
|
+
if (!isAllowedWidgetCode(code)) {
|
|
22
|
+
return res.status(422).json({
|
|
23
|
+
enabled: false,
|
|
24
|
+
code: "",
|
|
25
|
+
message: "Az Árukereső widget kód csak hivatalos arukereso.hu / arukereso.com forrásokat tartalmazhat.",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return res.json({ enabled: true, code });
|
|
29
|
+
}
|
|
30
|
+
function isAllowedWidgetCode(code) {
|
|
31
|
+
if (code.length > 12000)
|
|
32
|
+
return false;
|
|
33
|
+
if (/\bon\w+\s*=/i.test(code))
|
|
34
|
+
return false;
|
|
35
|
+
if (/javascript\s*:/i.test(code))
|
|
36
|
+
return false;
|
|
37
|
+
const urls = [...code.matchAll(/(?:src|href)\s*=\s*["']([^"']+)["']/gi)]
|
|
38
|
+
.map((match) => match[1])
|
|
39
|
+
.filter(Boolean);
|
|
40
|
+
if (!urls.length)
|
|
41
|
+
return false;
|
|
42
|
+
for (const value of urls) {
|
|
43
|
+
let url;
|
|
44
|
+
try {
|
|
45
|
+
url = new URL(value, "https://www.arukereso.hu");
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
if (url.protocol !== "https:")
|
|
51
|
+
return false;
|
|
52
|
+
if (!ALLOWED_HOSTS.has(url.hostname.toLowerCase()))
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
const stripped = code
|
|
56
|
+
.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, "")
|
|
57
|
+
.replace(/<iframe\b[^>]*>[\s\S]*?<\/iframe>/gi, "")
|
|
58
|
+
.replace(/<div\b[^>]*>[\s\S]*?<\/div>/gi, "")
|
|
59
|
+
.replace(/<a\b[^>]*>[\s\S]*?<\/a>/gi, "")
|
|
60
|
+
.replace(/<!--([\s\S]*?)-->/g, "")
|
|
61
|
+
.trim();
|
|
62
|
+
return stripped === "";
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FydWtlcmVzby93aWRnZXQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQSxrQkE0QkM7QUF6Q0QsbUZBSWlEO0FBRWpELE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQzVCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsc0JBQXNCO0lBQ3RCLHFCQUFxQjtDQUN0QixDQUFDLENBQUE7QUFFSyxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzdCLGtEQUEyQixDQUNXLENBQUE7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHFEQUE4QixFQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUN6RSxNQUFNLE9BQU8sR0FDWCxRQUFRLENBQUMsT0FBTztRQUNoQixRQUFRLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxLQUFLLE1BQU0sQ0FBQTtJQUMvRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQ2pCLFFBQVEsQ0FBQyxHQUFHLENBQUMsa0NBQWtDLElBQUksRUFBRSxDQUN0RCxDQUFDLElBQUksRUFBRSxDQUFBO0lBRVIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsaURBQWlELENBQUMsQ0FBQTtJQUVqRixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxQixPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxFQUFFO1lBQ1IsT0FBTyxFQUNMLDhGQUE4RjtTQUNqRyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLElBQVk7SUFDdkMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUNyQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFDM0MsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFOUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUNBQXVDLENBQUMsQ0FBQztTQUNyRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFOUIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLEdBQVEsQ0FBQTtRQUNaLElBQUksQ0FBQztZQUNILEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtRQUNsRCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO1FBQ0QsSUFBSSxHQUFHLENBQUMsUUFBUSxLQUFLLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQTtRQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUE7SUFDbEUsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLElBQUk7U0FDbEIsT0FBTyxDQUFDLHFDQUFxQyxFQUFFLEVBQUUsQ0FBQztTQUNsRCxPQUFPLENBQUMscUNBQXFDLEVBQUUsRUFBRSxDQUFDO1NBQ2xELE9BQU8sQ0FBQywrQkFBK0IsRUFBRSxFQUFFLENBQUM7U0FDNUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLEVBQUUsQ0FBQztTQUN4QyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1NBQ2pDLElBQUksRUFBRSxDQUFBO0lBRVQsT0FBTyxRQUFRLEtBQUssRUFBRSxDQUFBO0FBQ3hCLENBQUMifQ==
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const documents_1 = require("../../../core/documents");
|
|
5
|
+
const core_documents_1 = require("../../../modules/core-documents");
|
|
6
|
+
const DOCUMENT_PAGE_SIZE = 500;
|
|
7
|
+
async function GET(req, res) {
|
|
8
|
+
try {
|
|
9
|
+
const service = req.scope.resolve(core_documents_1.CORE_DOCUMENTS_MODULE);
|
|
10
|
+
const type = text(req.query?.document_type, 120);
|
|
11
|
+
const locale = text(req.query?.locale, 40);
|
|
12
|
+
const productId = text(req.query?.product_id, 120);
|
|
13
|
+
const categoryId = text(req.query?.category_id, 120);
|
|
14
|
+
const limit = clampInt(req.query?.limit, 200, 1, 500);
|
|
15
|
+
const filters = { status: "published" };
|
|
16
|
+
if (type)
|
|
17
|
+
filters.document_type = type;
|
|
18
|
+
const assignments = await service.listCoreDocumentAssignments({}, { take: 5000, order: { display_order: "ASC" } });
|
|
19
|
+
const visible = [];
|
|
20
|
+
let skip = 0;
|
|
21
|
+
while (visible.length < limit) {
|
|
22
|
+
const documents = await service.listCoreDocuments(filters, {
|
|
23
|
+
skip,
|
|
24
|
+
take: DOCUMENT_PAGE_SIZE,
|
|
25
|
+
order: { document_type: "ASC", title: "ASC" },
|
|
26
|
+
});
|
|
27
|
+
if (!documents.length)
|
|
28
|
+
break;
|
|
29
|
+
for (const document of documents) {
|
|
30
|
+
if (!(0, documents_1.isCoreDocumentPublic)(document))
|
|
31
|
+
continue;
|
|
32
|
+
if (locale && document.locale && String(document.locale).toLowerCase() !== locale.toLowerCase())
|
|
33
|
+
continue;
|
|
34
|
+
const withTargets = withAssignments(document, assignments);
|
|
35
|
+
if (productId && !withTargets.product_ids.includes(productId))
|
|
36
|
+
continue;
|
|
37
|
+
if (categoryId && !withTargets.category_ids.includes(categoryId))
|
|
38
|
+
continue;
|
|
39
|
+
visible.push(publicDocument(withTargets));
|
|
40
|
+
if (visible.length >= limit)
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
if (documents.length < DOCUMENT_PAGE_SIZE)
|
|
44
|
+
break;
|
|
45
|
+
skip += documents.length;
|
|
46
|
+
}
|
|
47
|
+
res.setHeader("Cache-Control", "public, max-age=60, stale-while-revalidate=300");
|
|
48
|
+
return res.json({ documents: visible, count: visible.length });
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
return res.status(500).json({
|
|
52
|
+
message: error instanceof Error ? error.message : "A dokumentumok nem tölthetők be.",
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function publicDocument(document) {
|
|
57
|
+
return {
|
|
58
|
+
id: document.id,
|
|
59
|
+
title: document.title,
|
|
60
|
+
description: document.description || null,
|
|
61
|
+
document_type: document.document_type,
|
|
62
|
+
file_url: document.file_url,
|
|
63
|
+
file_name: document.file_name,
|
|
64
|
+
mime_type: document.mime_type || null,
|
|
65
|
+
file_size: document.file_size ?? null,
|
|
66
|
+
locale: document.locale || null,
|
|
67
|
+
version: document.version || null,
|
|
68
|
+
valid_from: document.valid_from || null,
|
|
69
|
+
valid_until: document.valid_until || null,
|
|
70
|
+
product_ids: document.product_ids,
|
|
71
|
+
category_ids: document.category_ids,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function withAssignments(document, assignments) {
|
|
75
|
+
const own = assignments.filter((item) => item.document_id === document.id);
|
|
76
|
+
return {
|
|
77
|
+
...document,
|
|
78
|
+
product_ids: own.filter((item) => item.target_type === "product").map((item) => String(item.target_id)),
|
|
79
|
+
category_ids: own.filter((item) => item.target_type === "category").map((item) => String(item.target_id)),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function text(value, max) { return typeof value === "string" ? value.trim().slice(0, max) : ""; }
|
|
83
|
+
function clampInt(value, fallback, min, max) { const number = Number(value); return Number.isFinite(number) ? Math.max(min, Math.min(max, Math.trunc(number))) : fallback; }
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2RvY3VtZW50cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVNBLGtCQXVEQztBQS9ERCx1REFBOEQ7QUFDOUQsb0VBR3dDO0FBRXhDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFBO0FBRXZCLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQ0FBcUIsQ0FBeUIsQ0FBQTtRQUNoRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDaEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQzFDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDcEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFFckQsTUFBTSxPQUFPLEdBQTRCLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFBO1FBQ2hFLElBQUksSUFBSTtZQUFFLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO1FBRXRDLE1BQU0sV0FBVyxHQUFHLE1BQU0sT0FBTyxDQUFDLDJCQUEyQixDQUMzRCxFQUFFLEVBQ0YsRUFB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
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const integration_settings_1 = require("../../../../../modules/integration-settings");
|
|
5
|
+
const google_merchant_1 = require("../../../../../lib/modules/google-merchant");
|
|
6
|
+
async function GET(req, res) {
|
|
7
|
+
const code = String(req.query.code || "").trim();
|
|
8
|
+
const state = String(req.query.state || "").trim();
|
|
9
|
+
const oauthError = String(req.query.error || "").trim();
|
|
10
|
+
if (oauthError) {
|
|
11
|
+
return html(res, 400, `Google OAuth hiba: ${escapeHtml(oauthError)}`);
|
|
12
|
+
}
|
|
13
|
+
if (!code || !state) {
|
|
14
|
+
return html(res, 400, "Hiányzó Google OAuth code vagy state.");
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const statePayload = (0, google_merchant_1.verifyGoogleMerchantOAuthState)(state);
|
|
18
|
+
const store = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
|
|
19
|
+
const resolved = await (0, integration_settings_1.resolvedIntegrationEnvironment)(store, "google-merchant");
|
|
20
|
+
const current = await (0, integration_settings_1.getIntegrationSettingsView)(store, "google-merchant");
|
|
21
|
+
const token = await (0, google_merchant_1.exchangeGoogleMerchantAuthorizationCode)(resolved.env, code);
|
|
22
|
+
await (0, integration_settings_1.saveIntegrationSettings)({
|
|
23
|
+
store,
|
|
24
|
+
key: "google-merchant",
|
|
25
|
+
enabled: current.enabled,
|
|
26
|
+
values: {
|
|
27
|
+
GOOGLE_MERCHANT_API_REFRESH_TOKEN: token.refresh_token,
|
|
28
|
+
},
|
|
29
|
+
actorId: statePayload.actorId || null,
|
|
30
|
+
});
|
|
31
|
+
return html(res, 200, "A Google Merchant Center kapcsolat létrejött. Ezt az ablakot bezárhatod, majd az adminban futtasd a kapcsolat tesztelését.");
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
return html(res, 400, error instanceof Error ? error.message : "A Google OAuth kapcsolat nem hozható létre.");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function html(res, status, message) {
|
|
38
|
+
res.setHeader("Content-Type", "text/html; charset=utf-8");
|
|
39
|
+
res.setHeader("Cache-Control", "no-store");
|
|
40
|
+
return res.status(status).send(`<!doctype html><html lang="hu"><head><meta charset="utf-8"><title>Google Merchant OAuth</title></head><body style="font-family:system-ui;padding:32px"><h1>Google Merchant Center</h1><p>${escapeHtml(message)}</p></body></html>`);
|
|
41
|
+
}
|
|
42
|
+
function escapeHtml(value) {
|
|
43
|
+
return value
|
|
44
|
+
.replace(/&/g, "&")
|
|
45
|
+
.replace(/</g, "<")
|
|
46
|
+
.replace(/>/g, ">")
|
|
47
|
+
.replace(/"/g, """)
|
|
48
|
+
.replace(/'/g, "'");
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2dvb2dsZS1tZXJjaGFudC9vYXV0aC9jYWxsYmFjay9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLGtCQTJDQztBQXZERCxzRkFNb0Q7QUFDcEQsZ0ZBR21EO0FBRTVDLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDaEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ2xELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUV2RCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxzQkFBc0IsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN2RSxDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsdUNBQXVDLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsSUFBQSxnREFBOEIsRUFBQyxLQUFLLENBQUMsQ0FBQTtRQUMxRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDN0Isa0RBQTJCLENBQ1csQ0FBQTtRQUN4QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEscURBQThCLEVBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFDL0UsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLGlEQUEwQixFQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO1FBQzFFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBQSx5REFBdUMsRUFBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBRS9FLE1BQU0sSUFBQSw4Q0FBdUIsRUFBQztZQUM1QixLQUFLO1lBQ0wsR0FBRyxFQUFFLGlCQUFpQjtZQUN0QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsTUFBTSxFQUFFO2dCQUNOLGlDQUFpQyxFQUFFLEtBQUssQ0FBQyxhQUFhO2FBQ3ZEO1lBQ0QsT0FBTyxFQUFFLFlBQVksQ0FBQyxPQUFPLElBQUksSUFBSTtTQUN0QyxDQUFDLENBQUE7UUFFRixPQUFPLElBQUksQ0FDVCxHQUFHLEVBQ0gsR0FBRyxFQUNILDRIQUE0SCxDQUM3SCxDQUFBO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLElBQUksQ0FDVCxHQUFHLEVBQ0gsR0FBRyxFQUNILEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDZDQUE2QyxDQUN2RixDQUFBO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxHQUFtQixFQUFFLE1BQWMsRUFBRSxPQUFlO0lBQ2hFLEdBQUcsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLDBCQUEwQixDQUFDLENBQUE7SUFDekQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDMUMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDNUIsNExBQTRMLFVBQVUsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQ3BPLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsS0FBYTtJQUMvQixPQUFPLEtBQUs7U0FDVCxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztTQUN0QixPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztTQUNyQixPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztTQUNyQixPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztTQUN2QixPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0FBQzVCLENBQUMifQ==
|
|
@@ -5,8 +5,8 @@ export type HszrdmCommerceConfigOptions = {
|
|
|
5
5
|
/**
|
|
6
6
|
* Build the Medusa application config for an HSZRDM Commerce backend.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Runtime-configurable providers are registered even when they are not yet
|
|
9
|
+
* configured. Admin -> Integrációk can therefore enable/rotate them without
|
|
10
|
+
* rebuilding the Medusa module graph or restarting the backend.
|
|
11
11
|
*/
|
|
12
12
|
export declare function createHszrdmCommerceConfig(options?: HszrdmCommerceConfigOptions): import("@medusajs/types").ConfigModule;
|