@hszrdm/core 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +3582 -2374
- package/.medusa/server/src/admin/index.mjs +3582 -2374
- package/.medusa/server/src/api/admin/cms/entries/[id]/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/cms/entries/[id]/route.js +78 -0
- package/.medusa/server/src/api/admin/cms/entries/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/cms/entries/route.js +77 -0
- package/.medusa/server/src/api/admin/cms/taxonomy/[id]/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/cms/taxonomy/[id]/route.js +50 -0
- package/.medusa/server/src/api/admin/cms/taxonomy/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/cms/taxonomy/route.js +60 -0
- package/.medusa/server/src/api/admin/core/status/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/core/status/route.js +11 -0
- package/.medusa/server/src/api/admin/featured-products/[id]/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/featured-products/[id]/route.js +54 -0
- package/.medusa/server/src/api/admin/leads/[id]/route.d.ts +9 -0
- package/.medusa/server/src/api/admin/leads/[id]/route.js +64 -0
- package/.medusa/server/src/api/admin/leads/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/leads/route.js +26 -0
- package/.medusa/server/src/api/admin/quote-requests/[id]/draft-order/route.d.ts +8 -0
- package/.medusa/server/src/api/admin/quote-requests/[id]/draft-order/route.js +160 -0
- package/.medusa/server/src/api/admin/quote-requests/[id]/order/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/quote-requests/[id]/order/route.js +54 -0
- package/.medusa/server/src/api/admin/quote-requests/[id]/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/quote-requests/[id]/route.js +80 -0
- package/.medusa/server/src/api/admin/quote-requests/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/quote-requests/route.js +19 -0
- package/.medusa/server/src/api/middlewares.js +11 -6
- package/.medusa/server/src/api/store/cms/config/route.d.ts +2 -0
- package/.medusa/server/src/api/store/cms/config/route.js +17 -0
- package/.medusa/server/src/api/store/cms/entries/[slug]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/cms/entries/[slug]/route.js +62 -0
- package/.medusa/server/src/api/store/cms/entries/route.d.ts +2 -0
- package/.medusa/server/src/api/store/cms/entries/route.js +87 -0
- package/.medusa/server/src/api/store/cms/taxonomy/route.d.ts +2 -0
- package/.medusa/server/src/api/store/cms/taxonomy/route.js +44 -0
- package/.medusa/server/src/api/store/core/pricing/variants/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/core/pricing/variants/[id]/route.js +152 -0
- package/.medusa/server/src/api/store/featured-products/route.d.ts +2 -0
- package/.medusa/server/src/api/store/featured-products/route.js +38 -0
- package/.medusa/server/src/api/store/leads/config/route.d.ts +2 -0
- package/.medusa/server/src/api/store/leads/config/route.js +21 -0
- package/.medusa/server/src/api/store/leads/route.d.ts +4 -0
- package/.medusa/server/src/api/store/leads/route.js +176 -0
- package/.medusa/server/src/api/store/quote-requests/config/route.d.ts +2 -0
- package/.medusa/server/src/api/store/quote-requests/config/route.js +13 -0
- package/.medusa/server/src/api/store/quote-requests/route.d.ts +5 -0
- package/.medusa/server/src/api/store/quote-requests/route.js +214 -0
- package/.medusa/server/src/api/store/seo/route.js +42 -10
- package/.medusa/server/src/api/store/seo/structured-data/route.js +3 -2
- package/.medusa/server/src/config.js +7 -1
- package/.medusa/server/src/core/admin-analytics-dashboard.d.ts +1 -0
- package/.medusa/server/src/core/admin-analytics-dashboard.js +15 -3
- package/.medusa/server/src/core/featured-products.d.ts +19 -0
- package/.medusa/server/src/core/featured-products.js +45 -0
- package/.medusa/server/src/core/pricing-tiers.d.ts +25 -0
- package/.medusa/server/src/core/pricing-tiers.js +88 -0
- package/.medusa/server/src/core/release-info.d.ts +10 -0
- package/.medusa/server/src/core/release-info.js +22 -0
- package/.medusa/server/src/core/version.d.ts +4 -4
- package/.medusa/server/src/core/version.js +3 -3
- package/.medusa/server/src/lib/modules/arukereso/config.js +2 -2
- package/.medusa/server/src/lib/modules/google-merchant/config.d.ts +2 -0
- package/.medusa/server/src/lib/modules/google-merchant/config.js +9 -2
- package/.medusa/server/src/lib/modules/google-merchant/feed.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-merchant/feed.js +4 -2
- package/.medusa/server/src/localized-config.d.ts +9 -0
- package/.medusa/server/src/localized-config.js +14 -0
- package/.medusa/server/src/modules/cms/config.d.ts +10 -0
- package/.medusa/server/src/modules/cms/config.js +50 -0
- package/.medusa/server/src/modules/cms/index.d.ts +8 -0
- package/.medusa/server/src/modules/cms/index.js +28 -0
- package/.medusa/server/src/modules/cms/migrations/Migration20261029170000.d.ts +5 -0
- package/.medusa/server/src/modules/cms/migrations/Migration20261029170000.js +27 -0
- package/.medusa/server/src/modules/cms/migrations/Migration20261029190000.d.ts +5 -0
- package/.medusa/server/src/modules/cms/migrations/Migration20261029190000.js +52 -0
- package/.medusa/server/src/modules/cms/models/cms.d.ts +67 -0
- package/.medusa/server/src/modules/cms/models/cms.js +64 -0
- package/.medusa/server/src/modules/cms/service.d.ts +82 -0
- package/.medusa/server/src/modules/cms/service.js +9 -0
- package/.medusa/server/src/modules/cms/utils.d.ts +67 -0
- package/.medusa/server/src/modules/cms/utils.js +190 -0
- package/.medusa/server/src/modules/integration-settings/arukereso-registration.js +2 -2
- package/.medusa/server/src/modules/integration-settings/google-merchant-registration.js +6 -2
- package/.medusa/server/src/modules/lead/config.d.ts +37 -0
- package/.medusa/server/src/modules/lead/config.js +147 -0
- package/.medusa/server/src/modules/lead/email.d.ts +17 -0
- package/.medusa/server/src/modules/lead/email.js +68 -0
- package/.medusa/server/src/modules/lead/index.d.ts +9 -0
- package/.medusa/server/src/modules/lead/index.js +27 -0
- package/.medusa/server/src/modules/lead/migrations/Migration20261029163000.d.ts +5 -0
- package/.medusa/server/src/modules/lead/migrations/Migration20261029163000.js +19 -0
- package/.medusa/server/src/modules/lead/models/lead.d.ts +26 -0
- package/.medusa/server/src/modules/lead/models/lead.js +53 -0
- package/.medusa/server/src/modules/lead/service.d.ts +29 -0
- package/.medusa/server/src/modules/lead/service.js +11 -0
- package/.medusa/server/src/modules/lead/spam.d.ts +24 -0
- package/.medusa/server/src/modules/lead/spam.js +114 -0
- package/.medusa/server/src/modules/quote-request/config.d.ts +14 -0
- package/.medusa/server/src/modules/quote-request/config.js +52 -0
- package/.medusa/server/src/modules/quote-request/email.d.ts +17 -0
- package/.medusa/server/src/modules/quote-request/email.js +133 -0
- package/.medusa/server/src/modules/quote-request/index.d.ts +8 -0
- package/.medusa/server/src/modules/quote-request/index.js +23 -0
- package/.medusa/server/src/modules/quote-request/migrations/Migration20261029160000.d.ts +5 -0
- package/.medusa/server/src/modules/quote-request/migrations/Migration20261029160000.js +20 -0
- package/.medusa/server/src/modules/quote-request/models/quote-request.d.ts +24 -0
- package/.medusa/server/src/modules/quote-request/models/quote-request.js +54 -0
- package/.medusa/server/src/modules/quote-request/service.d.ts +32 -0
- package/.medusa/server/src/modules/quote-request/service.js +12 -0
- package/.medusa/server/src/modules/seo/models/seo-page.js +5 -5
- package/.medusa/server/src/modules/seo/sitemap.js +44 -10
- package/.medusa/server/src/modules/seo/structured-data.d.ts +1 -1
- package/.medusa/server/src/modules/seo/structured-data.js +41 -25
- package/.medusa/server/src/modules/seo/technical.d.ts +7 -2
- package/.medusa/server/src/modules/seo/technical.js +45 -6
- package/.medusa/server/src/modules/seo/types.d.ts +2 -0
- package/.medusa/server/src/scripts/ensure-locales.d.ts +2 -0
- package/.medusa/server/src/scripts/ensure-locales.js +34 -0
- package/.medusa/server/src/scripts/ensure-shipping.d.ts +3 -0
- package/.medusa/server/src/scripts/ensure-shipping.js +211 -0
- package/.medusa/server/src/scripts/verify-bootstrap.js +19 -2
- package/.medusa/server/src/subscribers/quote-request-order-placed.d.ts +7 -0
- package/.medusa/server/src/subscribers/quote-request-order-placed.js +27 -0
- package/package.json +2 -2
|
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildAdminAnalyticsDashboard = buildAdminAnalyticsDashboard;
|
|
4
4
|
exports.parseAnalyticsDateRange = parseAnalyticsDateRange;
|
|
5
5
|
exports.percentChange = percentChange;
|
|
6
|
+
exports.numberValue = numberValue;
|
|
6
7
|
const google_analytics_data_1 = require("./google-analytics-data");
|
|
7
8
|
const integration_settings_1 = require("../modules/integration-settings");
|
|
8
|
-
const PAID_STATUSES = new Set(["captured", "partially_refunded", "refunded"]);
|
|
9
|
+
const PAID_STATUSES = new Set(["captured", "partially_captured", "partially_refunded", "refunded"]);
|
|
9
10
|
const PAYMENT_PROVIDERS = new Set(["stripe", "simplepay"]);
|
|
10
11
|
const SHIPPING_PROVIDERS = new Set(["foxpost", "gls", "packeta", "dpd", "mpl"]);
|
|
11
12
|
const FUNNEL_EVENTS = [
|
|
@@ -658,7 +659,18 @@ function numberValue(value) {
|
|
|
658
659
|
if (typeof value === "string" && value.trim() && Number.isFinite(Number(value)))
|
|
659
660
|
return Number(value);
|
|
660
661
|
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
661
|
-
|
|
662
|
+
const candidate = value;
|
|
663
|
+
const numericValue = numberValue(candidate.numeric);
|
|
664
|
+
if (numericValue != null)
|
|
665
|
+
return numericValue;
|
|
666
|
+
const rawValue = numberValue(candidate.value);
|
|
667
|
+
if (rawValue != null)
|
|
668
|
+
return rawValue;
|
|
669
|
+
const toNumber = candidate.toNumber;
|
|
670
|
+
if (typeof toNumber === "function") {
|
|
671
|
+
const converted = toNumber.call(value);
|
|
672
|
+
return numberValue(converted);
|
|
673
|
+
}
|
|
662
674
|
}
|
|
663
675
|
return null;
|
|
664
676
|
}
|
|
@@ -680,4 +692,4 @@ function record(value) {
|
|
|
680
692
|
function roundMoney(value) {
|
|
681
693
|
return Math.round((value + Number.EPSILON) * 100) / 100;
|
|
682
694
|
}
|
|
683
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tYW5hbHl0aWNzLWRhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL2FkbWluLWFuYWx5dGljcy1kYXNoYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnRUEsb0VBc0lDO0FBRUQsMERBaUNDO0FBRUQsc0NBTUM7QUFqUEQsbUVBR2dDO0FBQ2hDLDBFQUd3QztBQThDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtBQUM3RSxNQUFNLGlCQUFpQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUE7QUFDMUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQy9FLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDO0lBQ2xDLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDO0lBQ25DLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUM7SUFDdEMsQ0FBQyxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDaEIsQ0FBQTtBQUVILEtBQUssVUFBVSw0QkFBNEIsQ0FDaEQsS0FBbUM7SUFFbkMsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM3RSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBRXBELE1BQU0sQ0FDSixlQUFlLEVBQ2YsZ0JBQWdCLEVB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
|
|
695
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tYW5hbHl0aWNzLWRhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL2FkbWluLWFuYWx5dGljcy1kYXNoYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnRUEsb0VBc0lDO0FBRUQsMERBaUNDO0FBRUQsc0NBTUM7QUE2bEJELGtDQWdCQztBQTkxQkQsbUVBR2dDO0FBQ2hDLDBFQUd3QztBQThDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtBQUNuRyxNQUFNLGlCQUFpQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUE7QUFDMUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQy9FLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDO0lBQ2xDLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDO0lBQ25DLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUM7SUFDdEMsQ0FBQyxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDaEIsQ0FBQTtBQUVILEtBQUssVUFBVSw0QkFBNEIsQ0FDaEQsS0FBbUM7SUFFbkMsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM3RSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBRXBELE1B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
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const FEATURED_PRODUCT_METADATA_KEY: "hszrdm_featured";
|
|
2
|
+
export declare const FEATURED_PRODUCT_ORDER_METADATA_KEY: "hszrdm_featured_order";
|
|
3
|
+
export type FeaturedProductSettings = {
|
|
4
|
+
featured: boolean;
|
|
5
|
+
order: number;
|
|
6
|
+
};
|
|
7
|
+
export declare function featuredProductFromMetadata(metadata?: Record<string, unknown> | null): FeaturedProductSettings;
|
|
8
|
+
export declare function normalizeFeaturedProductInput(value: unknown): FeaturedProductSettings;
|
|
9
|
+
export declare function featuredProductMetadata(settings: FeaturedProductSettings): {
|
|
10
|
+
hszrdm_featured: boolean;
|
|
11
|
+
hszrdm_featured_order: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function compareFeaturedProducts(left: {
|
|
14
|
+
id?: string | null;
|
|
15
|
+
metadata?: Record<string, unknown> | null;
|
|
16
|
+
}, right: {
|
|
17
|
+
id?: string | null;
|
|
18
|
+
metadata?: Record<string, unknown> | null;
|
|
19
|
+
}): number;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FEATURED_PRODUCT_ORDER_METADATA_KEY = exports.FEATURED_PRODUCT_METADATA_KEY = void 0;
|
|
4
|
+
exports.featuredProductFromMetadata = featuredProductFromMetadata;
|
|
5
|
+
exports.normalizeFeaturedProductInput = normalizeFeaturedProductInput;
|
|
6
|
+
exports.featuredProductMetadata = featuredProductMetadata;
|
|
7
|
+
exports.compareFeaturedProducts = compareFeaturedProducts;
|
|
8
|
+
exports.FEATURED_PRODUCT_METADATA_KEY = "hszrdm_featured";
|
|
9
|
+
exports.FEATURED_PRODUCT_ORDER_METADATA_KEY = "hszrdm_featured_order";
|
|
10
|
+
function featuredProductFromMetadata(metadata) {
|
|
11
|
+
return {
|
|
12
|
+
featured: metadata?.[exports.FEATURED_PRODUCT_METADATA_KEY] === true,
|
|
13
|
+
order: normalizeFeaturedOrder(metadata?.[exports.FEATURED_PRODUCT_ORDER_METADATA_KEY]),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function normalizeFeaturedProductInput(value) {
|
|
17
|
+
const raw = value && typeof value === "object" && !Array.isArray(value)
|
|
18
|
+
? value
|
|
19
|
+
: {};
|
|
20
|
+
return {
|
|
21
|
+
featured: raw.featured === true,
|
|
22
|
+
order: normalizeFeaturedOrder(raw.order),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function featuredProductMetadata(settings) {
|
|
26
|
+
return {
|
|
27
|
+
[exports.FEATURED_PRODUCT_METADATA_KEY]: settings.featured,
|
|
28
|
+
[exports.FEATURED_PRODUCT_ORDER_METADATA_KEY]: settings.order,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function compareFeaturedProducts(left, right) {
|
|
32
|
+
const leftSettings = featuredProductFromMetadata(left.metadata);
|
|
33
|
+
const rightSettings = featuredProductFromMetadata(right.metadata);
|
|
34
|
+
const byOrder = leftSettings.order - rightSettings.order;
|
|
35
|
+
if (byOrder !== 0)
|
|
36
|
+
return byOrder;
|
|
37
|
+
return String(left.id || "").localeCompare(String(right.id || ""));
|
|
38
|
+
}
|
|
39
|
+
function normalizeFeaturedOrder(value) {
|
|
40
|
+
const numeric = typeof value === "number" ? value : Number(value);
|
|
41
|
+
if (!Number.isFinite(numeric) || numeric < 0)
|
|
42
|
+
return 0;
|
|
43
|
+
return Math.trunc(numeric);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZWQtcHJvZHVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9mZWF0dXJlZC1wcm9kdWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrRUFPQztBQUVELHNFQVNDO0FBRUQsMERBS0M7QUFFRCwwREFTQztBQTVDWSxRQUFBLDZCQUE2QixHQUFHLGlCQUEwQixDQUFBO0FBQzFELFFBQUEsbUNBQW1DLEdBQUcsdUJBQWdDLENBQUE7QUFPbkYsU0FBZ0IsMkJBQTJCLENBQ3pDLFFBQXlDO0lBRXpDLE9BQU87UUFDTCxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMscUNBQTZCLENBQUMsS0FBSyxJQUFJO1FBQzVELEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQywyQ0FBbUMsQ0FBQyxDQUFDO0tBQy9FLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBZ0IsNkJBQTZCLENBQUMsS0FBYztJQUMxRCxNQUFNLEdBQUcsR0FBRyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDckUsQ0FBQyxDQUFDLEtBQWdDO1FBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFTixPQUFPO1FBQ0wsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEtBQUssSUFBSTtRQUMvQixLQUFLLEVBQUUsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztLQUN6QyxDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQWdCLHVCQUF1QixDQUFDLFFBQWlDO0lBQ3ZFLE9BQU87UUFDTCxDQUFDLHFDQUE2QixDQUFDLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDbEQsQ0FBQywyQ0FBbUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLO0tBQ3RELENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQ3JDLElBQXVFLEVBQ3ZFLEtBQXdFO0lBRXhFLE1BQU0sWUFBWSxHQUFHLDJCQUEyQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMvRCxNQUFNLGFBQWEsR0FBRywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDakUsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFBO0lBQ3hELElBQUksT0FBTyxLQUFLLENBQUM7UUFBRSxPQUFPLE9BQU8sQ0FBQTtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ3BFLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLEtBQWM7SUFDNUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLEdBQUcsQ0FBQztRQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3RELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUM1QixDQUFDIn0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type PricingBoundarySource = {
|
|
2
|
+
min_quantity?: unknown;
|
|
3
|
+
max_quantity?: unknown;
|
|
4
|
+
};
|
|
5
|
+
export type CalculatedPricingPoint = {
|
|
6
|
+
quantity: number;
|
|
7
|
+
amount: number;
|
|
8
|
+
original_amount: number | null;
|
|
9
|
+
currency_code: string;
|
|
10
|
+
price_list_type: string | null;
|
|
11
|
+
tax_inclusive: boolean | null;
|
|
12
|
+
};
|
|
13
|
+
export type PricingTier = {
|
|
14
|
+
min_quantity: number;
|
|
15
|
+
max_quantity: number | null;
|
|
16
|
+
unit_amount: number;
|
|
17
|
+
original_unit_amount: number | null;
|
|
18
|
+
currency_code: string;
|
|
19
|
+
price_list_type: string | null;
|
|
20
|
+
tax_inclusive: boolean | null;
|
|
21
|
+
};
|
|
22
|
+
export declare function collectPricingBreakpoints(prices: PricingBoundarySource[], maxBreakpoints?: number): number[];
|
|
23
|
+
export declare function buildPricingTiers(points: CalculatedPricingPoint[]): PricingTier[];
|
|
24
|
+
export declare function tierForQuantity(tiers: PricingTier[], quantity: number): PricingTier | null;
|
|
25
|
+
export declare function numericAmount(value: unknown): number | null;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.collectPricingBreakpoints = collectPricingBreakpoints;
|
|
4
|
+
exports.buildPricingTiers = buildPricingTiers;
|
|
5
|
+
exports.tierForQuantity = tierForQuantity;
|
|
6
|
+
exports.numericAmount = numericAmount;
|
|
7
|
+
function collectPricingBreakpoints(prices, maxBreakpoints = 64) {
|
|
8
|
+
const points = new Set([1]);
|
|
9
|
+
for (const price of prices) {
|
|
10
|
+
const min = positiveInteger(price.min_quantity);
|
|
11
|
+
const max = positiveInteger(price.max_quantity);
|
|
12
|
+
if (min && min > 1)
|
|
13
|
+
points.add(min);
|
|
14
|
+
if (max && max < Number.MAX_SAFE_INTEGER)
|
|
15
|
+
points.add(max + 1);
|
|
16
|
+
}
|
|
17
|
+
return [...points]
|
|
18
|
+
.filter((value) => Number.isSafeInteger(value) && value > 0)
|
|
19
|
+
.sort((a, b) => a - b)
|
|
20
|
+
.slice(0, Math.max(1, maxBreakpoints));
|
|
21
|
+
}
|
|
22
|
+
function buildPricingTiers(points) {
|
|
23
|
+
const sorted = [...points]
|
|
24
|
+
.filter((point) => Number.isSafeInteger(point.quantity) && point.quantity > 0)
|
|
25
|
+
.sort((a, b) => a.quantity - b.quantity);
|
|
26
|
+
const raw = sorted.map((point, index) => ({
|
|
27
|
+
min_quantity: point.quantity,
|
|
28
|
+
max_quantity: index < sorted.length - 1
|
|
29
|
+
? Math.max(point.quantity, sorted[index + 1].quantity - 1)
|
|
30
|
+
: null,
|
|
31
|
+
unit_amount: point.amount,
|
|
32
|
+
original_unit_amount: point.original_amount,
|
|
33
|
+
currency_code: point.currency_code,
|
|
34
|
+
price_list_type: point.price_list_type,
|
|
35
|
+
tax_inclusive: point.tax_inclusive,
|
|
36
|
+
}));
|
|
37
|
+
const merged = [];
|
|
38
|
+
for (const tier of raw) {
|
|
39
|
+
const previous = merged.at(-1);
|
|
40
|
+
if (previous && samePricing(previous, tier)) {
|
|
41
|
+
previous.max_quantity = tier.max_quantity;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
merged.push({ ...tier });
|
|
45
|
+
}
|
|
46
|
+
return merged;
|
|
47
|
+
}
|
|
48
|
+
function tierForQuantity(tiers, quantity) {
|
|
49
|
+
const normalized = Math.max(1, Math.trunc(Number(quantity) || 1));
|
|
50
|
+
return tiers.find((tier) => normalized >= tier.min_quantity &&
|
|
51
|
+
(tier.max_quantity == null || normalized <= tier.max_quantity)) || null;
|
|
52
|
+
}
|
|
53
|
+
function numericAmount(value) {
|
|
54
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
55
|
+
return value;
|
|
56
|
+
if (typeof value === "string" && value.trim()) {
|
|
57
|
+
const parsed = Number(value);
|
|
58
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
59
|
+
}
|
|
60
|
+
if (value && typeof value === "object") {
|
|
61
|
+
const record = value;
|
|
62
|
+
for (const key of ["numeric", "value"]) {
|
|
63
|
+
const parsed = numericAmount(record[key]);
|
|
64
|
+
if (parsed != null)
|
|
65
|
+
return parsed;
|
|
66
|
+
}
|
|
67
|
+
if (typeof record.toNumber === "function") {
|
|
68
|
+
const parsed = Number(record.toNumber());
|
|
69
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
function samePricing(left, right) {
|
|
75
|
+
return left.unit_amount === right.unit_amount &&
|
|
76
|
+
left.original_unit_amount === right.original_unit_amount &&
|
|
77
|
+
left.currency_code === right.currency_code &&
|
|
78
|
+
left.price_list_type === right.price_list_type &&
|
|
79
|
+
left.tax_inclusive === right.tax_inclusive;
|
|
80
|
+
}
|
|
81
|
+
function positiveInteger(value) {
|
|
82
|
+
const number = Number(value);
|
|
83
|
+
if (!Number.isFinite(number))
|
|
84
|
+
return null;
|
|
85
|
+
const integer = Math.trunc(number);
|
|
86
|
+
return integer > 0 ? integer : null;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2luZy10aWVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3ByaWNpbmctdGllcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF3QkEsOERBaUJDO0FBRUQsOENBMkJDO0FBRUQsMENBTUM7QUFFRCxzQ0FrQkM7QUExRUQsU0FBZ0IseUJBQXlCLENBQ3ZDLE1BQStCLEVBQy9CLGNBQWMsR0FBRyxFQUFFO0lBRW5CLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVuQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDL0MsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUMvQyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbkMsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0I7WUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQ2YsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDM0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyQixLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENB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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type CoreReleaseChannel = "stable" | "beta" | "development" | string;
|
|
2
|
+
export type CoreReleaseInfo = {
|
|
3
|
+
version: string;
|
|
4
|
+
releaseSha: string;
|
|
5
|
+
channel: CoreReleaseChannel;
|
|
6
|
+
builtAt: string | null;
|
|
7
|
+
instanceId: string | null;
|
|
8
|
+
maintenance: "externally_managed";
|
|
9
|
+
};
|
|
10
|
+
export declare function getCoreReleaseInfo(env?: NodeJS.ProcessEnv): CoreReleaseInfo;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCoreReleaseInfo = getCoreReleaseInfo;
|
|
4
|
+
const version_1 = require("./version");
|
|
5
|
+
function normalizeOptional(value) {
|
|
6
|
+
const normalized = value?.trim();
|
|
7
|
+
return normalized ? normalized : null;
|
|
8
|
+
}
|
|
9
|
+
function getCoreReleaseInfo(env = process.env) {
|
|
10
|
+
const releaseSha = normalizeOptional(env.RELEASE_SHA) || "development";
|
|
11
|
+
const explicitVersion = normalizeOptional(env.CORE_VERSION);
|
|
12
|
+
const channel = normalizeOptional(env.CORE_RELEASE_CHANNEL);
|
|
13
|
+
return {
|
|
14
|
+
version: explicitVersion || version_1.CORE_VERSION,
|
|
15
|
+
releaseSha,
|
|
16
|
+
channel: channel || (releaseSha === "development" ? "development" : "stable"),
|
|
17
|
+
builtAt: normalizeOptional(env.RELEASE_BUILT_AT),
|
|
18
|
+
instanceId: normalizeOptional(env.CORE_INSTANCE_ID),
|
|
19
|
+
maintenance: "externally_managed",
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvcmUvcmVsZWFzZS1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0JBLGdEQWVDO0FBakNELHVDQUF3QztBQWF4QyxTQUFTLGlCQUFpQixDQUFDLEtBQXlCO0lBQ2xELE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQTtJQUNoQyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDdkMsQ0FBQztBQUVELFNBQWdCLGtCQUFrQixDQUNoQyxNQUF5QixPQUFPLENBQUMsR0FBRztJQUVwQyxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksYUFBYSxDQUFBO0lBQ3RFLE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMzRCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUUzRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLGVBQWUsSUFBSSxzQkFBWTtRQUN4QyxVQUFVO1FBQ1YsT0FBTyxFQUFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7UUFDaEQsVUFBVSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNuRCxXQUFXLEVBQUUsb0JBQW9CO0tBQ2xDLENBQUE7QUFDSCxDQUFDIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const CORE_VERSION
|
|
2
|
-
export declare const CORE_API_CONTRACT_VERSION
|
|
3
|
-
export declare const STOREFRONT_CORE_CONFIG_SCHEMA_VERSION
|
|
4
|
-
export declare const CORE_DB_SCHEMA_VERSION
|
|
1
|
+
export declare const CORE_VERSION = "1.1.0";
|
|
2
|
+
export declare const CORE_API_CONTRACT_VERSION = "1.0";
|
|
3
|
+
export declare const STOREFRONT_CORE_CONFIG_SCHEMA_VERSION = 1;
|
|
4
|
+
export declare const CORE_DB_SCHEMA_VERSION = 3;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CORE_DB_SCHEMA_VERSION = exports.STOREFRONT_CORE_CONFIG_SCHEMA_VERSION = exports.CORE_API_CONTRACT_VERSION = exports.CORE_VERSION = void 0;
|
|
4
|
-
exports.CORE_VERSION = "1.0
|
|
4
|
+
exports.CORE_VERSION = "1.1.0";
|
|
5
5
|
exports.CORE_API_CONTRACT_VERSION = "1.0";
|
|
6
6
|
exports.STOREFRONT_CORE_CONFIG_SCHEMA_VERSION = 1;
|
|
7
|
-
exports.CORE_DB_SCHEMA_VERSION =
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
exports.CORE_DB_SCHEMA_VERSION = 3;
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxZQUFZLEdBQUcsT0FBTyxDQUFBO0FBQ3RCLFFBQUEseUJBQXlCLEdBQUcsS0FBSyxDQUFBO0FBQ2pDLFFBQUEscUNBQXFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3pDLFFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxDQUFBIn0=
|
|
@@ -15,7 +15,7 @@ async function getArukeresoConfig(store) {
|
|
|
15
15
|
currencyCode: String(process.env.STORE_DEFAULT_CURRENCY || "HUF").trim().toLowerCase(),
|
|
16
16
|
storefrontUrl: normalizeStorefrontUrl(env.ARUKERESO_STOREFRONT_URL || process.env.STOREFRONT_URL || ""),
|
|
17
17
|
productPathTemplate: String(env.ARUKERESO_PRODUCT_PATH_TEMPLATE ||
|
|
18
|
-
"/
|
|
18
|
+
"/hu/termekek/{handle}?v_id={variant_id}").trim(),
|
|
19
19
|
salesChannelId: env.ARUKERESO_SALES_CHANNEL_ID?.trim() || null,
|
|
20
20
|
defaultManufacturer: env.ARUKERESO_DEFAULT_MANUFACTURER?.trim() || null,
|
|
21
21
|
useSkuAsProductNumber: env.ARUKERESO_USE_SKU_AS_PRODUCT_NUMBER === "true",
|
|
@@ -94,4 +94,4 @@ function normalizeStorefrontUrl(value) {
|
|
|
94
94
|
url.hash = "";
|
|
95
95
|
return url.toString().replace(/\/$/, "");
|
|
96
96
|
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bGVzL2FydWtlcmVzby9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFtQkEsZ0RBK0JDO0FBRUQsMERBZ0JDO0FBRUQsNERBVUM7QUFFRCxzREFRQztBQUVELHNEQVVDO0FBdEdELGdGQUc4QztBQWdCdkMsS0FBSyxVQUFVLGtCQUFrQixDQUN0QyxLQUErQjtJQUUvQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEscURBQThCLEVBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ3pFLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUE7SUFFeEIsTUFBTSxNQUFNLEdBQW9CO1FBQzlCLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztRQUN6QixXQUFXLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1FBQ25GLFlBQVksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7UUFDdEYsYUFBYSxFQUFFLHNCQUFzQixDQUNuQyxHQUFHLENBQUMsd0JBQXdCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUNqRTtRQUNELG1CQUFtQixFQUFFLE1BQU0sQ0FDekIsR0FBRyxDQUFDLCtCQUErQjtZQUNqQyx5Q0FBeUMsQ0FDNUMsQ0FBQyxJQUFJLEVBQUU7UUFDUixjQUFjLEVBQUUsR0FBRyxDQUFDLDBCQUEwQixFQUFFLElBQUksRUFBRSxJQUFJLElBQUk7UUFDOUQsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLDhCQUE4QixFQUFFLElBQUksRUFBRSxJQUFJLElBQUk7UUFDdkUs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
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type IntegrationSettingsStore } from "../../../modules/integration-settings";
|
|
2
2
|
export type GoogleMerchantCondition = "new" | "refurbished" | "used";
|
|
3
|
+
export type GoogleMerchantLocale = "hu" | "en";
|
|
3
4
|
export type GoogleMerchantConfig = {
|
|
4
5
|
enabled: boolean;
|
|
5
6
|
countryCode: string;
|
|
6
7
|
currencyCode: string;
|
|
8
|
+
locale: GoogleMerchantLocale;
|
|
7
9
|
storefrontUrl: string;
|
|
8
10
|
productPathTemplate: string;
|
|
9
11
|
salesChannelId: string | null;
|
|
@@ -9,14 +9,16 @@ async function getGoogleMerchantConfig(store) {
|
|
|
9
9
|
const env = resolved.env;
|
|
10
10
|
const countryCode = String(env.GOOGLE_MERCHANT_COUNTRY_CODE || process.env.STORE_DEFAULT_COUNTRY || "HU").trim().toLowerCase();
|
|
11
11
|
const currencyCode = String(env.GOOGLE_MERCHANT_CURRENCY_CODE || process.env.STORE_DEFAULT_CURRENCY || "HUF").trim().toLowerCase();
|
|
12
|
+
const locale = normalizeLocale(env.GOOGLE_MERCHANT_LOCALE || process.env.STORE_LOCALE || "hu-HU");
|
|
12
13
|
const storefrontUrl = normalizeStorefrontUrl(env.GOOGLE_MERCHANT_STOREFRONT_URL || process.env.STOREFRONT_URL || "");
|
|
13
14
|
const productPathTemplate = String(env.GOOGLE_MERCHANT_PRODUCT_PATH_TEMPLATE ||
|
|
14
|
-
"/{
|
|
15
|
+
"/{locale}/{products_segment}/{handle}?v_id={variant_id}").trim();
|
|
15
16
|
const defaultCondition = normalizeCondition(env.GOOGLE_MERCHANT_DEFAULT_CONDITION);
|
|
16
17
|
const config = {
|
|
17
18
|
enabled: resolved.enabled,
|
|
18
19
|
countryCode,
|
|
19
20
|
currencyCode,
|
|
21
|
+
locale,
|
|
20
22
|
storefrontUrl,
|
|
21
23
|
productPathTemplate,
|
|
22
24
|
salesChannelId: env.GOOGLE_MERCHANT_SALES_CHANNEL_ID?.trim() || null,
|
|
@@ -53,6 +55,8 @@ function buildGoogleMerchantProductUrl(config, input) {
|
|
|
53
55
|
const path = config.productPathTemplate
|
|
54
56
|
.replaceAll("{country_code}", encodeURIComponent(config.countryCode))
|
|
55
57
|
.replaceAll("{currency_code}", encodeURIComponent(config.currencyCode))
|
|
58
|
+
.replaceAll("{locale}", encodeURIComponent(config.locale))
|
|
59
|
+
.replaceAll("{products_segment}", config.locale === "hu" ? "termekek" : "products")
|
|
56
60
|
.replaceAll("{handle}", encodeURIComponent(input.handle))
|
|
57
61
|
.replaceAll("{variant_id}", encodeURIComponent(input.variantId));
|
|
58
62
|
return new URL(path, `${config.storefrontUrl}/`).toString();
|
|
@@ -81,4 +85,7 @@ function normalizeCondition(value) {
|
|
|
81
85
|
return value;
|
|
82
86
|
return "new";
|
|
83
87
|
}
|
|
84
|
-
|
|
88
|
+
function normalizeLocale(value) {
|
|
89
|
+
return String(value || "").trim().toLowerCase().startsWith("en") ? "en" : "hu";
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bGVzL2dvb2dsZS1tZXJjaGFudC9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF1QkEsMERBK0NDO0FBRUQsb0VBZ0JDO0FBRUQsc0VBYUM7QUF2R0QsZ0ZBRzhDO0FBb0J2QyxLQUFLLFVBQVUsdUJBQXVCLENBQzNDLEtBQStCO0lBRS9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxxREFBOEIsRUFBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUMvRSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFBO0lBRXhCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FDeEIsR0FBRyxDQUFDLDRCQUE0QixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUM5RSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ3RCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FDekIsR0FBRyxDQUFDLDZCQUE2QixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLElBQUksS0FBSyxDQUNqRixDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ3RCLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FDNUIsR0FBRyxDQUFDLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FDbEUsQ0FBQTtJQUNELE1BQU0sYUFBYSxHQUFHLHNCQUFzQixDQUMxQyxHQUFHLENBQUMsOEJBQThCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUN2RSxDQUFBO0lBQ0QsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQ2hDLEdBQUcsQ0FBQyxxQ0FBcUM7UUFDdkMseURBQXlELENBQzVELENBQUMsSUFBSSxFQUFFLENBQUE7SUFD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
|
|
@@ -55,6 +55,7 @@ export declare function generateGoogleMerchantFeed(container: MedusaContainer):
|
|
|
55
55
|
configuration: {
|
|
56
56
|
countryCode: string;
|
|
57
57
|
currencyCode: string;
|
|
58
|
+
locale: import("./config").GoogleMerchantLocale;
|
|
58
59
|
storefrontUrl: string;
|
|
59
60
|
productPathTemplate: string;
|
|
60
61
|
salesChannelId: string | null;
|