@hszrdm/core 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +6223 -4784
- package/.medusa/server/src/admin/index.mjs +6224 -4785
- package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.js +26 -0
- package/.medusa/server/src/api/admin/billingo/advance/route.d.ts +8 -0
- package/.medusa/server/src/api/admin/billingo/advance/route.js +55 -0
- package/.medusa/server/src/api/admin/billingo/partial-credit/route.d.ts +8 -0
- package/.medusa/server/src/api/admin/billingo/partial-credit/route.js +69 -0
- package/.medusa/server/src/api/admin/documents/[id]/route.d.ts +22 -0
- package/.medusa/server/src/api/admin/documents/[id]/route.js +107 -0
- package/.medusa/server/src/api/admin/documents/route.d.ts +21 -0
- package/.medusa/server/src/api/admin/documents/route.js +117 -0
- package/.medusa/server/src/api/admin/google-ads/diagnostics/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-ads/diagnostics/route.js +26 -0
- package/.medusa/server/src/api/admin/google-ads/oauth/start/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-ads/oauth/start/route.js +27 -0
- package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.js +69 -0
- package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.js +26 -0
- package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.js +25 -0
- package/.medusa/server/src/api/admin/orders/[id]/shipping/route.js +28 -28
- package/.medusa/server/src/api/admin/shipping/mpl/close/route.d.ts +1 -1
- package/.medusa/server/src/api/admin/shipping/mpl/close/route.js +48 -70
- package/.medusa/server/src/api/auth/google-ads/callback/route.d.ts +2 -0
- package/.medusa/server/src/api/auth/google-ads/callback/route.js +58 -0
- package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.d.ts +2 -0
- package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.js +33 -0
- package/.medusa/server/src/api/feeds/google-merchant.xml/route.js +5 -3
- package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.d.ts +2 -0
- package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.js +211 -0
- package/.medusa/server/src/api/hooks/simplepay/ipn/route.js +113 -23
- package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.d.ts +2 -0
- package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.js +113 -0
- package/.medusa/server/src/api/store/arukereso/backlink/route.d.ts +2 -0
- package/.medusa/server/src/api/store/arukereso/backlink/route.js +73 -0
- package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.js +84 -0
- package/.medusa/server/src/api/store/arukereso/widget/route.d.ts +2 -0
- package/.medusa/server/src/api/store/arukereso/widget/route.js +64 -0
- package/.medusa/server/src/api/store/documents/route.d.ts +2 -0
- package/.medusa/server/src/api/store/documents/route.js +84 -0
- package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.d.ts +2 -0
- package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.js +50 -0
- package/.medusa/server/src/config.d.ts +3 -3
- package/.medusa/server/src/config.js +64 -87
- package/.medusa/server/src/core/documents.d.ts +31 -0
- package/.medusa/server/src/core/documents.js +47 -0
- package/.medusa/server/src/core/version.d.ts +2 -2
- package/.medusa/server/src/core/version.js +2 -2
- package/.medusa/server/src/lib/modules/arukereso/index.d.ts +1 -0
- package/.medusa/server/src/lib/modules/arukereso/index.js +2 -1
- package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.d.ts +19 -0
- package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.js +100 -0
- package/.medusa/server/src/lib/modules/billingo/actions.js +42 -12
- package/.medusa/server/src/lib/modules/billingo/advance.d.ts +68 -0
- package/.medusa/server/src/lib/modules/billingo/advance.js +309 -0
- package/.medusa/server/src/lib/modules/billingo/automation.js +49 -9
- package/.medusa/server/src/lib/modules/billingo/client.d.ts +5 -1
- package/.medusa/server/src/lib/modules/billingo/client.js +12 -6
- package/.medusa/server/src/lib/modules/billingo/index.d.ts +2 -0
- package/.medusa/server/src/lib/modules/billingo/index.js +3 -1
- package/.medusa/server/src/lib/modules/billingo/mapper.d.ts +38 -1
- package/.medusa/server/src/lib/modules/billingo/mapper.js +32 -1
- package/.medusa/server/src/lib/modules/billingo/partial-credit.d.ts +55 -0
- package/.medusa/server/src/lib/modules/billingo/partial-credit.js +338 -0
- package/.medusa/server/src/lib/modules/billingo/types.d.ts +7 -2
- package/.medusa/server/src/lib/modules/google-ads/adjustments.d.ts +21 -0
- package/.medusa/server/src/lib/modules/google-ads/adjustments.js +146 -0
- package/.medusa/server/src/lib/modules/google-ads/api.d.ts +23 -0
- package/.medusa/server/src/lib/modules/google-ads/api.js +171 -0
- package/.medusa/server/src/lib/modules/google-ads/diagnostics.d.ts +47 -0
- package/.medusa/server/src/lib/modules/google-ads/diagnostics.js +164 -0
- package/.medusa/server/src/lib/modules/google-merchant/category-fields.d.ts +7 -0
- package/.medusa/server/src/lib/modules/google-merchant/category-fields.js +210 -0
- package/.medusa/server/src/lib/modules/google-merchant/data-source.d.ts +17 -0
- package/.medusa/server/src/lib/modules/google-merchant/data-source.js +132 -0
- package/.medusa/server/src/lib/modules/google-merchant/diagnostics.d.ts +33 -0
- package/.medusa/server/src/lib/modules/google-merchant/diagnostics.js +113 -0
- package/.medusa/server/src/lib/modules/google-merchant/index.d.ts +5 -0
- package/.medusa/server/src/lib/modules/google-merchant/index.js +6 -1
- package/.medusa/server/src/lib/modules/google-merchant/merchant-api.d.ts +18 -0
- package/.medusa/server/src/lib/modules/google-merchant/merchant-api.js +120 -0
- package/.medusa/server/src/lib/modules/google-merchant/shipping.d.ts +13 -0
- package/.medusa/server/src/lib/modules/google-merchant/shipping.js +97 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/api.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/api.js +3 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/index.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/index.js +3 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/sync.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/sync.js +3 -0
- package/.medusa/server/src/lib/modules/shipping/actions.js +163 -352
- package/.medusa/server/src/lib/modules/shipping/durable-create.d.ts +2 -1
- package/.medusa/server/src/lib/modules/shipping/durable-create.js +33 -5
- package/.medusa/server/src/lib/modules/shipping/idempotency.js +4 -2
- package/.medusa/server/src/lib/modules/shipping/types.d.ts +1 -1
- package/.medusa/server/src/modules/core-documents/index.d.ts +38 -0
- package/.medusa/server/src/modules/core-documents/index.js +18 -0
- package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.d.ts +5 -0
- package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.js +22 -0
- package/.medusa/server/src/modules/core-documents/models/core-document-assignment.d.ts +9 -0
- package/.medusa/server/src/modules/core-documents/models/core-document-assignment.js +18 -0
- package/.medusa/server/src/modules/core-documents/models/core-document.d.ts +18 -0
- package/.medusa/server/src/modules/core-documents/models/core-document.js +27 -0
- package/.medusa/server/src/modules/core-documents/service.d.ts +38 -0
- package/.medusa/server/src/modules/core-documents/service.js +13 -0
- package/.medusa/server/src/modules/integration-operation/state.d.ts +1 -0
- package/.medusa/server/src/modules/integration-operation/state.js +11 -50
- package/.medusa/server/src/modules/integration-operation/types.d.ts +1 -1
- package/.medusa/server/src/modules/integration-settings/arukereso-registration.js +19 -2
- package/.medusa/server/src/modules/integration-settings/connection-test.js +14 -1
- package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.d.ts +2 -0
- package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.js +49 -0
- package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.js +35 -0
- package/.medusa/server/src/modules/integration-settings/google-merchant-registration.js +23 -2
- package/.medusa/server/src/modules/integration-settings/hot-reload-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/hot-reload-registration.js +23 -0
- package/.medusa/server/src/modules/integration-settings/index.d.ts +4 -0
- package/.medusa/server/src/modules/integration-settings/index.js +5 -1
- package/.medusa/server/src/modules/integration-settings/manager.js +38 -4
- package/.medusa/server/src/modules/integration-settings/reloadable.d.ts +10 -0
- package/.medusa/server/src/modules/integration-settings/reloadable.js +58 -0
- package/.medusa/server/src/modules/integration-settings/runtime-snapshot.d.ts +9 -0
- package/.medusa/server/src/modules/integration-settings/runtime-snapshot.js +48 -3
- package/.medusa/server/src/modules/integration-settings/simplepay-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/simplepay-registration.js +18 -0
- package/.medusa/server/src/modules/integration-settings/storefront-public-registration.js +15 -5
- package/.medusa/server/src/providers/csomagpiac/client.d.ts +25 -0
- package/.medusa/server/src/providers/csomagpiac/client.js +144 -0
- package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.d.ts +45 -0
- package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.js +221 -0
- package/.medusa/server/src/providers/csomagpiac/index.d.ts +7 -0
- package/.medusa/server/src/providers/csomagpiac/index.js +30 -0
- package/.medusa/server/src/providers/csomagpiac/service.d.ts +46 -0
- package/.medusa/server/src/providers/csomagpiac/service.js +226 -0
- package/.medusa/server/src/providers/csomagpiac/types.d.ts +65 -0
- package/.medusa/server/src/providers/csomagpiac/types.js +27 -0
- package/.medusa/server/src/providers/dpd/fulfillment-provider.d.ts +2 -1
- package/.medusa/server/src/providers/dpd/fulfillment-provider.js +83 -25
- package/.medusa/server/src/providers/dpd/service.js +5 -3
- package/.medusa/server/src/providers/email/service.d.ts +7 -6
- package/.medusa/server/src/providers/email/service.js +51 -25
- package/.medusa/server/src/providers/foxpost/foxpost-service.js +5 -9
- package/.medusa/server/src/providers/foxpost/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/foxpost/fulfillment-provider.js +76 -66
- package/.medusa/server/src/providers/gls/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/gls/fulfillment-provider.js +76 -13
- package/.medusa/server/src/providers/gls/gls-service.d.ts +16 -0
- package/.medusa/server/src/providers/gls/gls-service.js +26 -65
- package/.medusa/server/src/providers/gls/types.d.ts +15 -0
- package/.medusa/server/src/providers/mpl/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/mpl/fulfillment-provider.js +61 -186
- package/.medusa/server/src/providers/mpl/index.d.ts +2 -0
- package/.medusa/server/src/providers/mpl/index.js +7 -2
- package/.medusa/server/src/providers/mpl/service.d.ts +35 -1
- package/.medusa/server/src/providers/mpl/service.js +82 -370
- package/.medusa/server/src/providers/mpl/types.d.ts +18 -0
- package/.medusa/server/src/providers/mpl/types.js +1 -1
- package/.medusa/server/src/providers/packeta/client.d.ts +2 -1
- package/.medusa/server/src/providers/packeta/client.js +24 -2
- package/.medusa/server/src/providers/packeta/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/packeta/fulfillment-provider.js +73 -5
- package/.medusa/server/src/providers/packeta/service.d.ts +1 -0
- package/.medusa/server/src/providers/packeta/service.js +85 -22
- package/.medusa/server/src/providers/packeta/types.d.ts +26 -0
- package/.medusa/server/src/providers/packeta/types.js +1 -1
- package/.medusa/server/src/providers/resilient-stripe/index.d.ts +19 -1
- package/.medusa/server/src/providers/resilient-stripe/index.js +55 -3
- package/.medusa/server/src/providers/simplepay/config.js +11 -1
- package/.medusa/server/src/providers/simplepay/index.d.ts +2 -0
- package/.medusa/server/src/providers/simplepay/index.js +5 -3
- package/.medusa/server/src/providers/simplepay/runtime-service.d.ts +13 -0
- package/.medusa/server/src/providers/simplepay/runtime-service.js +55 -0
- package/.medusa/server/src/providers/simplepay/service.d.ts +2 -0
- package/.medusa/server/src/providers/simplepay/service.js +40 -5
- package/.medusa/server/src/subscribers/google-ads-order-canceled.d.ts +7 -0
- package/.medusa/server/src/subscribers/google-ads-order-canceled.js +50 -0
- package/.medusa/server/src/subscribers/google-ads-payment-refunded.d.ts +7 -0
- package/.medusa/server/src/subscribers/google-ads-payment-refunded.js +181 -0
- package/.medusa/server/src/subscribers/simplepay-paid-order-recovery.js +14 -1
- package/package.json +6 -2
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
+
const service_1 = require("./service");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
const durable_create_1 = require("../../lib/modules/shipping/durable-create");
|
|
7
|
+
const state_1 = require("../../modules/integration-operation/state");
|
|
8
|
+
const idempotency_1 = require("../../lib/modules/shipping/idempotency");
|
|
9
|
+
const cod_1 = require("../../lib/modules/cod");
|
|
10
|
+
class CsomagpiacFulfillmentProviderService extends utils_1.AbstractFulfillmentProviderService {
|
|
11
|
+
constructor(container = {}, options = {}) {
|
|
12
|
+
super();
|
|
13
|
+
this.operationStore_ = container.integrationOperation;
|
|
14
|
+
this.csomagpiac_ = new service_1.CsomagpiacService(configFromProviderOptions(options));
|
|
15
|
+
}
|
|
16
|
+
async getFulfillmentOptions() {
|
|
17
|
+
return [{
|
|
18
|
+
id: "csomagpiac",
|
|
19
|
+
code: "csomagpiac",
|
|
20
|
+
name: "Csomagpiac szállítás",
|
|
21
|
+
delivery_type: "HOME",
|
|
22
|
+
deliveryType: "HOME",
|
|
23
|
+
}];
|
|
24
|
+
}
|
|
25
|
+
async validateFulfillmentData(_optionData, data, context) {
|
|
26
|
+
validateRecipient(context.shipping_address, context.email);
|
|
27
|
+
const selection = data.csomagpiac && typeof data.csomagpiac === "object"
|
|
28
|
+
? data.csomagpiac
|
|
29
|
+
: data;
|
|
30
|
+
const pickupPointId = positiveInteger(selection.pickupPointId ?? selection.pickup_point_id) ?? this.csomagpiac_.config.pickupPointId;
|
|
31
|
+
if (!pickupPointId) {
|
|
32
|
+
throw new types_1.CsomagpiacValidationError("A Csomagpiac felvételi cím azonosítója nincs beállítva.");
|
|
33
|
+
}
|
|
34
|
+
const weightKg = positiveNumber(selection.weightKg ?? selection.weight_kg) ?? this.csomagpiac_.config.defaultWeightKg;
|
|
35
|
+
const services = normalizeServices(selection.services);
|
|
36
|
+
const insuredValue = nonNegativeNumber(selection.insuredValue ?? selection.insured_value);
|
|
37
|
+
return {
|
|
38
|
+
...(0, cod_1.normalizeCodShippingData)(data),
|
|
39
|
+
csomagpiac: {
|
|
40
|
+
pickupPointId,
|
|
41
|
+
weightKg,
|
|
42
|
+
codAmount: 0,
|
|
43
|
+
status: "CREATED",
|
|
44
|
+
...(services.length ? { services } : {}),
|
|
45
|
+
...(insuredValue == null ? {} : { insuredValue }),
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async validateOption(data) {
|
|
50
|
+
return String(data.id ?? data.code ?? "") === "csomagpiac";
|
|
51
|
+
}
|
|
52
|
+
async canCalculate(_data) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
async calculatePrice(_optionData, data, context) {
|
|
56
|
+
const subtotal = Number(context.subtotal ?? 0);
|
|
57
|
+
const threshold = this.csomagpiac_.config.freeShippingThresholdHuf;
|
|
58
|
+
const baseAmount = threshold != null && Number.isFinite(subtotal) && subtotal >= threshold
|
|
59
|
+
? 0
|
|
60
|
+
: this.csomagpiac_.config.priceHuf;
|
|
61
|
+
return {
|
|
62
|
+
calculated_amount: (0, cod_1.codShippingPrice)(baseAmount, data, context.currency_code),
|
|
63
|
+
is_calculated_price_tax_inclusive: true,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
async createFulfillment(data, _items, order, fulfillment) {
|
|
67
|
+
if (!this.csomagpiac_.client.isConfigured())
|
|
68
|
+
throw new types_1.CsomagpiacConfigError();
|
|
69
|
+
const shipment = extractShipment(data, order?.metadata);
|
|
70
|
+
const orderId = order?.id ?? String(fulfillment.id ?? "unknown");
|
|
71
|
+
const codAmount = (0, cod_1.codAmountForFulfillment)(data, order);
|
|
72
|
+
const rawOrder = order;
|
|
73
|
+
const virtualOrder = {
|
|
74
|
+
id: orderId,
|
|
75
|
+
display_id: order?.display_id,
|
|
76
|
+
email: order?.email,
|
|
77
|
+
total: rawOrder?.total,
|
|
78
|
+
currency_code: rawOrder?.currency_code,
|
|
79
|
+
shipping_address: order?.shipping_address,
|
|
80
|
+
metadata: {
|
|
81
|
+
...(order?.metadata ?? {}),
|
|
82
|
+
csomagpiac: { ...shipment, codAmount },
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
const created = await (0, durable_create_1.runDurableShipmentCreate)({
|
|
86
|
+
operationStore: this.operationStore_,
|
|
87
|
+
carrier: "csomagpiac",
|
|
88
|
+
orderId,
|
|
89
|
+
cancelledExternalId: (0, idempotency_1.cancelledShipmentExternalId)("csomagpiac", shipment),
|
|
90
|
+
create: () => this.csomagpiac_.createShipment(virtualOrder),
|
|
91
|
+
});
|
|
92
|
+
return {
|
|
93
|
+
data: {
|
|
94
|
+
...data,
|
|
95
|
+
csomagpiac: created,
|
|
96
|
+
identifier: created.identifier,
|
|
97
|
+
tracking_number: created.trackingNumber,
|
|
98
|
+
},
|
|
99
|
+
labels: created.trackingNumber
|
|
100
|
+
? [{ tracking_number: created.trackingNumber, tracking_url: "", label_url: "" }]
|
|
101
|
+
: [],
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
async cancelFulfillment(data) {
|
|
105
|
+
const shipment = extractShipment(data);
|
|
106
|
+
if (!shipment.identifier || String(shipment.status).toUpperCase() === "CANCELLED") {
|
|
107
|
+
return { ...data, csomagpiac: shipment };
|
|
108
|
+
}
|
|
109
|
+
const cancelled = await this.runDurableDelete(shipment);
|
|
110
|
+
return { ...data, csomagpiac: cancelled };
|
|
111
|
+
}
|
|
112
|
+
async createReturnFulfillment(_fulfillment) {
|
|
113
|
+
throw new types_1.CsomagpiacValidationError("A Csomagpiac API v1 nem dokumentál általános visszáru-létrehozási végpontot.");
|
|
114
|
+
}
|
|
115
|
+
async getFulfillmentDocuments(_data) { return []; }
|
|
116
|
+
async retrieveDocuments(_fulfillmentData, _documentType) { return; }
|
|
117
|
+
async getReturnDocuments(_data) { return []; }
|
|
118
|
+
async getShipmentDocuments(_data) { return []; }
|
|
119
|
+
async runDurableDelete(shipment) {
|
|
120
|
+
const identifier = shipment.identifier;
|
|
121
|
+
if (!this.operationStore_) {
|
|
122
|
+
if (process.env.NODE_ENV === "production") {
|
|
123
|
+
throw new Error("A durable integration operation store nem érhető el; production környezetben a Csomagpiac törlés biztonsági okból leállt.");
|
|
124
|
+
}
|
|
125
|
+
return this.csomagpiac_.cancelShipment(shipment);
|
|
126
|
+
}
|
|
127
|
+
const acquired = await (0, state_1.acquireOperation)(this.operationStore_, {
|
|
128
|
+
provider: "csomagpiac",
|
|
129
|
+
operation_type: "shipment.delete",
|
|
130
|
+
entity_type: "shipment",
|
|
131
|
+
entity_id: identifier,
|
|
132
|
+
external_id: identifier,
|
|
133
|
+
idempotency_key: `csomagpiac:shipment:delete:${identifier}`,
|
|
134
|
+
reference_data: { carrier: "csomagpiac", action: "delete", shipment_external_id: identifier },
|
|
135
|
+
});
|
|
136
|
+
if (!acquired.acquired) {
|
|
137
|
+
const saved = acquired.operation.reference_data?.shipment;
|
|
138
|
+
if (acquired.operation.status === "succeeded" && saved && typeof saved === "object") {
|
|
139
|
+
return saved;
|
|
140
|
+
}
|
|
141
|
+
if (acquired.operation.status === "needs_reconciliation") {
|
|
142
|
+
throw new Error("A korábbi Csomagpiac törlés egyeztetést igényel; nem ismételhető biztonságosan.");
|
|
143
|
+
}
|
|
144
|
+
throw new Error("A Csomagpiac törlés már folyamatban van.");
|
|
145
|
+
}
|
|
146
|
+
let remoteSucceeded = false;
|
|
147
|
+
let cancelled;
|
|
148
|
+
try {
|
|
149
|
+
cancelled = await this.csomagpiac_.cancelShipment(shipment);
|
|
150
|
+
remoteSucceeded = true;
|
|
151
|
+
await (0, state_1.operationSucceeded)(this.operationStore_, acquired.operation, identifier, {
|
|
152
|
+
carrier: "csomagpiac",
|
|
153
|
+
action: "delete",
|
|
154
|
+
shipment: cancelled,
|
|
155
|
+
});
|
|
156
|
+
return cancelled;
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
try {
|
|
160
|
+
await (0, state_1.operationFailed)(this.operationStore_, acquired.operation, error, remoteSucceeded || (0, durable_create_1.isUncertainRemoteFailure)(error), identifier, cancelled ? { carrier: "csomagpiac", action: "delete", shipment: cancelled } : undefined);
|
|
161
|
+
}
|
|
162
|
+
catch { }
|
|
163
|
+
throw error;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
CsomagpiacFulfillmentProviderService.identifier = "csomagpiac";
|
|
168
|
+
exports.default = CsomagpiacFulfillmentProviderService;
|
|
169
|
+
function configFromProviderOptions(options) {
|
|
170
|
+
const env = (0, service_1.loadCsomagpiacConfig)();
|
|
171
|
+
return {
|
|
172
|
+
...env,
|
|
173
|
+
apiUrl: options.api_url || env.apiUrl,
|
|
174
|
+
token: options.token || env.token,
|
|
175
|
+
username: options.username || env.username,
|
|
176
|
+
password: options.password || env.password,
|
|
177
|
+
live: options.live ?? env.live,
|
|
178
|
+
pickupPointId: positiveInteger(options.pickup_point_id) ?? env.pickupPointId,
|
|
179
|
+
priceHuf: positiveNumber(options.price_huf) ?? env.priceHuf,
|
|
180
|
+
freeShippingThresholdHuf: positiveNumber(options.free_shipping_threshold_huf) ?? env.freeShippingThresholdHuf,
|
|
181
|
+
timeoutMs: positiveNumber(options.timeout_ms) ?? env.timeoutMs,
|
|
182
|
+
defaultWeightKg: positiveNumber(options.default_weight_kg) ?? env.defaultWeightKg,
|
|
183
|
+
labelFormat: options.label_format === "A6" ? "A6" : options.label_format === "A4" ? "A4" : env.labelFormat,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
function extractShipment(...sources) {
|
|
187
|
+
for (const source of sources) {
|
|
188
|
+
const raw = source?.csomagpiac;
|
|
189
|
+
if (raw && typeof raw === "object")
|
|
190
|
+
return raw;
|
|
191
|
+
}
|
|
192
|
+
throw new types_1.CsomagpiacValidationError("A rendelés nem Csomagpiac szállítású.");
|
|
193
|
+
}
|
|
194
|
+
function validateRecipient(address, email) {
|
|
195
|
+
if (!/^\S+@\S+\.\S+$/.test(String(email ?? "").trim())) {
|
|
196
|
+
throw new types_1.CsomagpiacValidationError("Érvényes e-mail-cím szükséges a Csomagpiac szállításhoz.");
|
|
197
|
+
}
|
|
198
|
+
if (![address?.first_name, address?.last_name].some((value) => String(value ?? "").trim())) {
|
|
199
|
+
throw new types_1.CsomagpiacValidationError("Címzettnév szükséges a Csomagpiac szállításhoz.");
|
|
200
|
+
}
|
|
201
|
+
for (const value of [address?.phone, address?.postal_code, address?.city, address?.address_1]) {
|
|
202
|
+
if (!String(value ?? "").trim())
|
|
203
|
+
throw new types_1.CsomagpiacValidationError("Hiányos szállítási cím a Csomagpiac szállításhoz.");
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function normalizeServices(value) {
|
|
207
|
+
if (!Array.isArray(value))
|
|
208
|
+
return [];
|
|
209
|
+
return value.flatMap((item) => {
|
|
210
|
+
if (!item || typeof item !== "object")
|
|
211
|
+
return [];
|
|
212
|
+
const record = item;
|
|
213
|
+
const name = String(record.name ?? "").trim();
|
|
214
|
+
const serviceValue = String(record.value ?? "").trim();
|
|
215
|
+
return name && serviceValue ? [{ name, value: serviceValue }] : [];
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
function positiveInteger(value) { const n = Number(value); return Number.isInteger(n) && n > 0 ? n : undefined; }
|
|
219
|
+
function positiveNumber(value) { const n = Number(value); return Number.isFinite(n) && n > 0 ? n : undefined; }
|
|
220
|
+
function nonNegativeNumber(value) { const n = Number(value); return Number.isFinite(n) && n >= 0 ? n : undefined; }
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2Nzb21hZ3BpYWMvZnVsZmlsbG1lbnQtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBOEU7QUFZOUUsdUNBQW1FO0FBQ25FLG1DQU1nQjtBQUNoQiw4RUFBOEc7QUFDOUcscUVBQWlIO0FBRWpILHdFQUF3RztBQUN4RywrQ0FBMkc7QUFxQjNHLE1BQXFCLG9DQUFxQyxTQUFRLDBDQUFrQztJQUtsRyxZQUFZLFlBQWtDLEVBQUUsRUFBRSxVQUEyQixFQUFFO1FBQzdFLEtBQUssRUFBRSxDQUFBO1FBQ1AsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsb0JBQW9CLENBQUE7UUFDckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLDJCQUFpQixDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDOUUsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUI7UUFDekIsT0FBTyxDQUFDO2dCQUNOLEVBQUUsRUFBRSxZQUFZO2dCQUNoQixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLHNCQUFzQjtnQkFDNUIsYUFBYSxFQUFFLE1BQU07Z0JBQ3JCLFlBQVksRUFBRSxNQUFNO2FBQ3JCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQzNCLFdBQW9DLEVBQ3BDLElBQTZCLEVBQzdCLE9BQXVDO1FBRXZDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDMUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUTtZQUN0RSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQXFDO1lBQzVDLENBQUMsQ0FBQyxJQUFJ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
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import CsomagpiacFulfillmentProviderService from "./fulfillment-provider";
|
|
2
|
+
declare const _default: import("@medusajs/types").ModuleProviderExports;
|
|
3
|
+
export default _default;
|
|
4
|
+
export * from "./types";
|
|
5
|
+
export * from "./client";
|
|
6
|
+
export * from "./service";
|
|
7
|
+
export { CsomagpiacFulfillmentProviderService };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.CsomagpiacFulfillmentProviderService = void 0;
|
|
21
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
22
|
+
const fulfillment_provider_1 = __importDefault(require("./fulfillment-provider"));
|
|
23
|
+
exports.CsomagpiacFulfillmentProviderService = fulfillment_provider_1.default;
|
|
24
|
+
exports.default = (0, utils_1.ModuleProvider)(utils_1.Modules.FULFILLMENT, {
|
|
25
|
+
services: [fulfillment_provider_1.default],
|
|
26
|
+
});
|
|
27
|
+
__exportStar(require("./types"), exports);
|
|
28
|
+
__exportStar(require("./client"), exports);
|
|
29
|
+
__exportStar(require("./service"), exports);
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2Nzb21hZ3BpYWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUU7QUFDbkUsa0ZBQXlFO0FBU2hFLCtDQVRGLDhCQUFvQyxDQVNFO0FBUDdDLGtCQUFlLElBQUEsc0JBQWMsRUFBQyxlQUFPLENBQUMsV0FBVyxFQUFFO0lBQ2pELFFBQVEsRUFBRSxDQUFDLDhCQUFvQyxDQUFDO0NBQ2pELENBQUMsQ0FBQTtBQUVGLDBDQUF1QjtBQUN2QiwyQ0FBd0I7QUFDeEIsNENBQXlCIn0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CsomagpiacClient } from "./client";
|
|
2
|
+
import { type CsomagpiacConfig, type CsomagpiacShipmentData } from "./types";
|
|
3
|
+
export declare const CSOMAGPIAC_LIVE_URL = "https://bestr.csomagpiac.hu/api/v1/";
|
|
4
|
+
export declare const CSOMAGPIAC_TEST_URL = "https://demo.csomagpiac.hu/api/v1/";
|
|
5
|
+
export declare function loadCsomagpiacConfig(env?: NodeJS.ProcessEnv): CsomagpiacConfig;
|
|
6
|
+
export declare class CsomagpiacService {
|
|
7
|
+
private readonly fallbackConfig?;
|
|
8
|
+
private readonly runtimeClient;
|
|
9
|
+
constructor(fallbackConfig?: CsomagpiacConfig | undefined);
|
|
10
|
+
get config(): CsomagpiacConfig;
|
|
11
|
+
get client(): CsomagpiacClient;
|
|
12
|
+
extractShipment(order: {
|
|
13
|
+
metadata?: Record<string, unknown> | null;
|
|
14
|
+
}): CsomagpiacShipmentData | null;
|
|
15
|
+
createShipment(order: Record<string, unknown>): Promise<CsomagpiacShipmentData | {
|
|
16
|
+
pickupPointId: number;
|
|
17
|
+
weightKg: number;
|
|
18
|
+
identifier: string;
|
|
19
|
+
trackingNumber: string;
|
|
20
|
+
status: string;
|
|
21
|
+
statusText: string | undefined;
|
|
22
|
+
statusUpdatedAt: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
remote: Record<string, any>;
|
|
25
|
+
services?: import("./types").CsomagpiacServiceSelection[];
|
|
26
|
+
codAmount: number;
|
|
27
|
+
insuredValue?: number;
|
|
28
|
+
}>;
|
|
29
|
+
refreshStatus(shipment: CsomagpiacShipmentData): Promise<{
|
|
30
|
+
status: string;
|
|
31
|
+
statusText: string | undefined;
|
|
32
|
+
trackingNumber: string | undefined;
|
|
33
|
+
statusUpdatedAt: string;
|
|
34
|
+
remote: Record<string, any>;
|
|
35
|
+
pickupPointId: number;
|
|
36
|
+
weightKg: number;
|
|
37
|
+
services?: import("./types").CsomagpiacServiceSelection[];
|
|
38
|
+
codAmount: number;
|
|
39
|
+
insuredValue?: number;
|
|
40
|
+
identifier?: string;
|
|
41
|
+
createdAt?: string;
|
|
42
|
+
}>;
|
|
43
|
+
cancelShipment(shipment: CsomagpiacShipmentData): Promise<CsomagpiacShipmentData>;
|
|
44
|
+
getLabel(shipment: CsomagpiacShipmentData, format?: "A4" | "A6"): Promise<Buffer<ArrayBuffer>>;
|
|
45
|
+
}
|
|
46
|
+
export declare const csomagpiacService: CsomagpiacService;
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.csomagpiacService = exports.CsomagpiacService = exports.CSOMAGPIAC_TEST_URL = exports.CSOMAGPIAC_LIVE_URL = void 0;
|
|
4
|
+
exports.loadCsomagpiacConfig = loadCsomagpiacConfig;
|
|
5
|
+
const client_1 = require("./client");
|
|
6
|
+
const reloadable_1 = require("../../modules/integration-settings/reloadable");
|
|
7
|
+
const types_1 = require("./types");
|
|
8
|
+
exports.CSOMAGPIAC_LIVE_URL = "https://bestr.csomagpiac.hu/api/v1/";
|
|
9
|
+
exports.CSOMAGPIAC_TEST_URL = "https://demo.csomagpiac.hu/api/v1/";
|
|
10
|
+
function loadCsomagpiacConfig(env = process.env) {
|
|
11
|
+
const live = env.CSOMAGPIAC_LIVE === "true";
|
|
12
|
+
return {
|
|
13
|
+
apiUrl: env.CSOMAGPIAC_API_URL?.trim() ||
|
|
14
|
+
(live ? exports.CSOMAGPIAC_LIVE_URL : exports.CSOMAGPIAC_TEST_URL),
|
|
15
|
+
token: clean(env.CSOMAGPIAC_TOKEN),
|
|
16
|
+
username: clean(env.CSOMAGPIAC_USERNAME),
|
|
17
|
+
password: clean(env.CSOMAGPIAC_PASSWORD),
|
|
18
|
+
live,
|
|
19
|
+
pickupPointId: positiveInteger(env.CSOMAGPIAC_PICKUP_POINT_ID),
|
|
20
|
+
priceHuf: positiveNumber(env.CSOMAGPIAC_PRICE_HUF) ?? 1990,
|
|
21
|
+
freeShippingThresholdHuf: positiveNumber(env.CSOMAGPIAC_FREE_SHIPPING_THRESHOLD_HUF),
|
|
22
|
+
timeoutMs: positiveNumber(env.CSOMAGPIAC_TIMEOUT_MS) ?? 15000,
|
|
23
|
+
defaultWeightKg: positiveNumber(env.CSOMAGPIAC_DEFAULT_WEIGHT_KG) ?? 1,
|
|
24
|
+
labelFormat: env.CSOMAGPIAC_LABEL_FORMAT === "A6" ? "A6" : "A4",
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
class CsomagpiacService {
|
|
28
|
+
constructor(fallbackConfig) {
|
|
29
|
+
this.fallbackConfig = fallbackConfig;
|
|
30
|
+
this.runtimeClient = (0, reloadable_1.createReloadableIntegrationService)(() => new client_1.CsomagpiacClient(this.config));
|
|
31
|
+
}
|
|
32
|
+
get config() {
|
|
33
|
+
const runtime = loadCsomagpiacConfig();
|
|
34
|
+
const fallback = this.fallbackConfig;
|
|
35
|
+
if (!fallback)
|
|
36
|
+
return runtime;
|
|
37
|
+
const has = (name) => Object.prototype.hasOwnProperty.call(process.env, name);
|
|
38
|
+
return {
|
|
39
|
+
...fallback,
|
|
40
|
+
...runtime,
|
|
41
|
+
apiUrl: has("CSOMAGPIAC_API_URL") ? runtime.apiUrl : fallback.apiUrl || runtime.apiUrl,
|
|
42
|
+
token: has("CSOMAGPIAC_TOKEN") ? clean(process.env.CSOMAGPIAC_TOKEN) : fallback.token,
|
|
43
|
+
username: has("CSOMAGPIAC_USERNAME") ? clean(process.env.CSOMAGPIAC_USERNAME) : fallback.username,
|
|
44
|
+
password: has("CSOMAGPIAC_PASSWORD") ? clean(process.env.CSOMAGPIAC_PASSWORD) : fallback.password,
|
|
45
|
+
live: has("CSOMAGPIAC_LIVE") ? process.env.CSOMAGPIAC_LIVE === "true" : fallback.live,
|
|
46
|
+
pickupPointId: has("CSOMAGPIAC_PICKUP_POINT_ID") ? runtime.pickupPointId : fallback.pickupPointId,
|
|
47
|
+
priceHuf: has("CSOMAGPIAC_PRICE_HUF") ? runtime.priceHuf : fallback.priceHuf,
|
|
48
|
+
freeShippingThresholdHuf: has("CSOMAGPIAC_FREE_SHIPPING_THRESHOLD_HUF")
|
|
49
|
+
? runtime.freeShippingThresholdHuf
|
|
50
|
+
: fallback.freeShippingThresholdHuf,
|
|
51
|
+
timeoutMs: has("CSOMAGPIAC_TIMEOUT_MS") ? runtime.timeoutMs : fallback.timeoutMs,
|
|
52
|
+
defaultWeightKg: has("CSOMAGPIAC_DEFAULT_WEIGHT_KG") ? runtime.defaultWeightKg : fallback.defaultWeightKg,
|
|
53
|
+
labelFormat: has("CSOMAGPIAC_LABEL_FORMAT") ? runtime.labelFormat : fallback.labelFormat,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
get client() {
|
|
57
|
+
return this.runtimeClient;
|
|
58
|
+
}
|
|
59
|
+
extractShipment(order) {
|
|
60
|
+
const raw = order.metadata?.csomagpiac;
|
|
61
|
+
return raw && typeof raw === "object" ? raw : null;
|
|
62
|
+
}
|
|
63
|
+
async createShipment(order) {
|
|
64
|
+
const client = this.client;
|
|
65
|
+
if (!client.isConfigured())
|
|
66
|
+
throw new types_1.CsomagpiacConfigError();
|
|
67
|
+
const config = this.config;
|
|
68
|
+
const current = this.extractShipment(order);
|
|
69
|
+
if (!current)
|
|
70
|
+
throw new types_1.CsomagpiacValidationError("A rendelés nem Csomagpiac szállítású.");
|
|
71
|
+
if (current.identifier && String(current.status).toUpperCase() !== "CANCELLED")
|
|
72
|
+
return current;
|
|
73
|
+
const address = asRecord(order.shipping_address);
|
|
74
|
+
const pickupPointId = positiveInteger(current.pickupPointId) ?? config.pickupPointId;
|
|
75
|
+
if (!pickupPointId)
|
|
76
|
+
throw new types_1.CsomagpiacValidationError("Hiányzik a Csomagpiac felvételi cím azonosítója.");
|
|
77
|
+
const recipientName = [address.first_name, address.last_name]
|
|
78
|
+
.map((value) => String(value ?? "").trim())
|
|
79
|
+
.filter(Boolean)
|
|
80
|
+
.join(" ");
|
|
81
|
+
const recipientEmail = String(order.email ?? "").trim();
|
|
82
|
+
const recipientPhone = String(address.phone ?? "").trim();
|
|
83
|
+
const recipientZip = String(address.postal_code ?? "").trim();
|
|
84
|
+
const recipientCity = String(address.city ?? "").trim();
|
|
85
|
+
const recipientAddress = [address.address_1, address.address_2]
|
|
86
|
+
.map((value) => String(value ?? "").trim())
|
|
87
|
+
.filter(Boolean)
|
|
88
|
+
.join(" ");
|
|
89
|
+
const recipientCountryCode = String(address.country_code ?? "HU").trim().toUpperCase();
|
|
90
|
+
for (const [label, value] of [
|
|
91
|
+
["címzett neve", recipientName],
|
|
92
|
+
["címzett e-mail-címe", recipientEmail],
|
|
93
|
+
["címzett telefonszáma", recipientPhone],
|
|
94
|
+
["irányítószám", recipientZip],
|
|
95
|
+
["város", recipientCity],
|
|
96
|
+
["cím", recipientAddress],
|
|
97
|
+
]) {
|
|
98
|
+
if (!value)
|
|
99
|
+
throw new types_1.CsomagpiacValidationError(`Hiányzik a Csomagpiac küldemény ${label} mezője.`);
|
|
100
|
+
}
|
|
101
|
+
const weightKg = positiveNumber(current.weightKg) ?? config.defaultWeightKg;
|
|
102
|
+
const orderTotal = nonNegativeNumber(order.total);
|
|
103
|
+
const payload = {
|
|
104
|
+
pickupPointId,
|
|
105
|
+
recipientName: recipientName.slice(0, 40),
|
|
106
|
+
recipientCountryCode: recipientCountryCode.slice(0, 3),
|
|
107
|
+
recipientZip: recipientZip.slice(0, 10),
|
|
108
|
+
recipientCity: recipientCity.slice(0, 40),
|
|
109
|
+
recipientAddress: recipientAddress.slice(0, 40),
|
|
110
|
+
recipientPhone: recipientPhone.slice(0, 20),
|
|
111
|
+
recipientEmail: recipientEmail.slice(0, 100),
|
|
112
|
+
packageCount: 1,
|
|
113
|
+
weights: [Math.max(1, Math.round(weightKg * 1000))],
|
|
114
|
+
weightUnit: "g",
|
|
115
|
+
reference: String(order.display_id ?? order.id ?? "").slice(0, 100),
|
|
116
|
+
...(orderTotal == null ? {} : { parcelValue: Math.round(orderTotal) }),
|
|
117
|
+
...(current.codAmount > 0 ? { cashOnDelivery: Math.round(current.codAmount) } : {}),
|
|
118
|
+
...(current.insuredValue == null ? {} : { insuredValue: Math.round(current.insuredValue) }),
|
|
119
|
+
...(current.services?.length ? { services: current.services } : {}),
|
|
120
|
+
};
|
|
121
|
+
const response = asRecord(await client.createShipment(payload));
|
|
122
|
+
const identifier = remoteIdentifier(response);
|
|
123
|
+
if (!identifier) {
|
|
124
|
+
throw new types_1.CsomagpiacError("A Csomagpiac sikeresnek tűnő válasza nem tartalmazott küldeményazonosítót.", { remoteOutcomeUncertain: true });
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
...current,
|
|
128
|
+
pickupPointId,
|
|
129
|
+
weightKg,
|
|
130
|
+
identifier,
|
|
131
|
+
trackingNumber: remoteTrackingNumber(response) ?? identifier,
|
|
132
|
+
status: normalizeStatus(response) ?? "CREATED",
|
|
133
|
+
statusText: remoteStatusText(response),
|
|
134
|
+
statusUpdatedAt: new Date().toISOString(),
|
|
135
|
+
createdAt: new Date().toISOString(),
|
|
136
|
+
remote: response,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
async refreshStatus(shipment) {
|
|
140
|
+
if (!shipment.identifier)
|
|
141
|
+
throw new types_1.CsomagpiacValidationError("Hiányzik a Csomagpiac küldeményazonosító.");
|
|
142
|
+
const response = asRecord(await this.client.getShipmentStatus(shipment.identifier));
|
|
143
|
+
return {
|
|
144
|
+
...shipment,
|
|
145
|
+
status: normalizeStatus(response) ?? shipment.status,
|
|
146
|
+
statusText: remoteStatusText(response) ?? shipment.statusText,
|
|
147
|
+
trackingNumber: remoteTrackingNumber(response) ?? shipment.trackingNumber,
|
|
148
|
+
statusUpdatedAt: new Date().toISOString(),
|
|
149
|
+
remote: response,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
async cancelShipment(shipment) {
|
|
153
|
+
if (!shipment.identifier || String(shipment.status).toUpperCase() === "CANCELLED")
|
|
154
|
+
return shipment;
|
|
155
|
+
await this.client.deleteShipment(shipment.identifier);
|
|
156
|
+
return {
|
|
157
|
+
...shipment,
|
|
158
|
+
status: "CANCELLED",
|
|
159
|
+
statusText: "Törölve",
|
|
160
|
+
statusUpdatedAt: new Date().toISOString(),
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
async getLabel(shipment, format) {
|
|
164
|
+
if (!shipment.identifier)
|
|
165
|
+
throw new types_1.CsomagpiacValidationError("Hiányzik a Csomagpiac küldeményazonosító.");
|
|
166
|
+
return this.client.downloadShipmentLabel(shipment.identifier, format ?? this.config.labelFormat);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.CsomagpiacService = CsomagpiacService;
|
|
170
|
+
exports.csomagpiacService = new CsomagpiacService();
|
|
171
|
+
function remoteIdentifier(response) {
|
|
172
|
+
const data = asRecord(response.data);
|
|
173
|
+
return firstString(response.identifier, response.cspIdentifier, response.shipmentIdentifier, response.id, data.identifier, data.cspIdentifier, data.shipmentIdentifier, data.id);
|
|
174
|
+
}
|
|
175
|
+
function remoteTrackingNumber(response) {
|
|
176
|
+
const data = asRecord(response.data);
|
|
177
|
+
return firstString(response.trackingNumber, response.tracking_number, response.parcelNumber, response.parcel_number, data.trackingNumber, data.tracking_number, data.parcelNumber, data.parcel_number);
|
|
178
|
+
}
|
|
179
|
+
function remoteStatusText(response) {
|
|
180
|
+
const data = asRecord(response.data);
|
|
181
|
+
return firstString(response.statusName, response.statusText, response.status, data.statusName, data.statusText, data.status);
|
|
182
|
+
}
|
|
183
|
+
function normalizeStatus(response) {
|
|
184
|
+
const raw = (remoteStatusText(response) ?? "").toLocaleLowerCase("hu-HU");
|
|
185
|
+
if (!raw)
|
|
186
|
+
return undefined;
|
|
187
|
+
if (raw.includes("kézbes") || raw.includes("deliver"))
|
|
188
|
+
return "DELIVERED";
|
|
189
|
+
if (raw.includes("vissza") || raw.includes("return"))
|
|
190
|
+
return "RETURNED";
|
|
191
|
+
if (raw.includes("töröl") || raw.includes("cancel"))
|
|
192
|
+
return "CANCELLED";
|
|
193
|
+
if (raw.includes("hiba") || raw.includes("error") || raw.includes("sikertelen"))
|
|
194
|
+
return "ERROR";
|
|
195
|
+
if (raw.includes("száll") || raw.includes("úton") || raw.includes("transit") || raw.includes("futár"))
|
|
196
|
+
return "IN_TRANSIT";
|
|
197
|
+
return "CREATED";
|
|
198
|
+
}
|
|
199
|
+
function asRecord(value) {
|
|
200
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
201
|
+
}
|
|
202
|
+
function clean(value) {
|
|
203
|
+
const text = String(value ?? "").trim();
|
|
204
|
+
return text || undefined;
|
|
205
|
+
}
|
|
206
|
+
function firstString(...values) {
|
|
207
|
+
for (const value of values) {
|
|
208
|
+
const text = clean(value);
|
|
209
|
+
if (text)
|
|
210
|
+
return text;
|
|
211
|
+
}
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
function positiveInteger(value) {
|
|
215
|
+
const number = Number(value);
|
|
216
|
+
return Number.isInteger(number) && number > 0 ? number : undefined;
|
|
217
|
+
}
|
|
218
|
+
function positiveNumber(value) {
|
|
219
|
+
const number = Number(value);
|
|
220
|
+
return Number.isFinite(number) && number > 0 ? number : undefined;
|
|
221
|
+
}
|
|
222
|
+
function nonNegativeNumber(value) {
|
|
223
|
+
const number = Number(value);
|
|
224
|
+
return Number.isFinite(number) && number >= 0 ? number : undefined;
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvY3NvbWFncGlhYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBLG9EQWlCQztBQS9CRCxxQ0FBMkM7QUFDM0MsOEVBQWtHO0FBQ2xHLG1DQU9nQjtBQUVILFFBQUEsbUJBQW1CLEdBQUcscUNBQXFDLENBQUE7QUFDM0QsUUFBQSxtQkFBbUIsR0FBRyxvQ0FBb0MsQ0FBQTtBQUV2RSxTQUFnQixvQkFBb0IsQ0FBQyxNQUF5QixPQUFPLENBQUMsR0FBRztJQUN2RSxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxLQUFLLE1BQU0sQ0FBQTtJQUMzQyxPQUFPO1FBQ0wsTUFBTSxFQUNKLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUU7WUFDOUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLDJCQUFtQixDQUFDLENBQUMsQ0FBQywyQkFBbUIsQ0FBQztRQUNwRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNsQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztRQUN4QyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztRQUN4QyxJQUFJO1FBQ0osYUFBYSxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUM7UUFDOUQsUUFBUSxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxJQUFJO1FBQzFELHdCQUF3QixFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUM7UUFDcEYsU0FBUyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsSUFBSSxLQUFLO1FBQzdELGVBQWUsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLElBQUks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
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export type CsomagpiacConfig = {
|
|
2
|
+
apiUrl: string;
|
|
3
|
+
token?: string;
|
|
4
|
+
username?: string;
|
|
5
|
+
password?: string;
|
|
6
|
+
live: boolean;
|
|
7
|
+
pickupPointId?: number;
|
|
8
|
+
priceHuf: number;
|
|
9
|
+
freeShippingThresholdHuf?: number;
|
|
10
|
+
timeoutMs: number;
|
|
11
|
+
defaultWeightKg: number;
|
|
12
|
+
labelFormat: "A4" | "A6";
|
|
13
|
+
};
|
|
14
|
+
export type CsomagpiacShipmentStatus = "CREATED" | "IN_TRANSIT" | "DELIVERED" | "RETURNED" | "CANCELLED" | "ERROR";
|
|
15
|
+
export type CsomagpiacServiceSelection = {
|
|
16
|
+
name: string;
|
|
17
|
+
value: string;
|
|
18
|
+
};
|
|
19
|
+
export type CsomagpiacShipmentData = {
|
|
20
|
+
pickupPointId: number;
|
|
21
|
+
weightKg: number;
|
|
22
|
+
services?: CsomagpiacServiceSelection[];
|
|
23
|
+
codAmount: number;
|
|
24
|
+
insuredValue?: number;
|
|
25
|
+
identifier?: string;
|
|
26
|
+
trackingNumber?: string;
|
|
27
|
+
status: CsomagpiacShipmentStatus | string;
|
|
28
|
+
statusText?: string;
|
|
29
|
+
statusUpdatedAt?: string;
|
|
30
|
+
createdAt?: string;
|
|
31
|
+
remote?: Record<string, unknown>;
|
|
32
|
+
};
|
|
33
|
+
export type CsomagpiacCreateRequest = {
|
|
34
|
+
pickupPointId: number;
|
|
35
|
+
recipientName: string;
|
|
36
|
+
recipientCountryCode: string;
|
|
37
|
+
recipientZip: string;
|
|
38
|
+
recipientCity: string;
|
|
39
|
+
recipientAddress: string;
|
|
40
|
+
recipientPhone: string;
|
|
41
|
+
recipientEmail: string;
|
|
42
|
+
packageCount?: number;
|
|
43
|
+
weights?: number[];
|
|
44
|
+
weightUnit?: "g" | "dkg" | "kg";
|
|
45
|
+
insuredValue?: number;
|
|
46
|
+
observation?: string;
|
|
47
|
+
reference?: string;
|
|
48
|
+
parcelValue?: number;
|
|
49
|
+
cashOnDelivery?: number;
|
|
50
|
+
services?: CsomagpiacServiceSelection[];
|
|
51
|
+
};
|
|
52
|
+
export declare class CsomagpiacError extends Error {
|
|
53
|
+
status?: number;
|
|
54
|
+
remoteOutcomeUncertain?: boolean;
|
|
55
|
+
constructor(message: string, options?: {
|
|
56
|
+
status?: number;
|
|
57
|
+
remoteOutcomeUncertain?: boolean;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
export declare class CsomagpiacConfigError extends CsomagpiacError {
|
|
61
|
+
constructor(message?: string);
|
|
62
|
+
}
|
|
63
|
+
export declare class CsomagpiacValidationError extends CsomagpiacError {
|
|
64
|
+
constructor(message: string);
|
|
65
|
+
}
|