@lodashventure/medusa-parcel-shipping 0.0.3
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 +1165 -0
- package/.medusa/server/src/admin/index.mjs +1166 -0
- package/.medusa/server/src/api/admin/parcel-boxes/[id]/route.js +47 -0
- package/.medusa/server/src/api/admin/parcel-boxes/route.js +48 -0
- package/.medusa/server/src/api/admin/shipping-config/areas/[id]/route.js +44 -0
- package/.medusa/server/src/api/admin/shipping-config/areas/route.js +48 -0
- package/.medusa/server/src/api/admin/shipping-config/rates/[id]/route.js +53 -0
- package/.medusa/server/src/api/admin/shipping-config/rates/route.js +55 -0
- package/.medusa/server/src/api/store/parcel-box-selector/route.js +53 -0
- package/.medusa/server/src/index.js +24 -0
- package/.medusa/server/src/modules/parcel-shipping/index.js +28 -0
- package/.medusa/server/src/modules/parcel-shipping/migrations/Migration20251015120000.js +70 -0
- package/.medusa/server/src/modules/parcel-shipping/models/parcel-box.js +21 -0
- package/.medusa/server/src/modules/parcel-shipping/models/service-area.js +20 -0
- package/.medusa/server/src/modules/parcel-shipping/models/shipping-rate.js +20 -0
- package/.medusa/server/src/modules/parcel-shipping/service.js +172 -0
- package/.medusa/server/src/modules/parcel-shipping/types.js +3 -0
- package/.medusa/server/src/modules/parcel-shipping/utils/packing.js +319 -0
- package/.medusa/server/src/providers/company-truck/index.js +19 -0
- package/.medusa/server/src/providers/parcel-fulfillment-base.js +180 -0
- package/.medusa/server/src/providers/private-carrier/index.js +19 -0
- package/package.json +81 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PUT = PUT;
|
|
4
|
+
exports.DELETE = DELETE;
|
|
5
|
+
const parcel_shipping_1 = require("../../../../modules/parcel-shipping");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const updateBoxSchema = zod_1.z.object({
|
|
8
|
+
name: zod_1.z.string().min(1).optional(),
|
|
9
|
+
width_cm: zod_1.z.number().positive().optional(),
|
|
10
|
+
length_cm: zod_1.z.number().positive().optional(),
|
|
11
|
+
height_cm: zod_1.z.number().positive().optional(),
|
|
12
|
+
max_weight_kg: zod_1.z.number().positive().optional(),
|
|
13
|
+
price_thb: zod_1.z.number().nonnegative().optional(),
|
|
14
|
+
active: zod_1.z.boolean().optional(),
|
|
15
|
+
});
|
|
16
|
+
async function PUT(req, res) {
|
|
17
|
+
const { id } = req.params;
|
|
18
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
19
|
+
try {
|
|
20
|
+
const payload = updateBoxSchema.parse(req.body);
|
|
21
|
+
const updated = await moduleService.updateParcelBoxes([
|
|
22
|
+
{
|
|
23
|
+
id,
|
|
24
|
+
...payload,
|
|
25
|
+
},
|
|
26
|
+
]);
|
|
27
|
+
moduleService.invalidateCache(["boxes"]);
|
|
28
|
+
res.status(200).json({ box: updated[0] });
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
if (error instanceof zod_1.ZodError) {
|
|
32
|
+
return res.status(400).json({
|
|
33
|
+
code: "invalid_payload",
|
|
34
|
+
issues: error.issues,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function DELETE(req, res) {
|
|
41
|
+
const { id } = req.params;
|
|
42
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
43
|
+
await moduleService.deleteParcelBoxes([id]);
|
|
44
|
+
moduleService.invalidateCache(["boxes"]);
|
|
45
|
+
res.status(204).send();
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BhcmNlbC1ib3hlcy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsa0JBZ0NDO0FBRUQsd0JBYUM7QUE1REQseUVBQTRFO0FBQzVFLDZCQUFpQztBQUVqQyxNQUFNLGVBQWUsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQy9CLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQyxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQyxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQyxhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQyxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QyxNQUFNLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUMvQixDQUFDLENBQUE7QUFFSyxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsd0NBQXNCLENBQ1EsQ0FBQTtJQUVoQyxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUUvQyxNQUFNLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztZQUNwRDtnQkFDRSxFQUFFO2dCQUNGLEdBQUcsT0FBTzthQUNYO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFFeEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxZQUFZLGNBQVEsRUFBRSxDQUFDO1lBQzlCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTthQUNyQixDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxNQUFNLENBQzFCLEdBQWtCLEVBQ2xCLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3pCLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNyQyx3Q0FBc0IsQ0FDUSxDQUFBO0lBRWhDLE1BQU0sYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMzQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUV4QyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0FBQ3hCLENBQUMifQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const parcel_shipping_1 = require("../../../modules/parcel-shipping");
|
|
7
|
+
const createBoxSchema = zod_1.z.object({
|
|
8
|
+
name: zod_1.z.string().min(1),
|
|
9
|
+
width_cm: zod_1.z.number().positive(),
|
|
10
|
+
length_cm: zod_1.z.number().positive(),
|
|
11
|
+
height_cm: zod_1.z.number().positive(),
|
|
12
|
+
max_weight_kg: zod_1.z.number().positive(),
|
|
13
|
+
price_thb: zod_1.z.number().nonnegative(),
|
|
14
|
+
active: zod_1.z.boolean().optional().default(true),
|
|
15
|
+
});
|
|
16
|
+
async function GET(req, res) {
|
|
17
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
18
|
+
const filters = {};
|
|
19
|
+
const { active } = req.query;
|
|
20
|
+
if (typeof active === "string") {
|
|
21
|
+
filters.active = active === "true";
|
|
22
|
+
}
|
|
23
|
+
const boxes = await moduleService.listParcelBoxes(filters, {
|
|
24
|
+
order: { name: "ASC" },
|
|
25
|
+
});
|
|
26
|
+
res.status(200).json({ boxes });
|
|
27
|
+
}
|
|
28
|
+
async function POST(req, res) {
|
|
29
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
30
|
+
try {
|
|
31
|
+
const payload = createBoxSchema.parse(req.body);
|
|
32
|
+
const created = await moduleService.createParcelBoxes([
|
|
33
|
+
payload,
|
|
34
|
+
]);
|
|
35
|
+
moduleService.invalidateCache(["boxes"]);
|
|
36
|
+
res.status(201).json({ box: created[0] });
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
if (error instanceof zod_1.ZodError) {
|
|
40
|
+
return res.status(400).json({
|
|
41
|
+
code: "invalid_payload",
|
|
42
|
+
issues: error.issues,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
throw error;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BhcmNlbC1ib3hlcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWVBLGtCQXVCQztBQUVELG9CQTRCQztBQW5FRCw2QkFBaUM7QUFFakMsc0VBQXlFO0FBRXpFLE1BQU0sZUFBZSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLGFBQWEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFO0lBQ25DLE1BQU0sRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztDQUM3QyxDQUFDLENBQUE7QUFFSyxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsd0NBQXNCLENBQ1EsQ0FBQTtJQUVoQyxNQUFNLE9BQU8sR0FBNEIsRUFBRSxDQUFBO0lBQzNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFBO0lBRTVCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLEtBQUssTUFBTSxDQUFBO0lBQ3BDLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLGFBQWEsQ0FBQyxlQUFlLENBQy9DLE9BQU8sRUFDUDtRQUNFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7S0FDdkIsQ0FDRixDQUFBO0lBRUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0FBQ2pDLENBQUM7QUFFTSxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsd0NBQXNCLENBQ1EsQ0FBQTtJQUVoQyxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUUvQyxNQUFNLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztZQUNwRCxPQUFPO1NBQ1IsQ0FBQyxDQUFBO1FBRUYsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFFeEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxZQUFZLGNBQVEsRUFBRSxDQUFDO1lBQzlCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTthQUNyQixDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PUT = PUT;
|
|
4
|
+
exports.DELETE = DELETE;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const parcel_shipping_1 = require("../../../../../modules/parcel-shipping");
|
|
7
|
+
const kindEnum = zod_1.z.enum(["PROVINCE", "POSTCODE_PREFIX"]);
|
|
8
|
+
const updateAreaSchema = zod_1.z.object({
|
|
9
|
+
kind: kindEnum.optional(),
|
|
10
|
+
value: zod_1.z.string().min(1).optional(),
|
|
11
|
+
active: zod_1.z.boolean().optional(),
|
|
12
|
+
});
|
|
13
|
+
async function PUT(req, res) {
|
|
14
|
+
const { id } = req.params;
|
|
15
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
16
|
+
try {
|
|
17
|
+
const payload = updateAreaSchema.parse(req.body);
|
|
18
|
+
const updated = await moduleService.updateServiceAreas([
|
|
19
|
+
{
|
|
20
|
+
id,
|
|
21
|
+
...payload,
|
|
22
|
+
},
|
|
23
|
+
]);
|
|
24
|
+
moduleService.invalidateCache(["areas"]);
|
|
25
|
+
res.status(200).json({ area: updated[0] });
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (error instanceof zod_1.ZodError) {
|
|
29
|
+
return res.status(400).json({
|
|
30
|
+
code: "invalid_payload",
|
|
31
|
+
issues: error.issues,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async function DELETE(req, res) {
|
|
38
|
+
const { id } = req.params;
|
|
39
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
40
|
+
await moduleService.deleteServiceAreas([id]);
|
|
41
|
+
moduleService.invalidateCache(["areas"]);
|
|
42
|
+
res.status(204).send();
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3NoaXBwaW5nLWNvbmZpZy9hcmVhcy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBYUEsa0JBZ0NDO0FBRUQsd0JBYUM7QUEzREQsNkJBQWlDO0FBRWpDLDRFQUErRTtBQUUvRSxNQUFNLFFBQVEsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQTtBQUV4RCxNQUFNLGdCQUFnQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUU7SUFDekIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25DLE1BQU0sRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQy9CLENBQUMsQ0FBQTtBQUVLLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQWtCLEVBQ2xCLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3pCLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNyQyx3Q0FBc0IsQ0FDUSxDQUFBO0lBRWhDLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUMsa0JBQWtCLENBQUM7WUFDckQ7Z0JBQ0UsRUFBRTtnQkFDRixHQUFHLE9BQU87YUFDWDtTQUNGLENBQUMsQ0FBQTtRQUVGLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBRXhDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLEtBQUssWUFBWSxjQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMxQixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07YUFDckIsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFTSxLQUFLLFVBQVUsTUFBTSxDQUMxQixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsd0NBQXNCLENBQ1EsQ0FBQTtJQUVoQyxNQUFNLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFeEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUN4QixDQUFDIn0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const parcel_shipping_1 = require("../../../../modules/parcel-shipping");
|
|
7
|
+
const kindEnum = zod_1.z.enum(["PROVINCE", "POSTCODE_PREFIX"]);
|
|
8
|
+
const createAreaSchema = zod_1.z.object({
|
|
9
|
+
kind: kindEnum,
|
|
10
|
+
value: zod_1.z.string().min(1),
|
|
11
|
+
active: zod_1.z.boolean().optional().default(true),
|
|
12
|
+
});
|
|
13
|
+
async function GET(req, res) {
|
|
14
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
15
|
+
const filters = {};
|
|
16
|
+
const { kind, active } = req.query;
|
|
17
|
+
if (typeof kind === "string" && kindEnum.safeParse(kind).success) {
|
|
18
|
+
filters.kind = kind;
|
|
19
|
+
}
|
|
20
|
+
if (typeof active === "string") {
|
|
21
|
+
filters.active = active === "true";
|
|
22
|
+
}
|
|
23
|
+
const areas = await moduleService.listServiceAreas(filters, {
|
|
24
|
+
order: { kind: "ASC", value: "ASC" },
|
|
25
|
+
});
|
|
26
|
+
res.status(200).json({ areas });
|
|
27
|
+
}
|
|
28
|
+
async function POST(req, res) {
|
|
29
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
30
|
+
try {
|
|
31
|
+
const payload = createAreaSchema.parse(req.body);
|
|
32
|
+
const created = await moduleService.createServiceAreas([
|
|
33
|
+
payload,
|
|
34
|
+
]);
|
|
35
|
+
moduleService.invalidateCache(["areas"]);
|
|
36
|
+
res.status(201).json({ area: created[0] });
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
if (error instanceof zod_1.ZodError) {
|
|
40
|
+
return res.status(400).json({
|
|
41
|
+
code: "invalid_payload",
|
|
42
|
+
issues: error.issues,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
throw error;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3NoaXBwaW5nLWNvbmZpZy9hcmVhcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLGtCQXdCQztBQUVELG9CQTRCQztBQWxFRCw2QkFBaUM7QUFFakMseUVBQTRFO0FBRTVFLE1BQU0sUUFBUSxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFBO0FBRXhELE1BQU0sZ0JBQWdCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoQyxJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4QixNQUFNLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Q0FDN0MsQ0FBQyxDQUFBO0FBRUssS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ3JDLHdDQUFzQixDQUNRLENBQUE7SUFFaEMsTUFBTSxPQUFPLEdBQTRCLEVBQUUsQ0FBQTtJQUMzQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUE7SUFFbEMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqRSxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUNyQixDQUFDO0lBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMvQixPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sS0FBSyxNQUFNLENBQUE7SUFDcEMsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtRQUMxRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7S0FDckMsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0FBQ2pDLENBQUM7QUFFTSxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsd0NBQXNCLENBQ1EsQ0FBQTtJQUVoQyxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRWhELE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLGtCQUFrQixDQUFDO1lBQ3JELE9BQU87U0FDUixDQUFDLENBQUE7UUFFRixhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUV4QyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxLQUFLLFlBQVksY0FBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDMUIsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2FBQ3JCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PUT = PUT;
|
|
4
|
+
exports.DELETE = DELETE;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const parcel_shipping_1 = require("../../../../../modules/parcel-shipping");
|
|
8
|
+
const carrierEnum = zod_1.z.enum(["COMPANY_TRUCK", "PRIVATE_CARRIER"]);
|
|
9
|
+
const updateRateSchema = zod_1.z.object({
|
|
10
|
+
carrier: carrierEnum.optional(),
|
|
11
|
+
min_weight_kg: zod_1.z.number().nonnegative().optional(),
|
|
12
|
+
max_weight_kg: zod_1.z.number().positive().optional(),
|
|
13
|
+
price_thb: zod_1.z.number().nonnegative().optional(),
|
|
14
|
+
currency: zod_1.z.string().min(1).optional(),
|
|
15
|
+
active: zod_1.z.boolean().optional(),
|
|
16
|
+
});
|
|
17
|
+
async function PUT(req, res) {
|
|
18
|
+
const { id } = req.params;
|
|
19
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
20
|
+
try {
|
|
21
|
+
const payload = updateRateSchema.parse(req.body);
|
|
22
|
+
if (payload.max_weight_kg !== undefined &&
|
|
23
|
+
payload.min_weight_kg !== undefined &&
|
|
24
|
+
payload.max_weight_kg <= payload.min_weight_kg) {
|
|
25
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "max_weight_kg must be greater than min_weight_kg");
|
|
26
|
+
}
|
|
27
|
+
const updated = await moduleService.updateShippingRates([
|
|
28
|
+
{
|
|
29
|
+
id,
|
|
30
|
+
...payload,
|
|
31
|
+
},
|
|
32
|
+
]);
|
|
33
|
+
moduleService.invalidateCache(["rates"]);
|
|
34
|
+
res.status(200).json({ rate: updated[0] });
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
if (error instanceof zod_1.ZodError) {
|
|
38
|
+
return res.status(400).json({
|
|
39
|
+
code: "invalid_payload",
|
|
40
|
+
issues: error.issues,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function DELETE(req, res) {
|
|
47
|
+
const { id } = req.params;
|
|
48
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
49
|
+
await moduleService.deleteShippingRates([id]);
|
|
50
|
+
moduleService.invalidateCache(["rates"]);
|
|
51
|
+
res.status(204).send();
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3NoaXBwaW5nLWNvbmZpZy9yYXRlcy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUJBLGtCQTJDQztBQUVELHdCQWFDO0FBMUVELDZCQUFpQztBQUNqQyxxREFBdUQ7QUFFdkQsNEVBQStFO0FBRS9FLE1BQU0sV0FBVyxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFBO0FBRWhFLE1BQU0sZ0JBQWdCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoQyxPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRTtJQUMvQixhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsRCxhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQyxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDL0IsQ0FBQyxDQUFBO0FBRUssS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFDekIsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ3JDLHdDQUFzQixDQUNRLENBQUE7SUFFaEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVoRCxJQUNFLE9BQU8sQ0FBQyxhQUFhLEtBQUssU0FBUztZQUNuQyxPQUFPLENBQUMsYUFBYSxLQUFLLFNBQVM7WUFDbkMsT0FBTyxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUM5QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsa0RBQWtELENBQ25ELENBQUE7UUFDSCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUMsbUJBQW1CLENBQUM7WUFDdEQ7Z0JBQ0UsRUFBRTtnQkFDRixHQUFHLE9BQU87YUFDWDtTQUNGLENBQUMsQ0FBQTtRQUVGLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBRXhDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLEtBQUssWUFBWSxjQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMxQixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07YUFDckIsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFTSxLQUFLLFVBQVUsTUFBTSxDQUMxQixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsd0NBQXNCLENBQ1EsQ0FBQTtJQUVoQyxNQUFNLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDN0MsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFeEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUN4QixDQUFDIn0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const parcel_shipping_1 = require("../../../../modules/parcel-shipping");
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const carrierEnum = zod_1.z.enum(["COMPANY_TRUCK", "PRIVATE_CARRIER"]);
|
|
9
|
+
const createRateSchema = zod_1.z.object({
|
|
10
|
+
carrier: carrierEnum,
|
|
11
|
+
min_weight_kg: zod_1.z.number().nonnegative().default(0),
|
|
12
|
+
max_weight_kg: zod_1.z.number().positive(),
|
|
13
|
+
price_thb: zod_1.z.number().nonnegative(),
|
|
14
|
+
currency: zod_1.z.string().min(1).default("THB"),
|
|
15
|
+
active: zod_1.z.boolean().optional().default(true),
|
|
16
|
+
});
|
|
17
|
+
async function GET(req, res) {
|
|
18
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
19
|
+
const filters = {};
|
|
20
|
+
const { carrier, active } = req.query;
|
|
21
|
+
if (typeof carrier === "string" && carrierEnum.safeParse(carrier).success) {
|
|
22
|
+
filters.carrier = carrier;
|
|
23
|
+
}
|
|
24
|
+
if (typeof active === "string") {
|
|
25
|
+
filters.active = active === "true";
|
|
26
|
+
}
|
|
27
|
+
const rates = await moduleService.listShippingRates(filters, {
|
|
28
|
+
order: { carrier: "ASC", max_weight_kg: "ASC" },
|
|
29
|
+
});
|
|
30
|
+
res.status(200).json({ rates });
|
|
31
|
+
}
|
|
32
|
+
async function POST(req, res) {
|
|
33
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
34
|
+
try {
|
|
35
|
+
const payload = createRateSchema.parse(req.body);
|
|
36
|
+
if (payload.max_weight_kg <= payload.min_weight_kg) {
|
|
37
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "max_weight_kg must be greater than min_weight_kg");
|
|
38
|
+
}
|
|
39
|
+
const created = await moduleService.createShippingRates([
|
|
40
|
+
payload,
|
|
41
|
+
]);
|
|
42
|
+
moduleService.invalidateCache(["rates"]);
|
|
43
|
+
res.status(201).json({ rate: created[0] });
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (error instanceof zod_1.ZodError) {
|
|
47
|
+
return res.status(400).json({
|
|
48
|
+
code: "invalid_payload",
|
|
49
|
+
issues: error.issues,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3NoaXBwaW5nLWNvbmZpZy9yYXRlcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxrQkF3QkM7QUFFRCxvQkFtQ0M7QUE3RUQsNkJBQWlDO0FBRWpDLHlFQUE0RTtBQUM1RSxxREFBdUQ7QUFFdkQsTUFBTSxXQUFXLEdBQUcsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7QUFFaEUsTUFBTSxnQkFBZ0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLGFBQWEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRCxhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRTtJQUNuQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzFDLE1BQU0sRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztDQUM3QyxDQUFDLENBQUE7QUFFSyxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsd0NBQXNCLENBQ1EsQ0FBQTtJQUVoQyxNQUFNLE9BQU8sR0FBNEIsRUFBRSxDQUFBO0lBQzNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQTtJQUVyQyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQzNCLENBQUM7SUFFRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxLQUFLLE1BQU0sQ0FBQTtJQUNwQyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxhQUFhLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFO1FBQzNELEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRTtLQUNoRCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDakMsQ0FBQztBQUVNLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQWtCLEVBQ2xCLEdBQW1CO0lBRW5CLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNyQyx3Q0FBc0IsQ0FDUSxDQUFBO0lBRWhDLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFaEQsSUFBSSxPQUFPLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixrREFBa0QsQ0FDbkQsQ0FBQTtRQUNILENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztZQUN0RCxPQUFPO1NBQ1IsQ0FBQyxDQUFBO1FBRUYsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFFeEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxZQUFZLGNBQVEsRUFBRSxDQUFDO1lBQzlCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTthQUNyQixDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const parcel_shipping_1 = require("../../../modules/parcel-shipping");
|
|
7
|
+
const itemSchema = zod_1.z.object({
|
|
8
|
+
sku: zod_1.z.string().min(1),
|
|
9
|
+
width: zod_1.z.number().positive(),
|
|
10
|
+
length: zod_1.z.number().positive(),
|
|
11
|
+
height: zod_1.z.number().positive(),
|
|
12
|
+
weight: zod_1.z.number().nonnegative(),
|
|
13
|
+
quantity: zod_1.z.number().int().positive(),
|
|
14
|
+
attributes: zod_1.z
|
|
15
|
+
.object({
|
|
16
|
+
noStack: zod_1.z.boolean().optional(),
|
|
17
|
+
})
|
|
18
|
+
.optional(),
|
|
19
|
+
});
|
|
20
|
+
const bodySchema = zod_1.z.object({
|
|
21
|
+
items: zod_1.z.array(itemSchema).min(1),
|
|
22
|
+
shipping_address: zod_1.z.object({
|
|
23
|
+
province: zod_1.z.string().min(1),
|
|
24
|
+
postcode: zod_1.z.string().min(1),
|
|
25
|
+
country: zod_1.z.string().min(1),
|
|
26
|
+
}),
|
|
27
|
+
});
|
|
28
|
+
async function POST(req, res) {
|
|
29
|
+
const moduleService = req.scope.resolve(parcel_shipping_1.PARCEL_SHIPPING_MODULE);
|
|
30
|
+
try {
|
|
31
|
+
const payload = bodySchema.parse(req.body);
|
|
32
|
+
const result = await moduleService.quote(payload);
|
|
33
|
+
if (result.success) {
|
|
34
|
+
return res.status(200).json(result);
|
|
35
|
+
}
|
|
36
|
+
return res.status(200).json(result);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
if (error instanceof zod_1.ZodError) {
|
|
40
|
+
return res.status(400).json({
|
|
41
|
+
code: "invalid_payload",
|
|
42
|
+
issues: error.issues,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
if (error instanceof utils_1.MedusaError) {
|
|
46
|
+
return res.status(error.type === utils_1.MedusaError.Types.NOT_ALLOWED ? 403 : 400).json({
|
|
47
|
+
code: error.message,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3BhcmNlbC1ib3gtc2VsZWN0b3Ivcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE2QkEsb0JBbUNDO0FBL0RELHFEQUF1RDtBQUN2RCw2QkFBaUM7QUFFakMsc0VBQXlFO0FBRXpFLE1BQU0sVUFBVSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDMUIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFO0lBQ2hDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3JDLFVBQVUsRUFBRSxPQUFDO1NBQ1YsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDaEMsQ0FBQztTQUNELFFBQVEsRUFBRTtDQUNkLENBQUMsQ0FBQTtBQUVGLE1BQU0sVUFBVSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDMUIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqQyxnQkFBZ0IsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3pCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzQixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0IsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQzNCLENBQUM7Q0FDSCxDQUFDLENBQUE7QUFFSyxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDckMsd0NBQXNCLENBQ1EsQ0FBQTtJQUVoQyxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMxQyxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFakQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNyQyxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxZQUFZLGNBQVEsRUFBRSxDQUFDO1lBQzlCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTthQUNyQixDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsSUFBSSxLQUFLLFlBQVksbUJBQVcsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FDZixLQUFLLENBQUMsSUFBSSxLQUFLLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQ3pELENBQUMsSUFBSSxDQUFDO2dCQUNMLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTzthQUNwQixDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.PARCEL_SHIPPING_MODULE = void 0;
|
|
18
|
+
__exportStar(require("./modules/parcel-shipping"), exports);
|
|
19
|
+
__exportStar(require("./providers/parcel-fulfillment-base"), exports);
|
|
20
|
+
__exportStar(require("./providers/company-truck"), exports);
|
|
21
|
+
__exportStar(require("./providers/private-carrier"), exports);
|
|
22
|
+
var parcel_shipping_1 = require("./modules/parcel-shipping");
|
|
23
|
+
Object.defineProperty(exports, "PARCEL_SHIPPING_MODULE", { enumerable: true, get: function () { return parcel_shipping_1.PARCEL_SHIPPING_MODULE; } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBMEM7QUFDMUMsc0VBQW9EO0FBQ3BELDREQUEwQztBQUMxQyw4REFBNEM7QUFDNUMsNkRBQW1FO0FBQTFELHlIQUFBLHNCQUFzQixPQUFBIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
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.PARCEL_SHIPPING_MODULE = void 0;
|
|
21
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
22
|
+
const service_1 = __importDefault(require("./service"));
|
|
23
|
+
exports.PARCEL_SHIPPING_MODULE = "parcelShipping";
|
|
24
|
+
exports.default = (0, utils_1.Module)(exports.PARCEL_SHIPPING_MODULE, {
|
|
25
|
+
service: service_1.default,
|
|
26
|
+
});
|
|
27
|
+
__exportStar(require("./types"), exports);
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXJjZWwtc2hpcHBpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBa0Q7QUFDbEQsd0RBQW1EO0FBRXRDLFFBQUEsc0JBQXNCLEdBQUcsZ0JBQWdCLENBQUE7QUFFdEQsa0JBQWUsSUFBQSxjQUFNLEVBQUMsOEJBQXNCLEVBQUU7SUFDNUMsT0FBTyxFQUFFLGlCQUEyQjtDQUNyQyxDQUFDLENBQUE7QUFFRiwwQ0FBdUIifQ==
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20251015120000 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20251015120000 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`
|
|
8
|
+
create table if not exists "parcel_box" (
|
|
9
|
+
"id" text not null,
|
|
10
|
+
"name" text not null,
|
|
11
|
+
"width_cm" double precision not null,
|
|
12
|
+
"length_cm" double precision not null,
|
|
13
|
+
"height_cm" double precision not null,
|
|
14
|
+
"max_weight_kg" double precision not null,
|
|
15
|
+
"price_thb" double precision not null,
|
|
16
|
+
"active" boolean not null default true,
|
|
17
|
+
"created_at" timestamptz not null default now(),
|
|
18
|
+
"updated_at" timestamptz not null default now(),
|
|
19
|
+
"deleted_at" timestamptz null,
|
|
20
|
+
constraint "parcel_box_pkey" primary key ("id")
|
|
21
|
+
);
|
|
22
|
+
`);
|
|
23
|
+
this.addSql(`
|
|
24
|
+
CREATE INDEX IF NOT EXISTS "IDX_parcel_box_active" ON "parcel_box" (active) WHERE deleted_at IS NULL;
|
|
25
|
+
`);
|
|
26
|
+
this.addSql(`
|
|
27
|
+
create table if not exists "parcel_shipping_rate" (
|
|
28
|
+
"id" text not null,
|
|
29
|
+
"carrier" text check ("carrier" in ('COMPANY_TRUCK', 'PRIVATE_CARRIER')) not null,
|
|
30
|
+
"min_weight_kg" double precision not null default 0,
|
|
31
|
+
"max_weight_kg" double precision not null,
|
|
32
|
+
"price_thb" double precision not null,
|
|
33
|
+
"currency" text not null default 'THB',
|
|
34
|
+
"active" boolean not null default true,
|
|
35
|
+
"created_at" timestamptz not null default now(),
|
|
36
|
+
"updated_at" timestamptz not null default now(),
|
|
37
|
+
"deleted_at" timestamptz null,
|
|
38
|
+
constraint "parcel_shipping_rate_pkey" primary key ("id")
|
|
39
|
+
);
|
|
40
|
+
`);
|
|
41
|
+
this.addSql(`
|
|
42
|
+
CREATE INDEX IF NOT EXISTS "IDX_parcel_shipping_rate_carrier_active" ON "parcel_shipping_rate" (carrier, active) WHERE deleted_at IS NULL;
|
|
43
|
+
`);
|
|
44
|
+
this.addSql(`
|
|
45
|
+
create table if not exists "parcel_service_area" (
|
|
46
|
+
"id" text not null,
|
|
47
|
+
"kind" text check ("kind" in ('PROVINCE', 'POSTCODE_PREFIX')) not null,
|
|
48
|
+
"value" text not null,
|
|
49
|
+
"active" boolean not null default true,
|
|
50
|
+
"created_at" timestamptz not null default now(),
|
|
51
|
+
"updated_at" timestamptz not null default now(),
|
|
52
|
+
"deleted_at" timestamptz null,
|
|
53
|
+
constraint "parcel_service_area_pkey" primary key ("id")
|
|
54
|
+
);
|
|
55
|
+
`);
|
|
56
|
+
this.addSql(`
|
|
57
|
+
CREATE INDEX IF NOT EXISTS "IDX_parcel_service_area_kind_value" ON "parcel_service_area" (kind, value) WHERE deleted_at IS NULL;
|
|
58
|
+
`);
|
|
59
|
+
this.addSql(`
|
|
60
|
+
CREATE INDEX IF NOT EXISTS "IDX_parcel_service_area_active" ON "parcel_service_area" (active) WHERE deleted_at IS NULL;
|
|
61
|
+
`);
|
|
62
|
+
}
|
|
63
|
+
async down() {
|
|
64
|
+
this.addSql(`drop table if exists "parcel_service_area" cascade;`);
|
|
65
|
+
this.addSql(`drop table if exists "parcel_shipping_rate" cascade;`);
|
|
66
|
+
this.addSql(`drop table if exists "parcel_box" cascade;`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.Migration20251015120000 = Migration20251015120000;
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTEwMTUxMjAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXJjZWwtc2hpcHBpbmcvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MTAxNTEyMDAwMC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBaUQ7QUFFakQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUMzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztLQWVYLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxNQUFNLENBQUM7O0tBRVgsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7S0FjWCxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDOztLQUVYLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0tBV1gsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7S0FFWCxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDOztLQUVYLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLHFEQUFxRCxDQUFDLENBQUE7UUFDbEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzREFBc0QsQ0FBQyxDQUFBO1FBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0NBQ0Y7QUF0RUQsMERBc0VDIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParcelBox = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
exports.ParcelBox = utils_1.model
|
|
6
|
+
.define("parcel_box", {
|
|
7
|
+
id: utils_1.model.id().primaryKey(),
|
|
8
|
+
name: utils_1.model.text(),
|
|
9
|
+
width_cm: utils_1.model.float(),
|
|
10
|
+
length_cm: utils_1.model.float(),
|
|
11
|
+
height_cm: utils_1.model.float(),
|
|
12
|
+
max_weight_kg: utils_1.model.float(),
|
|
13
|
+
price_thb: utils_1.model.float(),
|
|
14
|
+
active: utils_1.model.boolean().default(true),
|
|
15
|
+
})
|
|
16
|
+
.indexes([
|
|
17
|
+
{
|
|
18
|
+
on: ["active"],
|
|
19
|
+
},
|
|
20
|
+
]);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyY2VsLWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BhcmNlbC1zaGlwcGluZy9tb2RlbHMvcGFyY2VsLWJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBaUQ7QUFFcEMsUUFBQSxTQUFTLEdBQUcsYUFBSztLQUMzQixNQUFNLENBQUMsWUFBWSxFQUFFO0lBQ3BCLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ2xCLFFBQVEsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3ZCLFNBQVMsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3hCLFNBQVMsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3hCLGFBQWEsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQzVCLFNBQVMsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3hCLE1BQU0sRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztDQUN0QyxDQUFDO0tBQ0QsT0FBTyxDQUFDO0lBQ1A7UUFDRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUM7S0FDZjtDQUNGLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServiceArea = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
exports.ServiceArea = utils_1.model
|
|
6
|
+
.define("parcel_service_area", {
|
|
7
|
+
id: utils_1.model.id().primaryKey(),
|
|
8
|
+
kind: utils_1.model.enum(["PROVINCE", "POSTCODE_PREFIX"]),
|
|
9
|
+
value: utils_1.model.text(),
|
|
10
|
+
active: utils_1.model.boolean().default(true),
|
|
11
|
+
})
|
|
12
|
+
.indexes([
|
|
13
|
+
{
|
|
14
|
+
on: ["kind", "value"],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
on: ["active"],
|
|
18
|
+
},
|
|
19
|
+
]);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1hcmVhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvcGFyY2VsLXNoaXBwaW5nL21vZGVscy9zZXJ2aWNlLWFyZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWlEO0FBRXBDLFFBQUEsV0FBVyxHQUFHLGFBQUs7S0FDN0IsTUFBTSxDQUFDLHFCQUFxQixFQUFFO0lBQzdCLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDakQsS0FBSyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbkIsTUFBTSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0NBQ3RDLENBQUM7S0FDRCxPQUFPLENBQUM7SUFDUDtRQUNFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7S0FDdEI7SUFDRDtRQUNFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNmO0NBQ0YsQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShippingRate = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
exports.ShippingRate = utils_1.model
|
|
6
|
+
.define("parcel_shipping_rate", {
|
|
7
|
+
id: utils_1.model.id().primaryKey(),
|
|
8
|
+
carrier: utils_1.model.enum(["COMPANY_TRUCK", "PRIVATE_CARRIER"]),
|
|
9
|
+
min_weight_kg: utils_1.model.float().default(0),
|
|
10
|
+
max_weight_kg: utils_1.model.float(),
|
|
11
|
+
price_thb: utils_1.model.float(),
|
|
12
|
+
currency: utils_1.model.text().default("THB"),
|
|
13
|
+
active: utils_1.model.boolean().default(true),
|
|
14
|
+
})
|
|
15
|
+
.indexes([
|
|
16
|
+
{
|
|
17
|
+
on: ["carrier", "active"],
|
|
18
|
+
},
|
|
19
|
+
]);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BhcmNlbC1zaGlwcGluZy9tb2RlbHMvc2hpcHBpbmctcmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBaUQ7QUFFcEMsUUFBQSxZQUFZLEdBQUcsYUFBSztLQUM5QixNQUFNLENBQUMsc0JBQXNCLEVBQUU7SUFDOUIsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDM0IsT0FBTyxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN6RCxhQUFhLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdkMsYUFBYSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDNUIsU0FBUyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDeEIsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztDQUN0QyxDQUFDO0tBQ0QsT0FBTyxDQUFDO0lBQ1A7UUFDRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDO0tBQzFCO0NBQ0YsQ0FBQyxDQUFBIn0=
|