@lodashventure/medusa-parcel-shipping 0.4.11 → 0.4.15
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/api/admin/shipping-rates/[id]/route.js +11 -7
- package/.medusa/server/src/api/admin/shipping-rates/route.js +11 -8
- package/.medusa/server/src/modules/parcel-shipping/migrations/Migration20251115000000.js +50 -0
- package/.medusa/server/src/modules/parcel-shipping/models/shipping-rate.js +11 -2
- package/.medusa/server/src/modules/parcel-shipping/service.js +36 -3
- package/.medusa/server/src/providers/parcel-fulfillment.js +138 -27
- package/package.json +1 -1
|
@@ -6,13 +6,17 @@ exports.DELETE = DELETE;
|
|
|
6
6
|
const framework_1 = require("@medusajs/framework");
|
|
7
7
|
const parcel_shipping_1 = require("../../../../modules/parcel-shipping");
|
|
8
8
|
const zod_1 = require("zod");
|
|
9
|
+
const CarrierEnum = zod_1.z.enum(["COMPANY_FLEET", "COMPANY_TRUCK", "PRIVATE_CARRIER"]);
|
|
10
|
+
const ServiceCodeEnum = zod_1.z.enum([
|
|
11
|
+
"MESSENGER_3H",
|
|
12
|
+
"SAME_DAY",
|
|
13
|
+
"STANDARD_3_5D",
|
|
14
|
+
"EXPRESS_1_2D",
|
|
15
|
+
]);
|
|
9
16
|
const UpdateRateSchema = zod_1.z.object({
|
|
10
|
-
carrier_type:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
service_code: zod_1.z
|
|
14
|
-
.enum(["MESSENGER_3H", "SAME_DAY", "STANDARD_3_5D", "EXPRESS_1_2D"])
|
|
15
|
-
.optional(),
|
|
17
|
+
carrier_type: CarrierEnum.optional(),
|
|
18
|
+
carrier: CarrierEnum.optional(),
|
|
19
|
+
service_code: ServiceCodeEnum.optional(),
|
|
16
20
|
max_weight_kg: zod_1.z.number().positive().optional(),
|
|
17
21
|
price: zod_1.z.number().nonnegative().optional(),
|
|
18
22
|
currency: zod_1.z.string().optional(),
|
|
@@ -45,4 +49,4 @@ async function DELETE(req, res) {
|
|
|
45
49
|
await parcelService.deleteRate(id);
|
|
46
50
|
res.status(204).send();
|
|
47
51
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3NoaXBwaW5nLXJhdGVzL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0QkEsa0JBV0M7QUFFRCxrQkFRQztBQUVELHdCQU9DO0FBekRELG1EQUFnRDtBQUNoRCx5RUFBNkU7QUFDN0UsNkJBQXdCO0FBRXhCLE1BQU0sV0FBVyxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQztBQUNsRixNQUFNLGVBQWUsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdCLGNBQWM7SUFDZCxVQUFVO0lBQ1YsZUFBZTtJQUNmLGNBQWM7Q0FDZixDQUFDLENBQUM7QUFFSCxNQUFNLGdCQUFnQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsWUFBWSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsTUFBTSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDcEMsQ0FBQyxDQUFDO0FBRUksS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELE1BQU0sYUFBYSxHQUFRLHFCQUFTLENBQUMsT0FBTyxDQUFDLHdDQUFzQixDQUFDLENBQUM7SUFDckUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFFMUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVwRCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRU0sS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELE1BQU0sYUFBYSxHQUFRLHFCQUFTLENBQUMsT0FBTyxDQUFDLHdDQUFzQixDQUFDLENBQUM7SUFDckUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFFMUIsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxNQUFNLElBQUksR0FBRyxNQUFNLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRTNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFFTSxLQUFLLFVBQVUsTUFBTSxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDbEUsTUFBTSxhQUFhLEdBQVEscUJBQVMsQ0FBQyxPQUFPLENBQUMsd0NBQXNCLENBQUMsQ0FBQztJQUNyRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUUxQixNQUFNLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbkMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN6QixDQUFDIn0=
|
|
@@ -5,14 +5,17 @@ exports.POST = POST;
|
|
|
5
5
|
const framework_1 = require("@medusajs/framework");
|
|
6
6
|
const parcel_shipping_1 = require("../../../modules/parcel-shipping");
|
|
7
7
|
const zod_1 = require("zod");
|
|
8
|
+
const CarrierEnum = zod_1.z.enum(["COMPANY_FLEET", "COMPANY_TRUCK", "PRIVATE_CARRIER"]);
|
|
9
|
+
const ServiceCodeEnum = zod_1.z.enum([
|
|
10
|
+
"MESSENGER_3H",
|
|
11
|
+
"SAME_DAY",
|
|
12
|
+
"STANDARD_3_5D",
|
|
13
|
+
"EXPRESS_1_2D",
|
|
14
|
+
]);
|
|
8
15
|
const CreateRateSchema = zod_1.z.object({
|
|
9
|
-
carrier_type:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"SAME_DAY",
|
|
13
|
-
"STANDARD_3_5D",
|
|
14
|
-
"EXPRESS_1_2D",
|
|
15
|
-
]),
|
|
16
|
+
carrier_type: CarrierEnum,
|
|
17
|
+
carrier: CarrierEnum.optional(),
|
|
18
|
+
service_code: ServiceCodeEnum,
|
|
16
19
|
max_weight_kg: zod_1.z.number().positive(),
|
|
17
20
|
price: zod_1.z.number().nonnegative(),
|
|
18
21
|
currency: zod_1.z.string().optional().default("THB"),
|
|
@@ -63,4 +66,4 @@ async function POST(req, res) {
|
|
|
63
66
|
const rate = await parcelService.createRate(validated);
|
|
64
67
|
res.status(201).json({ rate });
|
|
65
68
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3NoaXBwaW5nLXJhdGVzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0NBLGtCQThCQztBQU1ELG9CQU9DO0FBMUVELG1EQUFnRDtBQUNoRCxzRUFBMEU7QUFDMUUsNkJBQXdCO0FBRXhCLE1BQU0sV0FBVyxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQztBQUNsRixNQUFNLGVBQWUsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdCLGNBQWM7SUFDZCxVQUFVO0lBQ1YsZUFBZTtJQUNmLGNBQWM7Q0FDZixDQUFDLENBQUM7QUFFSCxNQUFNLGdCQUFnQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEMsWUFBWSxFQUFFLFdBQVc7SUFDekIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsWUFBWSxFQUFFLGVBQWU7SUFDN0IsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUU7SUFDL0IsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxQyxNQUFNLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDNUMsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDcEMsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELE1BQU0sYUFBYSxHQUFRLHFCQUFTLENBQUMsT0FBTyxDQUFDLHdDQUFzQixDQUFDLENBQUM7SUFFckUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztJQUN6RCxNQUFNLE9BQU8sR0FBUSxFQUFFLENBQUM7SUFFeEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixPQUFPLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixPQUFPLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDekIsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLEtBQUssTUFBTSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckQsb0RBQW9EO0lBQ3BELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUU7UUFDM0MsSUFBSSxDQUFDLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVEOzs7R0FHRztBQUNJLEtBQUssVUFBVSxJQUFJLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUNoRSxNQUFNLGFBQWEsR0FBUSxxQkFBUyxDQUFDLE9BQU8sQ0FBQyx3Q0FBc0IsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxhQUFhLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXZELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNqQyxDQUFDIn0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20251115000000 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20251115000000 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`
|
|
8
|
+
DO $$
|
|
9
|
+
BEGIN
|
|
10
|
+
IF NOT EXISTS (
|
|
11
|
+
SELECT 1 FROM information_schema.columns
|
|
12
|
+
WHERE table_name = 'parcel_shipping_rate'
|
|
13
|
+
AND column_name = 'carrier'
|
|
14
|
+
) THEN
|
|
15
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
16
|
+
ADD COLUMN "carrier" text
|
|
17
|
+
CHECK ("carrier" IN ('COMPANY_FLEET', 'COMPANY_TRUCK', 'PRIVATE_CARRIER'))
|
|
18
|
+
DEFAULT 'COMPANY_FLEET';
|
|
19
|
+
END IF;
|
|
20
|
+
END $$;
|
|
21
|
+
`);
|
|
22
|
+
this.addSql(`
|
|
23
|
+
UPDATE "parcel_shipping_rate"
|
|
24
|
+
SET "carrier" = COALESCE(
|
|
25
|
+
"carrier",
|
|
26
|
+
"carrier_type",
|
|
27
|
+
CASE "service_code"
|
|
28
|
+
WHEN 'MESSENGER_3H' THEN 'COMPANY_FLEET'
|
|
29
|
+
WHEN 'SAME_DAY' THEN 'COMPANY_TRUCK'
|
|
30
|
+
WHEN 'STANDARD_3_5D' THEN 'PRIVATE_CARRIER'
|
|
31
|
+
WHEN 'EXPRESS_1_2D' THEN 'PRIVATE_CARRIER'
|
|
32
|
+
ELSE 'COMPANY_FLEET'
|
|
33
|
+
END
|
|
34
|
+
);
|
|
35
|
+
`);
|
|
36
|
+
this.addSql(`
|
|
37
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
38
|
+
ALTER COLUMN "carrier" DROP DEFAULT,
|
|
39
|
+
ALTER COLUMN "carrier" SET NOT NULL;
|
|
40
|
+
`);
|
|
41
|
+
}
|
|
42
|
+
async down() {
|
|
43
|
+
this.addSql(`
|
|
44
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
45
|
+
DROP COLUMN IF EXISTS "carrier";
|
|
46
|
+
`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.Migration20251115000000 = Migration20251115000000;
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTExMTUwMDAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXJjZWwtc2hpcHBpbmcvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MTExNTAwMDAwMC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBcUU7QUFFckUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUMzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7O0tBY1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7OztLQWFYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7S0FJWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBOUNELDBEQThDQyJ9
|
|
@@ -16,7 +16,16 @@ exports.ShippingRate = utils_1.model
|
|
|
16
16
|
.define("parcel_shipping_rate", {
|
|
17
17
|
id: utils_1.model.id().primaryKey(),
|
|
18
18
|
// Carrier and service identification
|
|
19
|
-
carrier_type: utils_1.model.enum([
|
|
19
|
+
carrier_type: utils_1.model.enum([
|
|
20
|
+
"COMPANY_FLEET",
|
|
21
|
+
"COMPANY_TRUCK",
|
|
22
|
+
"PRIVATE_CARRIER",
|
|
23
|
+
]),
|
|
24
|
+
carrier: utils_1.model.enum([
|
|
25
|
+
"COMPANY_FLEET",
|
|
26
|
+
"COMPANY_TRUCK",
|
|
27
|
+
"PRIVATE_CARRIER",
|
|
28
|
+
]),
|
|
20
29
|
service_code: utils_1.model.enum(["MESSENGER_3H", "SAME_DAY", "STANDARD_3_5D", "EXPRESS_1_2D"]),
|
|
21
30
|
// Weight-based pricing (slab)
|
|
22
31
|
max_weight_kg: utils_1.model.float(),
|
|
@@ -47,4 +56,4 @@ exports.ShippingRate = utils_1.model
|
|
|
47
56
|
on: ["carrier_type", "service_code"],
|
|
48
57
|
},
|
|
49
58
|
]);
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BhcmNlbC1zaGlwcGluZy9tb2RlbHMvc2hpcHBpbmctcmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBa0Q7QUFFbEQ7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSxZQUFZLEdBQUcsYUFBSztLQUM5QixNQUFNLENBQUMsc0JBQXNCLEVBQUU7SUFDOUIsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFFM0IscUNBQXFDO0lBQ3JDLFlBQVksRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLGVBQWU7UUFDZixlQUFlO1FBQ2YsaUJBQWlCO0tBQ2xCLENBQUM7SUFDRixPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQztRQUNsQixlQUFlO1FBQ2YsZUFBZTtRQUNmLGlCQUFpQjtLQUNsQixDQUFDO0lBQ0YsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUV2Riw4QkFBOEI7SUFDOUIsYUFBYSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFFNUIsVUFBVTtJQUNWLEtBQUssRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3BCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUVyQyxpREFBaUQ7SUFDakQsUUFBUSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRW5DLFNBQVM7SUFDVCxNQUFNLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFFckMsNkJBQTZCO0lBQzdCLGFBQWEsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLGFBQWEsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLFlBQVksRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLFlBQVksRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ3hDLENBQUM7S0FDRCxPQUFPLENBQUM7SUFDUDtRQUNFLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsRUFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDO1FBQy9ELE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLGVBQWU7S0FDdkI7SUFDRDtRQUNFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNmO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO0tBQ3JDO0NBQ0YsQ0FBQyxDQUFDIn0=
|
|
@@ -88,12 +88,14 @@ class ParcelShippingService extends (0, utils_1.MedusaService)({
|
|
|
88
88
|
return this.getCached("rates", () => this.listShippingRates(filters, config), filters);
|
|
89
89
|
}
|
|
90
90
|
async createRate(data) {
|
|
91
|
-
const
|
|
91
|
+
const payload = this.normalizeCarrierFields(data, true);
|
|
92
|
+
const result = await this.createShippingRates([payload]);
|
|
92
93
|
this.invalidateCache(["rates"]);
|
|
93
94
|
return result[0];
|
|
94
95
|
}
|
|
95
96
|
async updateRate(id, data) {
|
|
96
|
-
const
|
|
97
|
+
const payload = this.normalizeCarrierFields(data);
|
|
98
|
+
const result = await this.updateShippingRates({ id, ...payload });
|
|
97
99
|
this.invalidateCache(["rates"]);
|
|
98
100
|
return result[0];
|
|
99
101
|
}
|
|
@@ -350,6 +352,37 @@ class ParcelShippingService extends (0, utils_1.MedusaService)({
|
|
|
350
352
|
}
|
|
351
353
|
return Number(totalCost.toFixed(2));
|
|
352
354
|
}
|
|
355
|
+
normalizeCarrierFields(data, requireCarrier = false) {
|
|
356
|
+
const inferredCarrier = data.carrier_type ??
|
|
357
|
+
data.carrier ??
|
|
358
|
+
(data.service_code
|
|
359
|
+
? this.getCarrierFromServiceCode(data.service_code)
|
|
360
|
+
: undefined);
|
|
361
|
+
if (!inferredCarrier && requireCarrier) {
|
|
362
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "carrier_type is required for shipping rates");
|
|
363
|
+
}
|
|
364
|
+
if (!inferredCarrier) {
|
|
365
|
+
return data;
|
|
366
|
+
}
|
|
367
|
+
return {
|
|
368
|
+
...data,
|
|
369
|
+
carrier_type: inferredCarrier,
|
|
370
|
+
carrier: inferredCarrier,
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
getCarrierFromServiceCode(serviceCode) {
|
|
374
|
+
switch (serviceCode) {
|
|
375
|
+
case "MESSENGER_3H":
|
|
376
|
+
return "COMPANY_FLEET";
|
|
377
|
+
case "SAME_DAY":
|
|
378
|
+
return "COMPANY_TRUCK";
|
|
379
|
+
case "STANDARD_3_5D":
|
|
380
|
+
case "EXPRESS_1_2D":
|
|
381
|
+
return "PRIVATE_CARRIER";
|
|
382
|
+
default:
|
|
383
|
+
return undefined;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
353
386
|
async calculateShippingOptions(address, weightKg, boxCost, packagingCost) {
|
|
354
387
|
const inServiceArea = await this.checkServiceArea(address);
|
|
355
388
|
const currentTime = new Date();
|
|
@@ -482,4 +515,4 @@ class ParcelShippingService extends (0, utils_1.MedusaService)({
|
|
|
482
515
|
}
|
|
483
516
|
}
|
|
484
517
|
exports.default = ParcelShippingService;
|
|
485
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BhcmNlbC1zaGlwcGluZy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQTBEO0FBQzFELG9EQUFnRDtBQUNoRCwwREFBc0Q7QUFDdEQsd0RBQW9EO0FBQ3BELDREQUF3RDtBQUN4RCxvRUFBZ0U7QUFDaEUsMERBQXNEO0FBQ3RELHdEQUdvQztBQUNwQyxnRkFBNEU7QUFhNUUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsYUFBYTtBQVUxQzs7O0dBR0c7QUFDSCxNQUFNLHFCQUFzQixTQUFRLElBQUEscUJBQWEsRUFBQztJQUNoRCxTQUFTLEVBQVQsc0JBQVM7SUFDVCxZQUFZLEVBQVosNEJBQVk7SUFDWixXQUFXLEVBQVgsMEJBQVc7SUFDWCxhQUFhLEVBQWIsOEJBQWE7SUFDYixpQkFBaUIsRUFBakIsc0NBQWlCO0lBQ2pCLFlBQVksRUFBWiw0QkFBWTtDQUNiLENBQUM7SUFQRjs7UUFRVSxVQUFLLEdBQXVEO1lBQ2xFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRTtZQUNuQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUU7WUFDbkMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRTtZQUN0QyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUU7WUFDdkMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO1NBQzdDLENBQUM7SUFrbkJKLENB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
|
|
518
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BhcmNlbC1zaGlwcGluZy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQXVFO0FBQ3ZFLG9EQUFnRDtBQUNoRCwwREFBc0Q7QUFDdEQsd0RBQW9EO0FBQ3BELDREQUF3RDtBQUN4RCxvRUFBZ0U7QUFDaEUsMERBQXNEO0FBQ3RELHdEQUdvQztBQUNwQyxnRkFBNEU7QUFhNUUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsYUFBYTtBQVUxQzs7O0dBR0c7QUFDSCxNQUFNLHFCQUFzQixTQUFRLElBQUEscUJBQWEsRUFBQztJQUNoRCxTQUFTLEVBQVQsc0JBQVM7SUFDVCxZQUFZLEVBQVosNEJBQVk7SUFDWixXQUFXLEVBQVgsMEJBQVc7SUFDWCxhQUFhLEVBQWIsOEJBQWE7SUFDYixpQkFBaUIsRUFBakIsc0NBQWlCO0lBQ2pCLFlBQVksRUFBWiw0QkFBWTtDQUNiLENBQUM7SUFQRjs7UUFRVSxVQUFLLEdBQXVEO1lBQ2xFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRTtZQUNuQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUU7WUFDbkMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRTtZQUN0QyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUU7WUFDdkMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO1NBQzdDLENBQUM7SUFpcUJKLENB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
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ParcelFulfillmentProvider = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const parcel_shipping_1 = require("../modules/parcel-shipping");
|
|
6
|
+
const PRODUCT_EXTENSION_MODULE = "productExtension";
|
|
6
7
|
/**
|
|
7
8
|
* Unified Parcel Fulfillment Provider
|
|
8
9
|
* Provides 4 service levels:
|
|
@@ -97,31 +98,66 @@ class ParcelFulfillmentProvider extends utils_1.AbstractFulfillmentProviderServi
|
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
async fetchQuoteViaHttp(payload) {
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (this.publishableApiKey) {
|
|
108
|
-
headers["x-publishable-api-key"] = this.publishableApiKey;
|
|
101
|
+
const scopesToTry = this.publishableApiKey
|
|
102
|
+
? ["store", "admin"]
|
|
103
|
+
: ["admin"];
|
|
104
|
+
let lastError = null;
|
|
105
|
+
for (const scope of scopesToTry) {
|
|
106
|
+
try {
|
|
107
|
+
return await this.fetchQuoteForScope(scope, payload);
|
|
109
108
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
109
|
+
catch (error) {
|
|
110
|
+
const typedError = error;
|
|
111
|
+
lastError = typedError;
|
|
112
|
+
if (scope === "store" &&
|
|
113
|
+
this.publishableApiKey &&
|
|
114
|
+
this.shouldFallbackToAdmin(typedError)) {
|
|
115
|
+
this.logger_?.warn("Store quote failed to validate publishable key. Retrying via admin endpoint.");
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const logMessage = `Failed to fetch quote from API: ${typedError?.message ?? "Unknown error"}`;
|
|
119
|
+
this.logger_?.error(logMessage);
|
|
120
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Unable to fetch shipping quote: ${typedError.message}`);
|
|
118
121
|
}
|
|
119
|
-
return (await response.json());
|
|
120
122
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
123
|
+
const finalErrorMessage = lastError?.message ?? "Unknown error";
|
|
124
|
+
this.logger_?.error(`Failed to fetch quote from API after exhausting scopes: ${finalErrorMessage}`);
|
|
125
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Unable to fetch shipping quote: ${lastError?.message}`);
|
|
126
|
+
}
|
|
127
|
+
async fetchQuoteForScope(scope, payload) {
|
|
128
|
+
const url = `${this.apiUrl}/${scope}/quote`;
|
|
129
|
+
this.logger_?.info(`Fetching quote via HTTP (${scope}) for carrier_type: ${payload.preferred_service?.carrier_type}, service_code: ${payload.preferred_service?.service_code}`);
|
|
130
|
+
const headers = {
|
|
131
|
+
"Content-Type": "application/json",
|
|
132
|
+
};
|
|
133
|
+
if (scope === "store" && this.publishableApiKey) {
|
|
134
|
+
headers["x-publishable-api-key"] = this.publishableApiKey;
|
|
124
135
|
}
|
|
136
|
+
const response = await fetch(url, {
|
|
137
|
+
method: "POST",
|
|
138
|
+
headers,
|
|
139
|
+
body: JSON.stringify(payload),
|
|
140
|
+
});
|
|
141
|
+
if (!response.ok) {
|
|
142
|
+
const errorText = await response.text();
|
|
143
|
+
const error = new Error(`Quote API request failed via ${scope}: ${response.status} ${errorText}`);
|
|
144
|
+
error.status = response.status;
|
|
145
|
+
error.scope = scope;
|
|
146
|
+
error.body = errorText;
|
|
147
|
+
throw error;
|
|
148
|
+
}
|
|
149
|
+
return (await response.json());
|
|
150
|
+
}
|
|
151
|
+
shouldFallbackToAdmin(error) {
|
|
152
|
+
if (!error) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
if (error.status && [401, 403].includes(error.status)) {
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
const body = (error.body || "").toLowerCase();
|
|
159
|
+
const message = (error.message || "").toLowerCase();
|
|
160
|
+
return (body.includes("publishable key") || message.includes("publishable key"));
|
|
125
161
|
}
|
|
126
162
|
// ============================================================================
|
|
127
163
|
// Fulfillment Options (4 Service Levels)
|
|
@@ -177,7 +213,7 @@ class ParcelFulfillmentProvider extends utils_1.AbstractFulfillmentProviderServi
|
|
|
177
213
|
return validCombinations.some(([carrier, service]) => carrier === carrierType && service === serviceCode);
|
|
178
214
|
}
|
|
179
215
|
async validateFulfillmentData(optionData, data, context) {
|
|
180
|
-
const quoteItems = this.convertToQuoteItems(context);
|
|
216
|
+
const quoteItems = await this.convertToQuoteItems(context);
|
|
181
217
|
if (!quoteItems.length) {
|
|
182
218
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "cart_items_missing_dimensions");
|
|
183
219
|
}
|
|
@@ -213,7 +249,7 @@ class ParcelFulfillmentProvider extends utils_1.AbstractFulfillmentProviderServi
|
|
|
213
249
|
}
|
|
214
250
|
async calculatePrice(optionData, data, context) {
|
|
215
251
|
this.logger_?.info(`calculatePrice called with optionData: ${JSON.stringify(optionData)}`);
|
|
216
|
-
const quoteItems = this.convertToQuoteItems(context);
|
|
252
|
+
const quoteItems = await this.convertToQuoteItems(context);
|
|
217
253
|
if (!quoteItems.length) {
|
|
218
254
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "cart_items_missing_dimensions_or_weight");
|
|
219
255
|
}
|
|
@@ -296,9 +332,10 @@ class ParcelFulfillmentProvider extends utils_1.AbstractFulfillmentProviderServi
|
|
|
296
332
|
// ============================================================================
|
|
297
333
|
// Helper Methods
|
|
298
334
|
// ============================================================================
|
|
299
|
-
convertToQuoteItems(context) {
|
|
335
|
+
async convertToQuoteItems(context) {
|
|
300
336
|
const items = context?.items ?? [];
|
|
301
337
|
const quoteItems = [];
|
|
338
|
+
const stackableMap = await this.loadProductStackableValues(items);
|
|
302
339
|
this.logger_?.info(`Converting ${items.length} items to quote items`);
|
|
303
340
|
for (const item of items) {
|
|
304
341
|
const lineItem = item;
|
|
@@ -338,7 +375,13 @@ class ParcelFulfillmentProvider extends utils_1.AbstractFulfillmentProviderServi
|
|
|
338
375
|
// Get packing policy from metadata
|
|
339
376
|
const noStack = Boolean(lineItem?.variant?.metadata?.noStack ?? lineItem?.metadata?.noStack);
|
|
340
377
|
const fragile = Boolean(lineItem?.variant?.metadata?.fragile ?? lineItem?.metadata?.fragile);
|
|
341
|
-
const
|
|
378
|
+
const productId = this.extractProductId(lineItem);
|
|
379
|
+
let stackable = lineItem?.variant?.metadata?.stackable ?? lineItem?.metadata?.stackable;
|
|
380
|
+
if ((stackable === undefined || stackable === null || stackable === "") &&
|
|
381
|
+
productId &&
|
|
382
|
+
stackableMap.has(productId)) {
|
|
383
|
+
stackable = stackableMap.get(productId);
|
|
384
|
+
}
|
|
342
385
|
const attributes = {};
|
|
343
386
|
if (noStack) {
|
|
344
387
|
attributes.noStack = true;
|
|
@@ -346,7 +389,9 @@ class ParcelFulfillmentProvider extends utils_1.AbstractFulfillmentProviderServi
|
|
|
346
389
|
if (fragile) {
|
|
347
390
|
attributes.fragile = true;
|
|
348
391
|
}
|
|
349
|
-
if (stackable !== undefined &&
|
|
392
|
+
if (stackable !== undefined &&
|
|
393
|
+
stackable !== null &&
|
|
394
|
+
stackable !== "") {
|
|
350
395
|
attributes.stackable = Number(stackable);
|
|
351
396
|
}
|
|
352
397
|
const quoteItem = {
|
|
@@ -364,6 +409,72 @@ class ParcelFulfillmentProvider extends utils_1.AbstractFulfillmentProviderServi
|
|
|
364
409
|
this.logger_?.info(`Converted ${quoteItems.length} quote items successfully`);
|
|
365
410
|
return quoteItems;
|
|
366
411
|
}
|
|
412
|
+
extractProductId(lineItem) {
|
|
413
|
+
const productId = lineItem?.variant?.product_id ??
|
|
414
|
+
lineItem?.variant?.productId ??
|
|
415
|
+
lineItem?.variant?.product?.id ??
|
|
416
|
+
lineItem?.product_id ??
|
|
417
|
+
lineItem?.productId ??
|
|
418
|
+
lineItem?.product?.id ??
|
|
419
|
+
lineItem?.product?.product_id ??
|
|
420
|
+
lineItem?.metadata?.product_id;
|
|
421
|
+
return productId ? String(productId) : undefined;
|
|
422
|
+
}
|
|
423
|
+
async loadProductStackableValues(items) {
|
|
424
|
+
const result = new Map();
|
|
425
|
+
if (!items?.length) {
|
|
426
|
+
return result;
|
|
427
|
+
}
|
|
428
|
+
const productIds = Array.from(new Set(items
|
|
429
|
+
.map((item) => this.extractProductId(item))
|
|
430
|
+
.filter((id) => Boolean(id))));
|
|
431
|
+
if (!productIds.length) {
|
|
432
|
+
return result;
|
|
433
|
+
}
|
|
434
|
+
const container = this.container_;
|
|
435
|
+
if (!container) {
|
|
436
|
+
return result;
|
|
437
|
+
}
|
|
438
|
+
let productExtensionService;
|
|
439
|
+
try {
|
|
440
|
+
const canResolve = typeof container.hasRegistration === "function"
|
|
441
|
+
? container.hasRegistration(PRODUCT_EXTENSION_MODULE)
|
|
442
|
+
: true;
|
|
443
|
+
if (!canResolve) {
|
|
444
|
+
return result;
|
|
445
|
+
}
|
|
446
|
+
productExtensionService = container.resolve(PRODUCT_EXTENSION_MODULE);
|
|
447
|
+
}
|
|
448
|
+
catch (error) {
|
|
449
|
+
if (error?.name === "AwilixResolutionError" ||
|
|
450
|
+
error?.name === "ResolutionError") {
|
|
451
|
+
this.logger_?.debug?.("productExtension module not available; skipping stackable lookup.");
|
|
452
|
+
return result;
|
|
453
|
+
}
|
|
454
|
+
const message = `Failed to resolve productExtension module for stackable lookup: ${error?.message ?? error}`;
|
|
455
|
+
this.logger_?.warn?.(message);
|
|
456
|
+
return result;
|
|
457
|
+
}
|
|
458
|
+
if (!productExtensionService ||
|
|
459
|
+
typeof productExtensionService.listProductStackables !== "function") {
|
|
460
|
+
return result;
|
|
461
|
+
}
|
|
462
|
+
try {
|
|
463
|
+
const records = (await productExtensionService.listProductStackables({
|
|
464
|
+
product_id: productIds,
|
|
465
|
+
})) || [];
|
|
466
|
+
for (const entry of records) {
|
|
467
|
+
if (entry?.product_id) {
|
|
468
|
+
result.set(entry.product_id, entry.stackable ?? null);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
catch (error) {
|
|
473
|
+
const message = `Failed to fetch stackable data from productExtension module: ${error?.message ?? error}`;
|
|
474
|
+
this.logger_?.warn?.(message);
|
|
475
|
+
}
|
|
476
|
+
return result;
|
|
477
|
+
}
|
|
367
478
|
normalizeWeight(weight) {
|
|
368
479
|
if (!weight || !Number.isFinite(weight)) {
|
|
369
480
|
return 0;
|
|
@@ -422,4 +533,4 @@ exports.ParcelFulfillmentProvider = ParcelFulfillmentProvider;
|
|
|
422
533
|
ParcelFulfillmentProvider.identifier = "tha-shipping";
|
|
423
534
|
ParcelFulfillmentProvider.displayName = "Thai Parcel Shipping";
|
|
424
535
|
exports.default = ParcelFulfillmentProvider;
|
|
425
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyY2VsLWZ1bGZpbGxtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9wYXJjZWwtZnVsZmlsbG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBR21DO0FBTW5DLGdFQUFvRTtBQTZCcEU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSwwQ0FBa0M7SUFVL0UsWUFDRSxTQUFpRCxFQUNqRCxVQUFvQyxFQUFFO1FBRXRDLGFBQWE7UUFDYixLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUVwQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQTRCLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLHVCQUF1QixDQUFDO1FBQ3pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ssS0FBSyxDQUFDLFVBQVUsQ0FDdEIsS0FBa0IsRUFDbEIsT0FBWSxFQUNaLFdBQXdCLEVBQ3hCLFdBQXdCO1FBRXhCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FDcEMsS0FBSyxFQUNMLE9BQU8sRUFDUCxXQUFXLEVBQ1gsV0FBVyxDQUNaLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxD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
|
|
536
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyY2VsLWZ1bGZpbGxtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9wYXJjZWwtZnVsZmlsbG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBR21DO0FBTW5DLGdFQUFvRTtBQTZCcEUsTUFBTSx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FBQztBQVFwRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLDBDQUFrQztJQVUvRSxZQUNFLFNBQWlELEVBQ2pELFVBQW9DLEVBQUU7UUFFdEMsYUFBYTtRQUNiLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBNEIsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksdUJBQXVCLENBQUM7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxLQUFLLENBQUMsVUFBVSxDQUN0QixLQUFrQixFQUNsQixPQUFZLEVBQ1osV0FBd0IsRUFDeEIsV0FBd0I7UUFFeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUNwQyxLQUFLLEVBQ0wsT0FBTyxFQUNQLFdBQVcsRUFDWCxXQUFXLENBQ1osQ0FBQztRQUVGLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFD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
|