@hszrdm/core 1.7.0 → 1.9.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 +6832 -5418
- package/.medusa/server/src/admin/index.mjs +6834 -5420
- 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/integrations/[key]/verify/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/integrations/[key]/verify/route.js +79 -0
- package/.medusa/server/src/api/admin/orders/[id]/billingo/route.js +10 -1
- package/.medusa/server/src/api/admin/orders/[id]/foxpost/create/route.d.ts +3 -5
- package/.medusa/server/src/api/admin/orders/[id]/foxpost/create/route.js +7 -14
- package/.medusa/server/src/api/admin/orders/[id]/foxpost/label/route.js +12 -6
- package/.medusa/server/src/api/admin/orders/[id]/gls/create/route.d.ts +2 -1
- package/.medusa/server/src/api/admin/orders/[id]/gls/create/route.js +6 -14
- package/.medusa/server/src/api/admin/orders/[id]/gls/label/route.js +9 -4
- package/.medusa/server/src/api/admin/orders/[id]/shipping/label/route.js +4 -2
- package/.medusa/server/src/api/admin/orders/[id]/shipping/route.d.ts +1 -2
- package/.medusa/server/src/api/admin/orders/[id]/shipping/route.js +46 -8
- package/.medusa/server/src/api/admin/shipping/bulk/create/route.d.ts +3 -6
- package/.medusa/server/src/api/admin/shipping/bulk/create/route.js +6 -57
- package/.medusa/server/src/api/admin/shipping/bulk/labels/route.js +4 -2
- 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/admin/shipping/orders/route.js +19 -4
- 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/cms/entries/[slug]/route.js +3 -2
- package/.medusa/server/src/api/store/cms/entries/route.js +3 -2
- 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 +70 -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/jobs/mpl-status-sync.js +10 -6
- package/.medusa/server/src/jobs/shipping-status-sync-eligibility.d.ts +5 -0
- package/.medusa/server/src/jobs/shipping-status-sync-eligibility.js +26 -0
- package/.medusa/server/src/jobs/shipping-status-sync.d.ts +6 -0
- package/.medusa/server/src/jobs/shipping-status-sync.js +63 -28
- 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 -2
- package/.medusa/server/src/lib/modules/billingo/client.js +17 -8
- 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 +42 -2
- package/.medusa/server/src/lib/modules/billingo/mapper.js +77 -4
- 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 +21 -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.d.ts +2 -2
- package/.medusa/server/src/lib/modules/shipping/actions.js +171 -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/index.d.ts +1 -0
- package/.medusa/server/src/lib/modules/shipping/index.js +2 -1
- package/.medusa/server/src/lib/modules/shipping/native-fulfillment.d.ts +73 -0
- package/.medusa/server/src/lib/modules/shipping/native-fulfillment.js +191 -0
- package/.medusa/server/src/lib/modules/shipping/operations.d.ts +28 -0
- package/.medusa/server/src/lib/modules/shipping/operations.js +9 -1
- package/.medusa/server/src/lib/modules/shipping/print-eligibility.d.ts +12 -0
- package/.medusa/server/src/lib/modules/shipping/print-eligibility.js +34 -0
- package/.medusa/server/src/lib/modules/shipping/recipient-email.d.ts +18 -0
- package/.medusa/server/src/lib/modules/shipping/recipient-email.js +29 -0
- package/.medusa/server/src/lib/modules/shipping/resolve.d.ts +9 -0
- package/.medusa/server/src/lib/modules/shipping/resolve.js +65 -0
- 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/migrations/Migration20261104010000.d.ts +5 -0
- package/.medusa/server/src/modules/integration-operation/migrations/Migration20261104010000.js +34 -0
- package/.medusa/server/src/modules/integration-operation/models/integration-operation.d.ts +1 -1
- package/.medusa/server/src/modules/integration-operation/models/integration-operation.js +2 -2
- package/.medusa/server/src/modules/integration-operation/service.d.ts +1 -1
- 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 +20 -4
- 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/registry.js +1 -14
- 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 +50 -0
- package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.js +248 -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 +60 -0
- package/.medusa/server/src/providers/csomagpiac/service.js +296 -0
- package/.medusa/server/src/providers/csomagpiac/types.d.ts +66 -0
- package/.medusa/server/src/providers/csomagpiac/types.js +27 -0
- package/.medusa/server/src/providers/dpd/fulfillment-provider.d.ts +5 -1
- package/.medusa/server/src/providers/dpd/fulfillment-provider.js +94 -27
- package/.medusa/server/src/providers/dpd/service.d.ts +2 -0
- package/.medusa/server/src/providers/dpd/service.js +32 -4
- package/.medusa/server/src/providers/dpd/types.d.ts +1 -0
- package/.medusa/server/src/providers/dpd/types.js +1 -1
- 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.d.ts +3 -1
- package/.medusa/server/src/providers/foxpost/foxpost-service.js +19 -17
- package/.medusa/server/src/providers/foxpost/fulfillment-provider.d.ts +10 -3
- package/.medusa/server/src/providers/foxpost/fulfillment-provider.js +99 -69
- package/.medusa/server/src/providers/foxpost/types.d.ts +1 -0
- package/.medusa/server/src/providers/gls/fulfillment-provider.d.ts +4 -0
- package/.medusa/server/src/providers/gls/fulfillment-provider.js +87 -17
- package/.medusa/server/src/providers/gls/gls-service.d.ts +19 -1
- package/.medusa/server/src/providers/gls/gls-service.js +32 -64
- package/.medusa/server/src/providers/gls/types.d.ts +16 -0
- package/.medusa/server/src/providers/mpl/fulfillment-provider.d.ts +4 -0
- package/.medusa/server/src/providers/mpl/fulfillment-provider.js +67 -176
- 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 +37 -1
- package/.medusa/server/src/providers/mpl/service.js +113 -366
- package/.medusa/server/src/providers/mpl/types.d.ts +19 -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 +4 -0
- package/.medusa/server/src/providers/packeta/fulfillment-provider.js +84 -9
- package/.medusa/server/src/providers/packeta/point-validation.d.ts +2 -0
- package/.medusa/server/src/providers/packeta/point-validation.js +99 -0
- package/.medusa/server/src/providers/packeta/service.d.ts +1 -0
- package/.medusa/server/src/providers/packeta/service.js +91 -23
- package/.medusa/server/src/providers/packeta/types.d.ts +27 -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 +59 -12
- 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/scripts/verify-runtime-modules.d.ts +7 -0
- package/.medusa/server/src/scripts/verify-runtime-modules.js +46 -0
- 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 +23 -18
|
@@ -3,8 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.partnerFromOrder = partnerFromOrder;
|
|
4
4
|
exports.documentFromOrder = documentFromOrder;
|
|
5
5
|
exports.proformaFromOrder = proformaFromOrder;
|
|
6
|
+
exports.advanceFromOrder = advanceFromOrder;
|
|
7
|
+
exports.finalInvoiceFromAdvance = finalInvoiceFromAdvance;
|
|
6
8
|
exports.paymentMethod = paymentMethod;
|
|
7
9
|
exports.paymentMethodForOrder = paymentMethodForOrder;
|
|
10
|
+
exports.billingoUnit = billingoUnit;
|
|
8
11
|
exports.vatFromMedusaTaxLines = vatFromMedusaTaxLines;
|
|
9
12
|
const client_1 = require("./client");
|
|
10
13
|
const PAYMENT_METHODS = new Set([
|
|
@@ -95,7 +98,7 @@ function documentFromOrder(order, partnerId, now = new Date(), options = {}) {
|
|
|
95
98
|
unit_price: money(unitPrice),
|
|
96
99
|
unit_price_type: "gross",
|
|
97
100
|
quantity,
|
|
98
|
-
unit:
|
|
101
|
+
unit: billingoUnit(item),
|
|
99
102
|
vat,
|
|
100
103
|
...(entitlement ? { entitlement } : {}),
|
|
101
104
|
...(item.sku ? { sku: item.sku } : {}),
|
|
@@ -112,7 +115,7 @@ function documentFromOrder(order, partnerId, now = new Date(), options = {}) {
|
|
|
112
115
|
unit_price: money(gross),
|
|
113
116
|
unit_price_type: "gross",
|
|
114
117
|
quantity: 1,
|
|
115
|
-
unit:
|
|
118
|
+
unit: "db",
|
|
116
119
|
vat,
|
|
117
120
|
...(entitlement ? { entitlement } : {}),
|
|
118
121
|
});
|
|
@@ -146,6 +149,7 @@ function documentFromOrder(order, partnerId, now = new Date(), options = {}) {
|
|
|
146
149
|
electronic: process.env.BILLINGO_ELECTRONIC !== "false",
|
|
147
150
|
paid: options.paid ?? order.payment_status === "captured",
|
|
148
151
|
items,
|
|
152
|
+
...(options.advanceInvoice ? { advance_invoice: options.advanceInvoice } : {}),
|
|
149
153
|
comment: `${storeName} rendelés #${order.display_id ?? order.id}`,
|
|
150
154
|
settings: {
|
|
151
155
|
order_number: String(order.display_id ?? order.id).slice(0, 64),
|
|
@@ -161,15 +165,84 @@ function proformaFromOrder(order, partnerId, now = new Date()) {
|
|
|
161
165
|
vendorSuffix: "proforma",
|
|
162
166
|
});
|
|
163
167
|
}
|
|
168
|
+
function advanceFromOrder(order, partnerId, ratio = 1, now = new Date()) {
|
|
169
|
+
if (!Number.isFinite(ratio) || ratio <= 0 || ratio > 1) {
|
|
170
|
+
throw new Error("A Billingo előleg aránya 0-nál nagyobb és legfeljebb 1 lehet.");
|
|
171
|
+
}
|
|
172
|
+
const document = documentFromOrder(order, partnerId, now, {
|
|
173
|
+
type: "advance",
|
|
174
|
+
paid: order.payment_status === "captured",
|
|
175
|
+
vendorSuffix: "advance",
|
|
176
|
+
});
|
|
177
|
+
return {
|
|
178
|
+
...document,
|
|
179
|
+
items: document.items.map((item) => ({
|
|
180
|
+
...item,
|
|
181
|
+
unit_price: money(item.unit_price * ratio),
|
|
182
|
+
...(item.comment ? {} : { comment: `Előleg ${money(ratio * 100)}%` }),
|
|
183
|
+
})),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
function finalInvoiceFromAdvance(order, partnerId, advanceDocumentId, now = new Date()) {
|
|
187
|
+
if (!Number.isInteger(advanceDocumentId) || advanceDocumentId <= 0) {
|
|
188
|
+
throw new Error("A Billingo előlegszámla azonosítója érvénytelen.");
|
|
189
|
+
}
|
|
190
|
+
return documentFromOrder(order, partnerId, now, {
|
|
191
|
+
type: "invoice",
|
|
192
|
+
advanceInvoice: advanceDocumentId,
|
|
193
|
+
vendorSuffix: "final",
|
|
194
|
+
});
|
|
195
|
+
}
|
|
164
196
|
function paymentMethod(value = process.env.BILLINGO_PAYMENT_METHOD || "stripe") {
|
|
165
197
|
const normalized = value.trim();
|
|
166
198
|
return PAYMENT_METHODS.has(normalized) ? normalized : "other";
|
|
167
199
|
}
|
|
200
|
+
/** Determine payment method from the selected checkout method, never a shop-wide default. */
|
|
168
201
|
function paymentMethodForOrder(order) {
|
|
169
202
|
if ((order.shipping_methods || []).some((method) => method.data?.cod === true)) {
|
|
170
203
|
return "cash_on_delivery";
|
|
171
204
|
}
|
|
172
|
-
|
|
205
|
+
const source = [
|
|
206
|
+
order.metadata?.core_payment_method,
|
|
207
|
+
order.metadata?.payment_method,
|
|
208
|
+
order.metadata?.payment_provider_id,
|
|
209
|
+
...(order.payment_collections || []).flatMap((collection) => [
|
|
210
|
+
...(collection.payment_sessions || []).map((session) => session.provider_id),
|
|
211
|
+
...(collection.payments || []).map((payment) => payment.provider_id),
|
|
212
|
+
]),
|
|
213
|
+
].filter((value) => typeof value === "string" && value.trim().length > 0);
|
|
214
|
+
for (const value of source) {
|
|
215
|
+
const method = value.trim().toLowerCase();
|
|
216
|
+
if (method === "bank_transfer" || method === "wire_transfer" || method === "bank-transfer")
|
|
217
|
+
return "wire_transfer";
|
|
218
|
+
if (method.includes("simplepay"))
|
|
219
|
+
return "online_bankcard";
|
|
220
|
+
if (method.includes("stripe"))
|
|
221
|
+
return "stripe";
|
|
222
|
+
if (method === "cash" || method === "cod" || method === "cash_on_delivery")
|
|
223
|
+
return "cash_on_delivery";
|
|
224
|
+
if (method === "paypal")
|
|
225
|
+
return "paypal";
|
|
226
|
+
if (method === "barion")
|
|
227
|
+
return "barion";
|
|
228
|
+
}
|
|
229
|
+
return "other";
|
|
230
|
+
}
|
|
231
|
+
/** Explicit order-line snapshot takes precedence; fall back to product metadata, then db. */
|
|
232
|
+
function billingoUnit(item) {
|
|
233
|
+
const candidates = [
|
|
234
|
+
item.metadata?.billingo_unit,
|
|
235
|
+
item.variant?.metadata?.billingo_unit,
|
|
236
|
+
item.product?.metadata?.billingo_unit,
|
|
237
|
+
];
|
|
238
|
+
for (const value of candidates) {
|
|
239
|
+
if (typeof value !== "string")
|
|
240
|
+
continue;
|
|
241
|
+
const unit = value.trim();
|
|
242
|
+
if (unit && unit.length <= 32)
|
|
243
|
+
return unit;
|
|
244
|
+
}
|
|
245
|
+
return "db";
|
|
173
246
|
}
|
|
174
247
|
function vatFromMedusaTaxLines(taxLines, label = "Tétel") {
|
|
175
248
|
const lines = (taxLines || []).filter((line) => line && typeof line === "object");
|
|
@@ -208,4 +281,4 @@ function money(value) { return Math.round((value + Number.EPSILON) * 100) / 100;
|
|
|
208
281
|
function positive(value) { const number = Number(value); return Number.isFinite(number) && number >= 0 ? number : null; }
|
|
209
282
|
function positiveInteger(value) { const number = Number(value); return Number.isInteger(number) && number > 0 ? number : null; }
|
|
210
283
|
function text(value) { return typeof value === "string" && value.trim() ? value.trim() : null; }
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bGVzL2JpbGxpbmdvL21hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNEQSw0Q0EwQkM7QUFFRCw4Q0EwRkM7QUFFRCw4Q0FRQztBQUVELHNDQUdDO0FBRUQsc0RBS0M7QUFFRCxzREEyQkM7QUEvTkQscUNBQXdEO0FBUXhELE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxDQUF3QjtJQUNyRCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFFBQVE7SUFDUixRQUFRO0lBQ1IsTUFBTTtJQUNOLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsY0FBYztJQUNkLFdBQVc7SUFDWCxhQUFhO0lBQ2IsU0FBUztJQUNULGlCQUFpQjtJQUNqQixPQUFPO0lBQ1AsU0FBUztJQUNULFVBQVU7SUFDVixRQUFRO0lBQ1IsZUFBZTtJQUNmLE1BQU07SUFDTixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGVBQWU7SUFDZixRQUFRO0lBQ1IsV0FBVztJQUNYLGNBQWM7SUFDZCxRQUFRO0lBQ1IsVUFBVTtJQUNWLE9BQU87SUFDUCxlQUFlO0lBQ2YsUUFBUTtDQUNULENBQUMsQ0FBQTtBQUVGLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDekMsS0FBSztJQUNMLElBQUk7SUFDSixJQUFJO0lBQ0osS0FBSztJQUNMLE9BQU87SUFDUCxLQUFLO0lBQ0wsT0FBTztJQUNQLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLE1BQU07Q0FDUCxDQUFDLENBQUE7QUFFRixTQUFnQixnQkFBZ0IsQ0FBQyxLQUFvQjtJQUNuRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQTtJQUMvRCxJQUFJLENBQUMsT0FBTztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELENBQUMsQ0FBQTtJQUMzRixN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
|
|
284
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bGVzL2JpbGxpbmdvL21hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXVEQSw0Q0EwQkM7QUFFRCw4Q0E0RkM7QUFFRCw4Q0FRQztBQUVELDRDQXdCQztBQUVELDBEQWNDO0FBRUQsc0NBR0M7QUFHRCxzREF1QkM7QUFHRCxvQ0FZQztBQUVELHNEQTJCQztBQTlTRCxxQ0FBd0Q7QUFTeEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQXdCO0lBQ3JELFVBQVU7SUFDVixVQUFVO0lBQ1YsUUFBUTtJQUNSLFFBQVE7SUFDUixNQUFNO0lBQ04sa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixjQUFjO0lBQ2QsV0FBVztJQUNYLGFBQWE7SUFDYixTQUFTO0lBQ1QsaUJBQWlCO0lBQ2pCLE9BQU87SUFDUCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFFBQVE7SUFDUixlQUFlO0lBQ2YsTUFBTTtJQUNOLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsZUFBZTtJQUNmLFFBQVE7SUFDUixXQUFXO0lBQ1gsY0FBYztJQUNkLFFBQVE7SUFDUixVQUFVO0lBQ1YsT0FBTztJQUNQLGVBQWU7SUFDZixRQUFRO0NBQ1QsQ0FBQyxDQUFBO0FBRUYsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUN6QyxLQUFLO0lBQ0wsSUFBSTtJQUNKLElBQUk7SUFDSixLQUFLO0lBQ0wsT0FBTztJQUNQLEtBQUs7SUFDTCxPQUFPO0lBQ1AsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtDQUNQLENBQUMsQ0FBQTtBQUVGLFNBQWdCLGdCQUFnQixDQUFDLEtBQW9CO0lBQ25ELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFBO0lBQy9ELElBQUksQ0FBQyxPQUFPO1FBQUUsTUFBTSxJQUFJ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
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { BillingoClient } from "./client";
|
|
2
|
+
import type { BillingoDocument, BillingoDocumentItemInput, BillingoInvoice, BillingoOrderService } from "./types";
|
|
3
|
+
import type { IntegrationOperationStore } from "../../../modules/integration-operation/types";
|
|
4
|
+
export type BillingoPartialCreditLine = {
|
|
5
|
+
lineId: string;
|
|
6
|
+
quantity: number;
|
|
7
|
+
};
|
|
8
|
+
export type BillingoPartialCreditShipping = {
|
|
9
|
+
index: number;
|
|
10
|
+
};
|
|
11
|
+
export type BillingoPartialCreditState = {
|
|
12
|
+
items: Record<string, number>;
|
|
13
|
+
shipping: number[];
|
|
14
|
+
documents: Array<{
|
|
15
|
+
documentId: number;
|
|
16
|
+
invoiceNumber?: string | null;
|
|
17
|
+
sourceDocumentId: number;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
}>;
|
|
20
|
+
latestDocumentId?: number | null;
|
|
21
|
+
};
|
|
22
|
+
export declare function billingoPartialCreditState(metadata?: Record<string, unknown> | null): BillingoPartialCreditState;
|
|
23
|
+
export declare function createBillingoPartialCreditNote(input: {
|
|
24
|
+
orderService: BillingoOrderService;
|
|
25
|
+
orderId: string;
|
|
26
|
+
lines: BillingoPartialCreditLine[];
|
|
27
|
+
shipping?: BillingoPartialCreditShipping[];
|
|
28
|
+
actorId?: string | null;
|
|
29
|
+
client?: BillingoClient;
|
|
30
|
+
operationStore?: IntegrationOperationStore;
|
|
31
|
+
}): Promise<{
|
|
32
|
+
invoice: BillingoInvoice;
|
|
33
|
+
modification: BillingoDocument;
|
|
34
|
+
alreadyExisted: boolean;
|
|
35
|
+
reconciled: boolean;
|
|
36
|
+
processing?: undefined;
|
|
37
|
+
reconciliationRequired?: undefined;
|
|
38
|
+
remainingItems?: undefined;
|
|
39
|
+
} | {
|
|
40
|
+
invoice: BillingoInvoice;
|
|
41
|
+
modification: null;
|
|
42
|
+
alreadyExisted: boolean;
|
|
43
|
+
processing: boolean;
|
|
44
|
+
reconciliationRequired: boolean;
|
|
45
|
+
reconciled?: undefined;
|
|
46
|
+
remainingItems?: undefined;
|
|
47
|
+
} | {
|
|
48
|
+
invoice: BillingoInvoice;
|
|
49
|
+
modification: BillingoDocument;
|
|
50
|
+
alreadyExisted: boolean;
|
|
51
|
+
remainingItems: BillingoDocumentItemInput[];
|
|
52
|
+
reconciled?: undefined;
|
|
53
|
+
processing?: undefined;
|
|
54
|
+
reconciliationRequired?: undefined;
|
|
55
|
+
}>;
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.billingoPartialCreditState = billingoPartialCreditState;
|
|
4
|
+
exports.createBillingoPartialCreditNote = createBillingoPartialCreditNote;
|
|
5
|
+
const node_crypto_1 = require("node:crypto");
|
|
6
|
+
const actions_1 = require("./actions");
|
|
7
|
+
const mapper_1 = require("./mapper");
|
|
8
|
+
const state_1 = require("../../../modules/integration-operation/state");
|
|
9
|
+
const BILLINGO_ORDER_RELATIONS = [
|
|
10
|
+
"billing_address",
|
|
11
|
+
"shipping_address",
|
|
12
|
+
"items",
|
|
13
|
+
"items.tax_lines",
|
|
14
|
+
"shipping_methods",
|
|
15
|
+
"shipping_methods.tax_lines",
|
|
16
|
+
];
|
|
17
|
+
function billingoPartialCreditState(metadata) {
|
|
18
|
+
const raw = metadata?.billingo_partial_credit_state;
|
|
19
|
+
if (!raw || typeof raw !== "object") {
|
|
20
|
+
return { items: {}, shipping: [], documents: [] };
|
|
21
|
+
}
|
|
22
|
+
const value = raw;
|
|
23
|
+
const items = value.items && typeof value.items === "object"
|
|
24
|
+
? Object.fromEntries(Object.entries(value.items).filter(([, quantity]) => Number.isFinite(Number(quantity)) && Number(quantity) > 0).map(([key, quantity]) => [key, Number(quantity)]))
|
|
25
|
+
: {};
|
|
26
|
+
const shipping = Array.isArray(value.shipping)
|
|
27
|
+
? [...new Set(value.shipping.map(Number).filter((index) => Number.isInteger(index) && index >= 0))]
|
|
28
|
+
: [];
|
|
29
|
+
const documents = Array.isArray(value.documents)
|
|
30
|
+
? value.documents.filter((item) => Boolean(item) &&
|
|
31
|
+
typeof item === "object" &&
|
|
32
|
+
Number.isInteger(Number(item.documentId)) &&
|
|
33
|
+
Number(item.documentId) > 0)
|
|
34
|
+
: [];
|
|
35
|
+
return {
|
|
36
|
+
items,
|
|
37
|
+
shipping,
|
|
38
|
+
documents,
|
|
39
|
+
latestDocumentId: Number.isInteger(Number(value.latestDocumentId)) && Number(value.latestDocumentId) > 0
|
|
40
|
+
? Number(value.latestDocumentId)
|
|
41
|
+
: documents.at(-1)?.documentId ?? null,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
async function createBillingoPartialCreditNote(input) {
|
|
45
|
+
const startedAt = Date.now();
|
|
46
|
+
const actorId = input.actorId || "system";
|
|
47
|
+
const client = input.client || actions_1.billingoClient;
|
|
48
|
+
let order = await retrieveFullOrder(input.orderService, input.orderId);
|
|
49
|
+
let invoice = (0, actions_1.billingoInvoice)(order.metadata);
|
|
50
|
+
if (!invoice)
|
|
51
|
+
throw new Error("Ehhez a rendeléshez még nem készült Billingo számla.");
|
|
52
|
+
if (invoice.cancelled)
|
|
53
|
+
throw new Error("A sztornózott Billingo számla nem módosítható.");
|
|
54
|
+
if (!input.lines.length && !(input.shipping?.length)) {
|
|
55
|
+
throw new Error("Adj meg legalább egy jóváírandó tételt.");
|
|
56
|
+
}
|
|
57
|
+
const previousState = billingoPartialCreditState(order.metadata);
|
|
58
|
+
const nextState = planPartialCredit(order, previousState, input.lines, input.shipping || []);
|
|
59
|
+
const sourceDocumentId = previousState.latestDocumentId || invoice.modificationDocumentId || invoice.documentId;
|
|
60
|
+
const correctedItems = correctedDocumentItems(order, nextState);
|
|
61
|
+
const fingerprint = partialCreditFingerprint(input.lines, input.shipping || []);
|
|
62
|
+
let durable;
|
|
63
|
+
let remoteDocument;
|
|
64
|
+
try {
|
|
65
|
+
if (input.operationStore) {
|
|
66
|
+
const acquired = await (0, state_1.acquireOperation)(input.operationStore, {
|
|
67
|
+
provider: "billingo",
|
|
68
|
+
operation_type: "invoice.partial-credit",
|
|
69
|
+
entity_type: "order",
|
|
70
|
+
entity_id: order.id,
|
|
71
|
+
idempotency_key: `billingo:partial-credit:${order.id}:${sourceDocumentId}:${fingerprint}`,
|
|
72
|
+
reference_data: {
|
|
73
|
+
sourceDocumentId,
|
|
74
|
+
fingerprint,
|
|
75
|
+
nextState,
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
durable = acquired.operation;
|
|
79
|
+
if (!acquired.acquired) {
|
|
80
|
+
if (durable.external_id &&
|
|
81
|
+
["succeeded", "needs_reconciliation"].includes(durable.status)) {
|
|
82
|
+
const document = await client.getDocument(Number(durable.external_id));
|
|
83
|
+
const storedState = stateFromReference(durable.reference_data) || nextState;
|
|
84
|
+
invoice = invoiceWithModification(invoice, document);
|
|
85
|
+
const savedState = stateWithDocument(storedState, sourceDocumentId, document);
|
|
86
|
+
await savePartialCredit(input.orderService, order, invoice, savedState, successOperation(actorId, Date.now() - startedAt, document));
|
|
87
|
+
if (durable.status !== "succeeded") {
|
|
88
|
+
await (0, state_1.operationSucceeded)(input.operationStore, durable, String(document.id), {
|
|
89
|
+
sourceDocumentId,
|
|
90
|
+
fingerprint,
|
|
91
|
+
nextState: savedState,
|
|
92
|
+
invoiceNumber: document.invoice_number ?? null,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
invoice,
|
|
97
|
+
modification: document,
|
|
98
|
+
alreadyExisted: true,
|
|
99
|
+
reconciled: durable.status === "needs_reconciliation",
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
invoice,
|
|
104
|
+
modification: null,
|
|
105
|
+
alreadyExisted: true,
|
|
106
|
+
processing: durable.status === "processing",
|
|
107
|
+
reconciliationRequired: durable.status === "needs_reconciliation",
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
remoteDocument = await client.createModificationDocument(sourceDocumentId, {
|
|
112
|
+
due_date: dateOnly(new Date()),
|
|
113
|
+
payment_method: (0, mapper_1.paymentMethodForOrder)(order),
|
|
114
|
+
without_financial_fulfillment: false,
|
|
115
|
+
comment: `Részleges jóváírás – webshop rendelés #${order.display_id ?? order.id}`,
|
|
116
|
+
...(correctedItems.length ? { items: correctedItems } : {}),
|
|
117
|
+
});
|
|
118
|
+
invoice = invoiceWithModification(invoice, remoteDocument);
|
|
119
|
+
const savedState = stateWithDocument(nextState, sourceDocumentId, remoteDocument);
|
|
120
|
+
await savePartialCredit(input.orderService, order, invoice, savedState, successOperation(actorId, Date.now() - startedAt, remoteDocument));
|
|
121
|
+
if (durable && input.operationStore) {
|
|
122
|
+
await (0, state_1.operationSucceeded)(input.operationStore, durable, String(remoteDocument.id), {
|
|
123
|
+
sourceDocumentId,
|
|
124
|
+
fingerprint,
|
|
125
|
+
nextState: savedState,
|
|
126
|
+
invoiceNumber: remoteDocument.invoice_number ?? null,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
invoice,
|
|
131
|
+
modification: remoteDocument,
|
|
132
|
+
alreadyExisted: false,
|
|
133
|
+
remainingItems: correctedItems,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
if (durable && input.operationStore) {
|
|
138
|
+
await (0, state_1.operationFailed)(input.operationStore, durable, error, Boolean(remoteDocument), remoteDocument ? String(remoteDocument.id) : undefined, remoteDocument
|
|
139
|
+
? {
|
|
140
|
+
sourceDocumentId,
|
|
141
|
+
fingerprint,
|
|
142
|
+
nextState: stateWithDocument(nextState, sourceDocumentId, remoteDocument),
|
|
143
|
+
invoiceNumber: remoteDocument.invoice_number ?? null,
|
|
144
|
+
}
|
|
145
|
+
: durable.reference_data ?? undefined);
|
|
146
|
+
}
|
|
147
|
+
order = await input.orderService.retrieveOrder(input.orderId);
|
|
148
|
+
await saveOperation(input.orderService, order, failedOperation(actorId, Date.now() - startedAt, error instanceof Error ? error.message : "A részleges Billingo jóváírás nem sikerült."));
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function planPartialCredit(order, previous, lines, shipping) {
|
|
153
|
+
const next = {
|
|
154
|
+
items: { ...previous.items },
|
|
155
|
+
shipping: [...previous.shipping],
|
|
156
|
+
documents: [...previous.documents],
|
|
157
|
+
latestDocumentId: previous.latestDocumentId ?? null,
|
|
158
|
+
};
|
|
159
|
+
const orderLines = order.items || [];
|
|
160
|
+
for (const requested of lines) {
|
|
161
|
+
const line = orderLines.find((item) => lineKey(item) === requested.lineId);
|
|
162
|
+
if (!line)
|
|
163
|
+
throw new Error(`Ismeretlen rendelési tétel: ${requested.lineId}`);
|
|
164
|
+
if (!Number.isFinite(requested.quantity) || requested.quantity <= 0) {
|
|
165
|
+
throw new Error(`A jóváírandó mennyiség pozitív szám kell legyen (${requested.lineId}).`);
|
|
166
|
+
}
|
|
167
|
+
const originalQuantity = Number(line.quantity ?? 0);
|
|
168
|
+
if (!(originalQuantity > 0))
|
|
169
|
+
throw new Error(`A rendelési tétel mennyisége érvénytelen: ${requested.lineId}`);
|
|
170
|
+
const alreadyCredited = next.items[requested.lineId] || 0;
|
|
171
|
+
if (alreadyCredited + requested.quantity > originalQuantity + 1e-9) {
|
|
172
|
+
throw new Error(`A(z) ${requested.lineId} tételből a jóváírás meghaladná az eredeti mennyiséget.`);
|
|
173
|
+
}
|
|
174
|
+
next.items[requested.lineId] = alreadyCredited + requested.quantity;
|
|
175
|
+
}
|
|
176
|
+
const shippingMethods = order.shipping_methods || [];
|
|
177
|
+
for (const requested of shipping) {
|
|
178
|
+
if (!Number.isInteger(requested.index) || requested.index < 0 || !shippingMethods[requested.index]) {
|
|
179
|
+
throw new Error(`Ismeretlen szállítási tétel index: ${requested.index}`);
|
|
180
|
+
}
|
|
181
|
+
if (next.shipping.includes(requested.index)) {
|
|
182
|
+
throw new Error(`A(z) ${requested.index}. szállítási tétel már jóvá lett írva.`);
|
|
183
|
+
}
|
|
184
|
+
next.shipping.push(requested.index);
|
|
185
|
+
}
|
|
186
|
+
next.shipping.sort((a, b) => a - b);
|
|
187
|
+
return next;
|
|
188
|
+
}
|
|
189
|
+
function correctedDocumentItems(order, state) {
|
|
190
|
+
const items = [];
|
|
191
|
+
for (const [index, item] of (order.items || []).entries()) {
|
|
192
|
+
const key = lineKey(item);
|
|
193
|
+
const originalQuantity = Number(item.quantity ?? 0);
|
|
194
|
+
const credited = state.items[key] || 0;
|
|
195
|
+
const remaining = originalQuantity - credited;
|
|
196
|
+
if (remaining <= 1e-9)
|
|
197
|
+
continue;
|
|
198
|
+
const originalGross = positive(item.total) ?? positive(item.subtotal);
|
|
199
|
+
const unitPrice = originalGross === null
|
|
200
|
+
? positive(item.unit_price) ?? 0
|
|
201
|
+
: originalGross / Math.max(originalQuantity, 1);
|
|
202
|
+
const entitlement = text(item.metadata?.billing_entitlement);
|
|
203
|
+
items.push({
|
|
204
|
+
name: item.title || [item.product_title, item.variant_title].filter(Boolean).join(" – ") || `Termék ${index + 1}`,
|
|
205
|
+
unit_price: money(unitPrice),
|
|
206
|
+
unit_price_type: "gross",
|
|
207
|
+
quantity: remaining,
|
|
208
|
+
unit: process.env.BILLINGO_UNIT || "db",
|
|
209
|
+
vat: (0, mapper_1.vatFromMedusaTaxLines)(item.tax_lines, `Rendelési tétel #${index + 1}`),
|
|
210
|
+
...(item.sku ? { sku: item.sku } : {}),
|
|
211
|
+
...(entitlement ? { entitlement } : {}),
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
for (const [index, method] of (order.shipping_methods || []).entries()) {
|
|
215
|
+
if (state.shipping.includes(index))
|
|
216
|
+
continue;
|
|
217
|
+
const gross = positive(method.total) ?? positive(method.amount) ?? positive(method.subtotal) ?? 0;
|
|
218
|
+
if (gross <= 0)
|
|
219
|
+
continue;
|
|
220
|
+
const entitlement = text(method.data?.billing_entitlement);
|
|
221
|
+
items.push({
|
|
222
|
+
name: method.name?.trim() || "Szállítás",
|
|
223
|
+
unit_price: money(gross),
|
|
224
|
+
unit_price_type: "gross",
|
|
225
|
+
quantity: 1,
|
|
226
|
+
unit: process.env.BILLINGO_UNIT || "db",
|
|
227
|
+
vat: (0, mapper_1.vatFromMedusaTaxLines)(method.tax_lines, `Szállítás #${index + 1}`),
|
|
228
|
+
...(entitlement ? { entitlement } : {}),
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
return items;
|
|
232
|
+
}
|
|
233
|
+
function lineKey(item) {
|
|
234
|
+
const id = typeof item.id === "string" && item.id.trim() ? item.id.trim() : null;
|
|
235
|
+
if (!id) {
|
|
236
|
+
throw new Error("A részleges Billingo jóváíráshoz hiányzik a Medusa line item ID.");
|
|
237
|
+
}
|
|
238
|
+
return id;
|
|
239
|
+
}
|
|
240
|
+
function partialCreditFingerprint(lines, shipping) {
|
|
241
|
+
const normalized = {
|
|
242
|
+
lines: [...lines]
|
|
243
|
+
.map((line) => ({ lineId: line.lineId, quantity: Number(line.quantity) }))
|
|
244
|
+
.sort((a, b) => a.lineId.localeCompare(b.lineId)),
|
|
245
|
+
shipping: [...shipping].map((item) => item.index).sort((a, b) => a - b),
|
|
246
|
+
};
|
|
247
|
+
return (0, node_crypto_1.createHash)("sha256").update(JSON.stringify(normalized)).digest("hex").slice(0, 24);
|
|
248
|
+
}
|
|
249
|
+
function stateWithDocument(state, sourceDocumentId, document) {
|
|
250
|
+
const exists = state.documents.some((item) => item.documentId === document.id);
|
|
251
|
+
return {
|
|
252
|
+
...state,
|
|
253
|
+
latestDocumentId: document.id,
|
|
254
|
+
documents: exists
|
|
255
|
+
? state.documents
|
|
256
|
+
: [
|
|
257
|
+
...state.documents,
|
|
258
|
+
{
|
|
259
|
+
documentId: document.id,
|
|
260
|
+
invoiceNumber: document.invoice_number ?? null,
|
|
261
|
+
sourceDocumentId,
|
|
262
|
+
createdAt: new Date().toISOString(),
|
|
263
|
+
},
|
|
264
|
+
],
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
function stateFromReference(reference) {
|
|
268
|
+
const raw = reference?.nextState;
|
|
269
|
+
return raw && typeof raw === "object"
|
|
270
|
+
? raw
|
|
271
|
+
: null;
|
|
272
|
+
}
|
|
273
|
+
function invoiceWithModification(invoice, document) {
|
|
274
|
+
const now = new Date().toISOString();
|
|
275
|
+
return {
|
|
276
|
+
...invoice,
|
|
277
|
+
modificationDocumentId: document.id,
|
|
278
|
+
modificationInvoiceNumber: document.invoice_number ?? null,
|
|
279
|
+
modifiedAt: now,
|
|
280
|
+
updatedAt: now,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
async function retrieveFullOrder(orderService, orderId) {
|
|
284
|
+
return orderService.retrieveOrder(orderId, { relations: BILLINGO_ORDER_RELATIONS });
|
|
285
|
+
}
|
|
286
|
+
async function savePartialCredit(orderService, order, invoice, state, operation) {
|
|
287
|
+
await orderService.updateOrders([{
|
|
288
|
+
id: order.id,
|
|
289
|
+
metadata: {
|
|
290
|
+
...(order.metadata ?? {}),
|
|
291
|
+
billingo: invoice,
|
|
292
|
+
billingo_partial_credit_state: state,
|
|
293
|
+
billingo_operations: [...(0, actions_1.billingoOperations)(order.metadata), operation].slice(-100),
|
|
294
|
+
},
|
|
295
|
+
}]);
|
|
296
|
+
}
|
|
297
|
+
async function saveOperation(orderService, order, operation) {
|
|
298
|
+
await orderService.updateOrders([{
|
|
299
|
+
id: order.id,
|
|
300
|
+
metadata: {
|
|
301
|
+
...(order.metadata ?? {}),
|
|
302
|
+
billingo_operations: [...(0, actions_1.billingoOperations)(order.metadata), operation].slice(-100),
|
|
303
|
+
},
|
|
304
|
+
}]);
|
|
305
|
+
}
|
|
306
|
+
function successOperation(actorId, durationMs, document) {
|
|
307
|
+
return {
|
|
308
|
+
id: cryptoId(),
|
|
309
|
+
action: "modify",
|
|
310
|
+
status: "success",
|
|
311
|
+
actorId,
|
|
312
|
+
createdAt: new Date().toISOString(),
|
|
313
|
+
durationMs,
|
|
314
|
+
message: `A(z) ${document.invoice_number || document.id} részleges Billingo jóváíró/módosító bizonylat elkészült.`,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
function failedOperation(actorId, durationMs, message) {
|
|
318
|
+
return {
|
|
319
|
+
id: cryptoId(),
|
|
320
|
+
action: "modify",
|
|
321
|
+
status: "failed",
|
|
322
|
+
actorId,
|
|
323
|
+
createdAt: new Date().toISOString(),
|
|
324
|
+
durationMs,
|
|
325
|
+
message,
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
function cryptoId() {
|
|
329
|
+
return (0, node_crypto_1.createHash)("sha256")
|
|
330
|
+
.update(`${Date.now()}:${Math.random()}:${process.pid}`)
|
|
331
|
+
.digest("hex")
|
|
332
|
+
.slice(0, 32);
|
|
333
|
+
}
|
|
334
|
+
function dateOnly(value) { return value.toISOString().slice(0, 10); }
|
|
335
|
+
function money(value) { return Math.round((value + Number.EPSILON) * 100) / 100; }
|
|
336
|
+
function positive(value) { const number = Number(value); return Number.isFinite(number) && number >= 0 ? number : null; }
|
|
337
|
+
function text(value) { return typeof value === "string" && value.trim() ? value.trim() : null; }
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGlhbC1jcmVkaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZHVsZXMvYmlsbGluZ28vcGFydGlhbC1jcmVkaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFxREEsZ0VBb0NDO0FBRUQsMEVBb0tDO0FBL1BELDZDQUF3QztBQUN4Qyx1Q0FBK0U7QUFFL0UscUNBQXVFO0FBVXZFLHdFQUlxRDtBQU1yRCxNQUFNLHdCQUF3QixHQUFHO0lBQy9CLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsT0FBTztJQUNQLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsNEJBQTRCO0NBQzdCLENBQUE7QUF1QkQsU0FBZ0IsMEJBQTBCLENBQ3hDLFFBQXlDO0lBRXpDLE1BQU0sR0FBRyxHQUFHLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQTtJQUNuRCxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFBO0lBQ25ELENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxHQUEwQyxDQUFBO0lBQ3hELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVE7UUFDMUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQ2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQ2xELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FDMUQsQ0FBQyxHQUFHLENBQUMs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
|