@hszrdm/core 1.4.0 → 1.6.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 +6361 -3789
- package/.medusa/server/src/admin/index.mjs +6361 -3789
- package/.medusa/server/src/api/admin/back-in-stock/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/back-in-stock/route.js +70 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/items/[itemId]/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/items/[itemId]/route.js +64 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/items/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/items/route.js +40 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/promotions/[code]/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/promotions/[code]/route.js +40 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/promotions/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/promotions/route.js +41 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/core-carts/[id]/route.js +28 -0
- package/.medusa/server/src/api/admin/core-carts/customer/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/core-carts/customer/[id]/route.js +34 -0
- package/.medusa/server/src/api/admin/core-carts/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/core-carts/route.js +69 -0
- package/.medusa/server/src/api/admin/customer-activation/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/customer-activation/route.js +97 -0
- package/.medusa/server/src/api/admin/customer-import/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/customer-import/route.js +166 -0
- package/.medusa/server/src/api/admin/order-export/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/order-export/route.js +88 -0
- package/.medusa/server/src/api/admin/product-migration/inventory/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/product-migration/inventory/route.js +164 -0
- package/.medusa/server/src/api/admin/product-migration/price-list-prices/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/product-migration/price-list-prices/route.js +204 -0
- package/.medusa/server/src/api/admin/product-migration/products/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/product-migration/products/route.js +24 -0
- package/.medusa/server/src/api/admin/product-reviews/[id]/route.js +36 -4
- package/.medusa/server/src/api/admin/product-reviews/settings/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/product-reviews/settings/route.js +63 -0
- package/.medusa/server/src/api/admin/shared-cart/settings/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/shared-cart/settings/route.js +31 -0
- package/.medusa/server/src/api/admin/system-runtime/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/system-runtime/route.js +18 -0
- package/.medusa/server/src/api/hooks/packeta/status/route.d.ts +2 -0
- package/.medusa/server/src/api/hooks/packeta/status/route.js +55 -0
- package/.medusa/server/src/api/middlewares.js +24 -1
- package/.medusa/server/src/api/store/abandoned-cart/recover/route.d.ts +2 -0
- package/.medusa/server/src/api/store/abandoned-cart/recover/route.js +37 -0
- package/.medusa/server/src/api/store/back-in-stock/route.d.ts +8 -0
- package/.medusa/server/src/api/store/back-in-stock/route.js +124 -0
- package/.medusa/server/src/api/store/core-carts/me/active/route.d.ts +2 -0
- package/.medusa/server/src/api/store/core-carts/me/active/route.js +54 -0
- package/.medusa/server/src/api/store/customer-activation/complete/route.d.ts +2 -0
- package/.medusa/server/src/api/store/customer-activation/complete/route.js +96 -0
- package/.medusa/server/src/api/store/customer-activation/route.d.ts +2 -0
- package/.medusa/server/src/api/store/customer-activation/route.js +34 -0
- package/.medusa/server/src/api/store/products/[id]/reviews/route.d.ts +1 -0
- package/.medusa/server/src/api/store/products/[id]/reviews/route.js +76 -34
- package/.medusa/server/src/api/store/review-request/route.d.ts +2 -0
- package/.medusa/server/src/api/store/review-request/route.js +60 -0
- package/.medusa/server/src/api/store/shared-carts/[token]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/shared-carts/[token]/route.js +52 -0
- package/.medusa/server/src/api/store/shared-carts/route.d.ts +13 -0
- package/.medusa/server/src/api/store/shared-carts/route.js +78 -0
- package/.medusa/server/src/core/abandoned-cart.d.ts +64 -0
- package/.medusa/server/src/core/abandoned-cart.js +197 -0
- package/.medusa/server/src/core/admin-cart-management.d.ts +18 -0
- package/.medusa/server/src/core/admin-cart-management.js +102 -0
- package/.medusa/server/src/core/admin-cart-visibility.d.ts +94 -0
- package/.medusa/server/src/core/admin-cart-visibility.js +192 -0
- package/.medusa/server/src/core/back-in-stock.d.ts +51 -0
- package/.medusa/server/src/core/back-in-stock.js +107 -0
- package/.medusa/server/src/core/cart-observability.d.ts +23 -0
- package/.medusa/server/src/core/cart-observability.js +54 -0
- package/.medusa/server/src/core/checkout-contract.d.ts +1 -0
- package/.medusa/server/src/core/checkout-contract.js +2 -1
- package/.medusa/server/src/core/customer-account-contract.d.ts +3 -0
- package/.medusa/server/src/core/customer-account-contract.js +4 -1
- package/.medusa/server/src/core/customer-activation.d.ts +120 -0
- package/.medusa/server/src/core/customer-activation.js +169 -0
- package/.medusa/server/src/core/customer-cart-resume.d.ts +21 -0
- package/.medusa/server/src/core/customer-cart-resume.js +72 -0
- package/.medusa/server/src/core/customer-email.d.ts +1 -1
- package/.medusa/server/src/core/customer-email.js +4 -1
- package/.medusa/server/src/core/native-migration-export.d.ts +6 -0
- package/.medusa/server/src/core/native-migration-export.js +105 -0
- package/.medusa/server/src/core/order-export.d.ts +11 -0
- package/.medusa/server/src/core/order-export.js +297 -0
- package/.medusa/server/src/core/review-request.d.ts +61 -0
- package/.medusa/server/src/core/review-request.js +105 -0
- package/.medusa/server/src/core/review-reward.d.ts +94 -0
- package/.medusa/server/src/core/review-reward.js +124 -0
- package/.medusa/server/src/core/runtime-health.d.ts +39 -0
- package/.medusa/server/src/core/runtime-health.js +250 -0
- package/.medusa/server/src/core/storefront-core-config.d.ts +10 -0
- package/.medusa/server/src/core/storefront-core-config.js +26 -1
- package/.medusa/server/src/core/version.d.ts +2 -2
- package/.medusa/server/src/core/version.js +2 -2
- package/.medusa/server/src/jobs/abandoned-cart-recovery.d.ts +23 -0
- package/.medusa/server/src/jobs/abandoned-cart-recovery.js +137 -0
- package/.medusa/server/src/jobs/back-in-stock-reconciliation.d.ts +15 -0
- package/.medusa/server/src/jobs/back-in-stock-reconciliation.js +90 -0
- package/.medusa/server/src/jobs/dpd-statusdata-sync.d.ts +17 -0
- package/.medusa/server/src/jobs/dpd-statusdata-sync.js +107 -0
- package/.medusa/server/src/jobs/mpl-push-tracking.d.ts +19 -0
- package/.medusa/server/src/jobs/mpl-push-tracking.js +183 -0
- package/.medusa/server/src/jobs/mpl-status-sync.d.ts +8 -2
- package/.medusa/server/src/jobs/mpl-status-sync.js +12 -7
- package/.medusa/server/src/jobs/product-review-request-dispatch.d.ts +28 -0
- package/.medusa/server/src/jobs/product-review-request-dispatch.js +84 -0
- package/.medusa/server/src/jobs/runtime-heartbeat.d.ts +12 -0
- package/.medusa/server/src/jobs/runtime-heartbeat.js +13 -0
- package/.medusa/server/src/jobs/shipping-status-sync.d.ts +8 -2
- package/.medusa/server/src/jobs/shipping-status-sync.js +11 -14
- package/.medusa/server/src/lib/modules/shipping/idempotency.js +3 -3
- package/.medusa/server/src/lib/modules/shipping/index.d.ts +1 -0
- package/.medusa/server/src/lib/modules/shipping/index.js +2 -1
- package/.medusa/server/src/lib/modules/shipping/tracking.d.ts +48 -0
- package/.medusa/server/src/lib/modules/shipping/tracking.js +368 -0
- package/.medusa/server/src/lib/modules/shipping/webhooks.d.ts +6 -9
- package/.medusa/server/src/lib/modules/shipping/webhooks.js +24 -137
- package/.medusa/server/src/modules/back-in-stock/index.d.ts +23 -0
- package/.medusa/server/src/modules/back-in-stock/index.js +16 -0
- package/.medusa/server/src/modules/back-in-stock/migrations/Migration20261101202000.d.ts +5 -0
- package/.medusa/server/src/modules/back-in-stock/migrations/Migration20261101202000.js +18 -0
- package/.medusa/server/src/modules/back-in-stock/models/back-in-stock-subscription.d.ts +13 -0
- package/.medusa/server/src/modules/back-in-stock/models/back-in-stock-subscription.js +23 -0
- package/.medusa/server/src/modules/back-in-stock/service.d.ts +22 -0
- package/.medusa/server/src/modules/back-in-stock/service.js +12 -0
- package/.medusa/server/src/modules/email-center/abandoned-cart-registration.d.ts +1 -0
- package/.medusa/server/src/modules/email-center/abandoned-cart-registration.js +27 -0
- package/.medusa/server/src/modules/email-center/back-in-stock-registration.d.ts +1 -0
- package/.medusa/server/src/modules/email-center/back-in-stock-registration.js +27 -0
- package/.medusa/server/src/modules/email-center/defaults.js +7 -1
- package/.medusa/server/src/modules/email-center/index.d.ts +2 -0
- package/.medusa/server/src/modules/email-center/index.js +3 -1
- package/.medusa/server/src/modules/integration-settings/abandoned-cart-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/abandoned-cart-registration.js +30 -0
- package/.medusa/server/src/modules/integration-settings/index.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/index.js +2 -1
- package/.medusa/server/src/modules/integration-settings/storefront-public-registration.js +15 -1
- package/.medusa/server/src/modules/product-review/index.d.ts +14 -0
- package/.medusa/server/src/modules/product-review/migrations/Migration20261101113000.d.ts +5 -0
- package/.medusa/server/src/modules/product-review/migrations/Migration20261101113000.js +28 -0
- package/.medusa/server/src/modules/product-review/migrations/Migration20261101114500.d.ts +5 -0
- package/.medusa/server/src/modules/product-review/migrations/Migration20261101114500.js +20 -0
- package/.medusa/server/src/modules/product-review/migrations/Migration20261101121500.d.ts +5 -0
- package/.medusa/server/src/modules/product-review/migrations/Migration20261101121500.js +18 -0
- package/.medusa/server/src/modules/product-review/models/product-review-settings.d.ts +15 -0
- package/.medusa/server/src/modules/product-review/models/product-review-settings.js +19 -0
- package/.medusa/server/src/modules/product-review/models/product-review.d.ts +6 -2
- package/.medusa/server/src/modules/product-review/models/product-review.js +7 -3
- package/.medusa/server/src/modules/product-review/service.d.ts +22 -1
- package/.medusa/server/src/modules/product-review/service.js +3 -2
- package/.medusa/server/src/modules/shared-cart/index.d.ts +21 -0
- package/.medusa/server/src/modules/shared-cart/index.js +13 -0
- package/.medusa/server/src/modules/shared-cart/migrations/Migration20261102010000.d.ts +5 -0
- package/.medusa/server/src/modules/shared-cart/migrations/Migration20261102010000.js +16 -0
- package/.medusa/server/src/modules/shared-cart/models/shared-cart.d.ts +10 -0
- package/.medusa/server/src/modules/shared-cart/models/shared-cart.js +17 -0
- package/.medusa/server/src/modules/shared-cart/service.d.ts +14 -0
- package/.medusa/server/src/modules/shared-cart/service.js +11 -0
- package/.medusa/server/src/modules/shared-cart/settings.d.ts +7 -0
- package/.medusa/server/src/modules/shared-cart/settings.js +64 -0
- package/.medusa/server/src/providers/dpd/index.d.ts +2 -0
- package/.medusa/server/src/providers/dpd/index.js +3 -1
- package/.medusa/server/src/providers/dpd/statusdata-ftp.d.ts +16 -0
- package/.medusa/server/src/providers/dpd/statusdata-ftp.js +268 -0
- package/.medusa/server/src/providers/dpd/statusdata.d.ts +14 -0
- package/.medusa/server/src/providers/dpd/statusdata.js +161 -0
- package/.medusa/server/src/providers/mpl/client.d.ts +3 -1
- package/.medusa/server/src/providers/mpl/client.js +154 -2
- package/.medusa/server/src/providers/mpl/service.js +31 -20
- package/.medusa/server/src/providers/mpl/types.d.ts +25 -0
- package/.medusa/server/src/providers/mpl/types.js +1 -1
- package/.medusa/server/src/providers/packeta/index.d.ts +1 -0
- package/.medusa/server/src/providers/packeta/index.js +2 -1
- package/.medusa/server/src/providers/packeta/push-tracking.d.ts +8 -0
- package/.medusa/server/src/providers/packeta/push-tracking.js +96 -0
- package/.medusa/server/src/providers/packeta/service.js +22 -2
- package/.medusa/server/src/scripts/core-init.d.ts +1 -1
- package/.medusa/server/src/scripts/core-init.js +3 -2
- package/.medusa/server/src/subscribers/back-in-stock-inventory-changed.d.ts +7 -0
- package/.medusa/server/src/subscribers/back-in-stock-inventory-changed.js +65 -0
- package/.medusa/server/src/workflows/link-migrated-customer.d.ts +8 -0
- package/.medusa/server/src/workflows/link-migrated-customer.js +17 -0
- package/README.md +1 -1
- package/package.json +30 -8
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
async function POST(req, res) {
|
|
6
|
+
const body = (req.body || {});
|
|
7
|
+
const rows = Array.isArray(body.rows) ? body.rows : [];
|
|
8
|
+
const dryRun = body.dry_run !== false;
|
|
9
|
+
const mode = body.mode === "update" ? "update" : "skip";
|
|
10
|
+
if (!rows.length)
|
|
11
|
+
return res.status(400).json({ message: "Nincs importálható vevő a kérésben." });
|
|
12
|
+
if (rows.length > 10_000)
|
|
13
|
+
return res.status(400).json({ message: "Egy import legfeljebb 10 000 sort tartalmazhat." });
|
|
14
|
+
const customerService = req.scope.resolve(utils_1.Modules.CUSTOMER);
|
|
15
|
+
const result = {
|
|
16
|
+
dry_run: dryRun,
|
|
17
|
+
mode,
|
|
18
|
+
total: rows.length,
|
|
19
|
+
created: 0,
|
|
20
|
+
updated: 0,
|
|
21
|
+
skipped: 0,
|
|
22
|
+
failed: 0,
|
|
23
|
+
activation_eligible: 0,
|
|
24
|
+
activation_customer_ids: [],
|
|
25
|
+
warnings: [],
|
|
26
|
+
errors: [],
|
|
27
|
+
};
|
|
28
|
+
for (let index = 0; index < rows.length; index++) {
|
|
29
|
+
const source = rows[index] || {};
|
|
30
|
+
const row = index + 2;
|
|
31
|
+
const email = text(source.email).toLowerCase();
|
|
32
|
+
try {
|
|
33
|
+
if (!email || !email.includes("@"))
|
|
34
|
+
throw new Error("Érvénytelen vagy hiányzó e-mail cím.");
|
|
35
|
+
if (source.password !== undefined && text(source.password)) {
|
|
36
|
+
result.warnings.push({ row, email, message: "A jelszó oszlop biztonsági okból figyelmen kívül lett hagyva." });
|
|
37
|
+
}
|
|
38
|
+
const existingList = await customerService.listCustomers({ email }, { take: 1 });
|
|
39
|
+
const existing = Array.isArray(existingList) ? existingList[0] : null;
|
|
40
|
+
if (existing && mode === "skip") {
|
|
41
|
+
result.skipped++;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const taxNumber = nullable(source.tax_number);
|
|
45
|
+
const metadata = {
|
|
46
|
+
...(existing?.metadata || {}),
|
|
47
|
+
imported_by: "hszrdm-customer-import",
|
|
48
|
+
...(taxNumber ? { tax_number: taxNumber } : {}),
|
|
49
|
+
};
|
|
50
|
+
const hasAccountInput = text(source.has_account);
|
|
51
|
+
const requestedHasAccount = hasAccountInput ? boolean(source.has_account) : false;
|
|
52
|
+
const customerData = withoutUndefined({
|
|
53
|
+
email,
|
|
54
|
+
first_name: nullable(source.first_name),
|
|
55
|
+
last_name: nullable(source.last_name),
|
|
56
|
+
phone: nullable(source.phone),
|
|
57
|
+
company_name: nullable(source.company_name),
|
|
58
|
+
...(existing ? {} : { has_account: requestedHasAccount }),
|
|
59
|
+
metadata,
|
|
60
|
+
});
|
|
61
|
+
const activationEligible = existing?.has_account === true || (!existing && requestedHasAccount);
|
|
62
|
+
if (existing && requestedHasAccount && existing.has_account !== true) {
|
|
63
|
+
result.warnings.push({
|
|
64
|
+
row,
|
|
65
|
+
email,
|
|
66
|
+
message: "A meglévő vendég vevő Medusában nem alakítható át update művelettel regisztrált vevővé, ezért nem került az aktiválási listába.",
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (dryRun) {
|
|
70
|
+
if (existing)
|
|
71
|
+
result.updated++;
|
|
72
|
+
else
|
|
73
|
+
result.created++;
|
|
74
|
+
if (activationEligible)
|
|
75
|
+
result.activation_eligible++;
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const customer = existing
|
|
79
|
+
? await customerService.updateCustomers(existing.id, customerData)
|
|
80
|
+
: await customerService.createCustomers(customerData);
|
|
81
|
+
const customerId = customer?.id || existing?.id;
|
|
82
|
+
if (!customerId)
|
|
83
|
+
throw new Error("A vevő létrehozása után nem érkezett vevőazonosító.");
|
|
84
|
+
await ensureAddress(customerService, customerId, source, "billing");
|
|
85
|
+
await ensureAddress(customerService, customerId, source, "shipping");
|
|
86
|
+
await ensureGroup(customerService, customerId, text(source.customer_group));
|
|
87
|
+
if (activationEligible) {
|
|
88
|
+
result.activation_eligible++;
|
|
89
|
+
result.activation_customer_ids.push(customerId);
|
|
90
|
+
}
|
|
91
|
+
if (existing)
|
|
92
|
+
result.updated++;
|
|
93
|
+
else
|
|
94
|
+
result.created++;
|
|
95
|
+
}
|
|
96
|
+
catch (cause) {
|
|
97
|
+
result.failed++;
|
|
98
|
+
result.errors.push({ row, email: email || undefined, message: cause instanceof Error ? cause.message : "Ismeretlen importálási hiba." });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return res.json(result);
|
|
102
|
+
}
|
|
103
|
+
async function ensureAddress(service, customerId, row, kind) {
|
|
104
|
+
const prefix = `${kind}_`;
|
|
105
|
+
const address1 = text(row[`${prefix}address_1`]);
|
|
106
|
+
if (!address1)
|
|
107
|
+
return;
|
|
108
|
+
const data = withoutUndefined({
|
|
109
|
+
customer_id: customerId,
|
|
110
|
+
first_name: nullable(row[`${prefix}first_name`]) || nullable(row.first_name),
|
|
111
|
+
last_name: nullable(row[`${prefix}last_name`]) || nullable(row.last_name),
|
|
112
|
+
company: nullable(row[`${prefix}company`]) || nullable(row.company_name),
|
|
113
|
+
address_1: address1,
|
|
114
|
+
address_2: nullable(row[`${prefix}address_2`]),
|
|
115
|
+
city: nullable(row[`${prefix}city`]),
|
|
116
|
+
postal_code: nullable(row[`${prefix}postal_code`]),
|
|
117
|
+
province: nullable(row[`${prefix}province`]),
|
|
118
|
+
country_code: text(row[`${prefix}country_code`]).toLowerCase() || undefined,
|
|
119
|
+
phone: nullable(row[`${prefix}phone`]) || nullable(row.phone),
|
|
120
|
+
is_default_billing: kind === "billing",
|
|
121
|
+
is_default_shipping: kind === "shipping",
|
|
122
|
+
});
|
|
123
|
+
const existingAddresses = await service.listCustomerAddresses({ customer_id: customerId });
|
|
124
|
+
const current = Array.isArray(existingAddresses)
|
|
125
|
+
? existingAddresses.find((address) => kind === "billing" ? address.is_default_billing : address.is_default_shipping)
|
|
126
|
+
: null;
|
|
127
|
+
if (current?.id)
|
|
128
|
+
await service.updateCustomerAddresses(current.id, data);
|
|
129
|
+
else
|
|
130
|
+
await service.createCustomerAddresses(data);
|
|
131
|
+
}
|
|
132
|
+
async function ensureGroup(service, customerId, groupName) {
|
|
133
|
+
if (!groupName)
|
|
134
|
+
return;
|
|
135
|
+
const groups = await service.listCustomerGroups({ name: groupName }, { take: 1 });
|
|
136
|
+
const group = Array.isArray(groups) && groups[0] ? groups[0] : await service.createCustomerGroups({ name: groupName });
|
|
137
|
+
if (!group?.id)
|
|
138
|
+
return;
|
|
139
|
+
try {
|
|
140
|
+
await service.addCustomerToGroup({ customer_id: customerId, customer_group_id: group.id });
|
|
141
|
+
}
|
|
142
|
+
catch (cause) {
|
|
143
|
+
const message = cause instanceof Error ? cause.message.toLowerCase() : "";
|
|
144
|
+
if (!message.includes("already") && !message.includes("exists"))
|
|
145
|
+
throw cause;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function text(value) {
|
|
149
|
+
if (value === null || value === undefined)
|
|
150
|
+
return "";
|
|
151
|
+
return String(value).trim();
|
|
152
|
+
}
|
|
153
|
+
function nullable(value) {
|
|
154
|
+
const valueText = text(value);
|
|
155
|
+
return valueText || undefined;
|
|
156
|
+
}
|
|
157
|
+
function boolean(value) {
|
|
158
|
+
if (typeof value === "boolean")
|
|
159
|
+
return value;
|
|
160
|
+
const normalized = text(value).toLowerCase();
|
|
161
|
+
return ["1", "true", "yes", "igen", "registered", "regisztralt", "regisztrált"].includes(normalized);
|
|
162
|
+
}
|
|
163
|
+
function withoutUndefined(value) {
|
|
164
|
+
return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined));
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2N1c3RvbWVyLWltcG9ydC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXdDQSxvQkFtR0M7QUExSUQscURBQW1EO0FBdUM1QyxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDaEUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBNEIsQ0FBQTtJQUN4RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNyRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQTtJQUNyQyxNQUFNLElBQUksR0FBZSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7SUFFbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxDQUFDLENBQUE7SUFDakcsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU07UUFBRSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLGlEQUFpRCxFQUFFLENBQUMsQ0FBQTtJQUVySCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsUUFBUSxDQUFRLENBQUE7SUFDbEUsTUFBTSxNQUFNLEdBQUc7UUFDYixPQUFPLEVBQUUsTUFB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
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const order_export_1 = require("../../../core/order-export");
|
|
6
|
+
const ORDER_FIELDS = [
|
|
7
|
+
"id",
|
|
8
|
+
"display_id",
|
|
9
|
+
"created_at",
|
|
10
|
+
"status",
|
|
11
|
+
"currency_code",
|
|
12
|
+
"email",
|
|
13
|
+
"customer_id",
|
|
14
|
+
"subtotal",
|
|
15
|
+
"shipping_total",
|
|
16
|
+
"discount_total",
|
|
17
|
+
"tax_total",
|
|
18
|
+
"total",
|
|
19
|
+
"metadata",
|
|
20
|
+
"customer.*",
|
|
21
|
+
"billing_address.*",
|
|
22
|
+
"shipping_address.*",
|
|
23
|
+
"items.*",
|
|
24
|
+
"items.tax_lines.*",
|
|
25
|
+
"shipping_methods.*",
|
|
26
|
+
"shipping_methods.tax_lines.*",
|
|
27
|
+
"payment_collections.*",
|
|
28
|
+
"payment_collections.payments.*",
|
|
29
|
+
"payment_collections.payment_sessions.*",
|
|
30
|
+
"fulfillments.*",
|
|
31
|
+
];
|
|
32
|
+
const PAGE_SIZE = 100;
|
|
33
|
+
const MAX_ORDERS = 10_000;
|
|
34
|
+
async function POST(req, res) {
|
|
35
|
+
const body = (req.body || {});
|
|
36
|
+
const from = cleanDate(body.from);
|
|
37
|
+
const to = cleanDate(body.to, true);
|
|
38
|
+
const status = cleanText(body.status);
|
|
39
|
+
const createdAt = {};
|
|
40
|
+
if (from)
|
|
41
|
+
createdAt.$gte = from;
|
|
42
|
+
if (to)
|
|
43
|
+
createdAt.$lte = to;
|
|
44
|
+
const filters = {
|
|
45
|
+
status: status || { $ne: "draft" },
|
|
46
|
+
};
|
|
47
|
+
if (Object.keys(createdAt).length)
|
|
48
|
+
filters.created_at = createdAt;
|
|
49
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
50
|
+
const orders = [];
|
|
51
|
+
let skip = 0;
|
|
52
|
+
while (orders.length < MAX_ORDERS) {
|
|
53
|
+
const take = Math.min(PAGE_SIZE, MAX_ORDERS - orders.length);
|
|
54
|
+
const { data } = await query.graph({
|
|
55
|
+
entity: "order",
|
|
56
|
+
fields: ORDER_FIELDS,
|
|
57
|
+
filters,
|
|
58
|
+
pagination: { skip, take },
|
|
59
|
+
});
|
|
60
|
+
orders.push(...data);
|
|
61
|
+
if (data.length < take)
|
|
62
|
+
break;
|
|
63
|
+
skip += data.length;
|
|
64
|
+
}
|
|
65
|
+
const table = (0, order_export_1.ordersToAccountingTable)(orders);
|
|
66
|
+
return res.json({
|
|
67
|
+
...table,
|
|
68
|
+
numeric_headers: [...order_export_1.ORDER_EXPORT_NUMERIC_HEADERS],
|
|
69
|
+
truncated: orders.length >= MAX_ORDERS,
|
|
70
|
+
filters: { from: from || null, to: to || null, status: status || null },
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function cleanText(value) {
|
|
74
|
+
return typeof value === "string" ? value.trim() : "";
|
|
75
|
+
}
|
|
76
|
+
function cleanDate(value, endOfDay = false) {
|
|
77
|
+
const raw = cleanText(value);
|
|
78
|
+
if (!raw)
|
|
79
|
+
return "";
|
|
80
|
+
const dateOnly = /^\d{4}-\d{2}-\d{2}$/.test(raw);
|
|
81
|
+
const date = new Date(dateOnly
|
|
82
|
+
? `${raw}T${endOfDay ? "23:59:59.999" : "00:00:00.000"}Z`
|
|
83
|
+
: raw);
|
|
84
|
+
if (Number.isNaN(date.getTime()))
|
|
85
|
+
return "";
|
|
86
|
+
return date.toISOString();
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL29yZGVyLWV4cG9ydC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFDQSxvQkF3Q0M7QUE1RUQscURBQXFFO0FBQ3JFLDZEQUdtQztBQUVuQyxNQUFNLFlBQVksR0FBRztJQUNuQixJQUFJO0lBQ0osWUFBWTtJQUNaLFlBQVk7SUFDWixRQUFRO0lBQ1IsZUFBZTtJQUNmLE9BQU87SUFDUCxhQUFhO0lBQ2IsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLE9BQU87SUFDUCxVQUFVO0lBQ1YsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsU0FBUztJQUNULG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUN2QixnQ0FBZ0M7SUFDaEMsd0NBQXdDO0lBQ3hDLGdCQUFnQjtDQUNqQixDQUFBO0FBRUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFBO0FBQ3JCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQTtBQUVsQixLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDaEUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBNEIsQ0FBQTtJQUN4RCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2pDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ25DLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFckMsTUFBTSxTQUFTLEdBQTJCLEVBQUUsQ0FBQTtJQUM1QyxJQUFJLElBQUk7UUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUMvQixJQUFJLEVBQUU7UUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUUzQixNQUFNLE9BQU8sR0FBNEI7UUFDdkMsTUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUU7S0FDbkMsQ0FBQTtJQUNELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNO1FBQUUsT0FBTyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7SUFFakUsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFRLENBQUE7SUFDdkUsTUFBTSxNQUFNLEdBQTBCLEVBQUUsQ0FBQTtJQUN4QyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUE7SUFFWixPQUFPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM1RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2pDLE1BQU0sRUFBRSxPQUFPO1lBQ2YsTUFBTSxFQUFFLFlBQVk7WUFDcEIsT0FBTztZQUNQLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7U0FDM0IsQ0FBb0MsQ0FBQTtRQUVyQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUk7WUFBRSxNQUFLO1FBQzdCLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxJQUFBLHNDQUF1QixFQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzdDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQztRQUNkLEdBQUcsS0FBSztRQUNSLGVBQWUsRUFBRSxDQUFDLEdBQUcsMkNBQTRCLENBQUM7UUFDbEQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLElBQUksVUFBVTtRQUN0QyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRTtLQUN4RSxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsS0FBYztJQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDdEQsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLEtBQWMsRUFBRSxRQUFRLEdBQUcsS0FBSztJQUNqRCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUIsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUNuQixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUTtRQUM1QixDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRztRQUN6RCxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDUixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDM0MsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7QUFDM0IsQ0FBQyJ9
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const native_migration_export_1 = require("../../../../core/native-migration-export");
|
|
8
|
+
async function GET(req, res) {
|
|
9
|
+
try {
|
|
10
|
+
const exported = await (0, native_migration_export_1.exportNativeMigrationCsv)(req.scope, "inventory");
|
|
11
|
+
res.setHeader("Cache-Control", "private, no-store, max-age=0");
|
|
12
|
+
res.setHeader("Content-Type", "text/csv; charset=utf-8");
|
|
13
|
+
res.setHeader("Content-Disposition", `attachment; filename="${safeFilename(exported.filename)}"`);
|
|
14
|
+
return res.send(exported.csv);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
return res.status(500).json({
|
|
18
|
+
message: error instanceof Error
|
|
19
|
+
? error.message
|
|
20
|
+
: "A natív készletexport nem készíthető el.",
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async function POST(req, res) {
|
|
25
|
+
const body = (req.body || {});
|
|
26
|
+
const rows = Array.isArray(body.rows) ? body.rows : [];
|
|
27
|
+
const dryRun = body.dry_run !== false;
|
|
28
|
+
const mode = body.mode === "skip" ? "skip" : "update";
|
|
29
|
+
if (!rows.length)
|
|
30
|
+
return res.status(400).json({ message: "Nincs importálható készletsor." });
|
|
31
|
+
if (rows.length > 10_000)
|
|
32
|
+
return res.status(400).json({ message: "Egy készletimport legfeljebb 10 000 sort tartalmazhat." });
|
|
33
|
+
const locationColumns = inventoryLocationColumns(rows[0]);
|
|
34
|
+
if (!locationColumns.length) {
|
|
35
|
+
return res.status(400).json({
|
|
36
|
+
message: "Nem található 'Location [Név] Stocked Quantity' oszlop. Használd a Medusa natív Inventory exportját.",
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const itemIds = [...new Set(rows.map((row) => cell(row, "Item Id")).filter(Boolean))];
|
|
40
|
+
if (!itemIds.length)
|
|
41
|
+
return res.status(400).json({ message: "Az Item Id oszlop kötelező." });
|
|
42
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
43
|
+
const { data: inventoryItems } = await query.graph({
|
|
44
|
+
entity: "inventory_items",
|
|
45
|
+
fields: ["id", "location_levels.id", "location_levels.location_id", "location_levels.stocked_quantity"],
|
|
46
|
+
filters: { id: itemIds },
|
|
47
|
+
});
|
|
48
|
+
const itemMap = new Map(inventoryItems.map((item) => [String(item.id), item]));
|
|
49
|
+
const stockLocationService = req.scope.resolve(utils_1.Modules.STOCK_LOCATION);
|
|
50
|
+
const locations = await stockLocationService.listStockLocations({}, { select: ["id", "name"], take: 1000 });
|
|
51
|
+
const locationByName = new Map((locations || []).map((location) => [
|
|
52
|
+
String(location.name || "").trim().toLowerCase(),
|
|
53
|
+
String(location.id),
|
|
54
|
+
]));
|
|
55
|
+
const create = [];
|
|
56
|
+
const update = [];
|
|
57
|
+
const errors = [];
|
|
58
|
+
let skipped = 0;
|
|
59
|
+
let total = 0;
|
|
60
|
+
// A native inventory export creates one row per linked product variant. If an
|
|
61
|
+
// inventory item is linked more than once, identical item+location quantities
|
|
62
|
+
// can therefore repeat. Collapse identical repeats; only conflicting repeats
|
|
63
|
+
// are considered invalid.
|
|
64
|
+
const seen = new Map();
|
|
65
|
+
for (let index = 0; index < rows.length; index++) {
|
|
66
|
+
const source = rows[index] || {};
|
|
67
|
+
const rowNumber = index + 2;
|
|
68
|
+
const itemId = cell(source, "Item Id");
|
|
69
|
+
if (!itemId) {
|
|
70
|
+
errors.push({ row: rowNumber, message: "Hiányzó Item Id." });
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const item = itemMap.get(itemId);
|
|
74
|
+
if (!item) {
|
|
75
|
+
errors.push({ row: rowNumber, message: `Ismeretlen inventory item: ${itemId}` });
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const existingLevels = new Map((item.location_levels || []).map((level) => [String(level.location_id), level]));
|
|
79
|
+
for (const column of locationColumns) {
|
|
80
|
+
const raw = cell(source, column.header);
|
|
81
|
+
if (!raw)
|
|
82
|
+
continue;
|
|
83
|
+
const quantity = Number(raw.replace(",", "."));
|
|
84
|
+
if (!Number.isFinite(quantity) || quantity < 0) {
|
|
85
|
+
errors.push({ row: rowNumber, message: `${column.header}: érvénytelen stocked quantity (${raw}).` });
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const locationId = locationByName.get(column.locationName.toLowerCase());
|
|
89
|
+
if (!locationId) {
|
|
90
|
+
errors.push({ row: rowNumber, message: `Ismeretlen stock location: ${column.locationName}` });
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
const identity = `${itemId}:${locationId}`;
|
|
94
|
+
const previous = seen.get(identity);
|
|
95
|
+
if (previous !== undefined) {
|
|
96
|
+
if (previous === quantity)
|
|
97
|
+
continue;
|
|
98
|
+
errors.push({
|
|
99
|
+
row: rowNumber,
|
|
100
|
+
message: `Ellentmondó készlet ugyanahhoz az inventory itemhez és locationhöz (${column.locationName}): ${previous} / ${quantity}.`,
|
|
101
|
+
});
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
seen.set(identity, quantity);
|
|
105
|
+
total++;
|
|
106
|
+
const current = existingLevels.get(locationId);
|
|
107
|
+
if (current?.id) {
|
|
108
|
+
if (mode === "skip") {
|
|
109
|
+
skipped++;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
update.push({
|
|
113
|
+
id: current.id,
|
|
114
|
+
inventory_item_id: itemId,
|
|
115
|
+
location_id: locationId,
|
|
116
|
+
stocked_quantity: quantity,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
create.push({
|
|
121
|
+
inventory_item_id: itemId,
|
|
122
|
+
location_id: locationId,
|
|
123
|
+
stocked_quantity: quantity,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (!dryRun && (create.length || update.length)) {
|
|
129
|
+
for (let offset = 0; offset < Math.max(create.length, update.length); offset += 500) {
|
|
130
|
+
await (0, core_flows_1.batchInventoryItemLevelsWorkflow)(req.scope).run({
|
|
131
|
+
input: {
|
|
132
|
+
create: create.slice(offset, offset + 500),
|
|
133
|
+
update: update.slice(offset, offset + 500),
|
|
134
|
+
delete: [],
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return res.json({
|
|
140
|
+
dry_run: dryRun,
|
|
141
|
+
mode,
|
|
142
|
+
total,
|
|
143
|
+
created: create.length,
|
|
144
|
+
updated: update.length,
|
|
145
|
+
skipped,
|
|
146
|
+
failed: errors.length,
|
|
147
|
+
errors: errors.slice(0, 200),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function inventoryLocationColumns(row) {
|
|
151
|
+
return Object.keys(row).flatMap((header) => {
|
|
152
|
+
const match = /^Location \[(.+)\] Stocked Quantity$/i.exec(header.trim());
|
|
153
|
+
return match ? [{ header, locationName: match[1].trim() }] : [];
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
function cell(row, wanted) {
|
|
157
|
+
const key = Object.keys(row).find((candidate) => candidate.trim().toLowerCase() === wanted.toLowerCase());
|
|
158
|
+
const value = key ? row[key] : undefined;
|
|
159
|
+
return value == null ? "" : String(value).trim();
|
|
160
|
+
}
|
|
161
|
+
function safeFilename(value) {
|
|
162
|
+
return value.replace(/[\r\n"\\/]+/g, "-") || "inventory.csv";
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtbWlncmF0aW9uL2ludmVudG9yeS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSxrQkFrQkM7QUFFRCxvQkEySUM7QUFqTEQscURBQThFO0FBQzlFLDREQUE4RTtBQUU5RSxzRkFBbUY7QUFlNUUsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELElBQUksQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxrREFBd0IsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQ3ZFLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLDhCQUE4QixDQUFDLENBQUE7UUFDOUQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUseUJBQXlCLENBQUMsQ0FBQTtRQUN4RCxHQUFHLENBQUMsU0FBUyxDQUNYLHFCQUFxQixFQUNyQix5QkFBeUIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUM1RCxDQUFBO1FBQ0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsT0FBTyxFQUNMLEtBQUssWUFBWSxLQUFLO2dCQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ2YsQ0FBQyxDQUFDLDBDQUEwQztTQUNqRCxDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxJQUFJLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUNoRSxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FB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
|