@lodashventure/medusa-parcel-shipping 0.0.6 → 0.2.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.
Files changed (88) hide show
  1. package/.medusa/server/api/admin/documents/document-packing-slip-settings/route.js +62 -0
  2. package/.medusa/server/api/admin/documents/packing-slip/preview/route.js +47 -0
  3. package/.medusa/server/api/admin/documents/packing-slip/route.js +112 -0
  4. package/.medusa/server/api/admin/parcel-boxes/[id]/route.js +45 -0
  5. package/.medusa/server/api/admin/parcel-boxes/route.js +49 -0
  6. package/.medusa/server/api/admin/shipping-config/areas/[id]/route.js +42 -0
  7. package/.medusa/server/api/admin/shipping-config/areas/route.js +49 -0
  8. package/.medusa/server/api/admin/shipping-config/rates/[id]/route.js +82 -0
  9. package/.medusa/server/api/admin/shipping-config/rates/route.js +95 -0
  10. package/.medusa/server/api/shipping/distance/route.js +85 -0
  11. package/.medusa/server/api/shipping/distance/utils/zodTransform.js +20 -0
  12. package/.medusa/server/api/store/parcel-box-selector/route.js +55 -0
  13. package/.medusa/server/api/webhooks/tracking/route.js +48 -0
  14. package/.medusa/server/common/types.js +4 -0
  15. package/.medusa/server/common/utils/osrm-client.js +81 -0
  16. package/.medusa/server/common/utils/packing.js +379 -0
  17. package/.medusa/server/{src/modules/parcel-shipping/index.js → index.js} +9 -9
  18. package/.medusa/server/links/index.js +9 -0
  19. package/.medusa/server/links/packing-slip-order.js +13 -0
  20. package/.medusa/server/modules/documents/index.js +24 -0
  21. package/.medusa/server/modules/documents/models/document-invoice.js +20 -0
  22. package/.medusa/server/modules/documents/models/document-packing-slip-settings.js +29 -0
  23. package/.medusa/server/modules/documents/models/document-packing-slip.js +32 -0
  24. package/.medusa/server/modules/documents/models/document-settings.js +32 -0
  25. package/.medusa/server/modules/documents/models/index.js +15 -0
  26. package/.medusa/server/modules/documents/service.js +219 -0
  27. package/.medusa/server/modules/documents/services/generators/invoice-generator.js +73 -0
  28. package/.medusa/server/modules/documents/services/generators/packing-slip-generator.js +73 -0
  29. package/.medusa/server/modules/documents/services/templates/invoices/basic/basic-logo.js +55 -0
  30. package/.medusa/server/modules/documents/services/templates/invoices/basic/basic.js +52 -0
  31. package/.medusa/server/modules/documents/services/templates/invoices/basic/parts/customer-info.js +69 -0
  32. package/.medusa/server/modules/documents/services/templates/invoices/basic/parts/header-for-logo.js +32 -0
  33. package/.medusa/server/modules/documents/services/templates/invoices/basic/parts/header-logo.js +29 -0
  34. package/.medusa/server/modules/documents/services/templates/invoices/basic/parts/header.js +35 -0
  35. package/.medusa/server/modules/documents/services/templates/invoices/basic/parts/hr.js +23 -0
  36. package/.medusa/server/modules/documents/services/templates/invoices/basic/parts/invoice-info.js +35 -0
  37. package/.medusa/server/modules/documents/services/templates/invoices/basic/parts/table.js +97 -0
  38. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/basic.js +52 -0
  39. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/parts/customer-info-small.js +69 -0
  40. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/parts/customer-info.js +65 -0
  41. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/parts/header-small.js +37 -0
  42. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/parts/header.js +37 -0
  43. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/parts/hr.js +32 -0
  44. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/parts/table-items-small.js +44 -0
  45. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/parts/table-items.js +44 -0
  46. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/parts/table-order-info-small.js +35 -0
  47. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/parts/table-order-info.js +36 -0
  48. package/.medusa/server/modules/documents/services/templates/packing-slips/basic/small.js +53 -0
  49. package/.medusa/server/modules/documents/types/api.js +14 -0
  50. package/.medusa/server/modules/documents/types/constants.js +17 -0
  51. package/.medusa/server/modules/documents/types/dto.js +14 -0
  52. package/.medusa/server/modules/documents/types/template-kind.js +25 -0
  53. package/.medusa/server/modules/documents/utils/currency.js +25 -0
  54. package/.medusa/server/providers/company-truck/index.js +10 -0
  55. package/.medusa/server/providers/company-truck/models/company-truck-rate.js +23 -0
  56. package/.medusa/server/{src → providers/company-truck/models}/index.js +4 -8
  57. package/.medusa/server/providers/company-truck/models/parcel-box.js +21 -0
  58. package/.medusa/server/providers/company-truck/models/service-area.js +20 -0
  59. package/.medusa/server/providers/company-truck/service.js +456 -0
  60. package/.medusa/server/{src/modules/parcel-shipping → providers/company-truck}/types.js +1 -1
  61. package/.medusa/server/providers/private-carrier/index.js +10 -0
  62. package/.medusa/server/providers/private-carrier/models/index.js +20 -0
  63. package/.medusa/server/providers/private-carrier/models/parcel-box.js +21 -0
  64. package/.medusa/server/providers/private-carrier/models/private-carrier-rate.js +23 -0
  65. package/.medusa/server/providers/private-carrier/models/service-area.js +20 -0
  66. package/.medusa/server/providers/private-carrier/service.js +392 -0
  67. package/.medusa/server/providers/private-carrier/types.js +3 -0
  68. package/.medusa/server/src/admin/index.js +3 -2
  69. package/.medusa/server/src/admin/index.mjs +3 -2
  70. package/.medusa/server/workflows/assign-packing-slip.js +31 -0
  71. package/.medusa/server/workflows/index.js +9 -0
  72. package/package.json +25 -34
  73. package/.medusa/server/src/api/admin/parcel-boxes/[id]/route.js +0 -47
  74. package/.medusa/server/src/api/admin/parcel-boxes/route.js +0 -48
  75. package/.medusa/server/src/api/admin/shipping-config/areas/[id]/route.js +0 -44
  76. package/.medusa/server/src/api/admin/shipping-config/areas/route.js +0 -48
  77. package/.medusa/server/src/api/admin/shipping-config/rates/[id]/route.js +0 -53
  78. package/.medusa/server/src/api/admin/shipping-config/rates/route.js +0 -55
  79. package/.medusa/server/src/api/store/parcel-box-selector/route.js +0 -53
  80. package/.medusa/server/src/modules/parcel-shipping/migrations/Migration20251015120000.js +0 -70
  81. package/.medusa/server/src/modules/parcel-shipping/models/parcel-box.js +0 -21
  82. package/.medusa/server/src/modules/parcel-shipping/models/service-area.js +0 -20
  83. package/.medusa/server/src/modules/parcel-shipping/models/shipping-rate.js +0 -20
  84. package/.medusa/server/src/modules/parcel-shipping/service.js +0 -172
  85. package/.medusa/server/src/modules/parcel-shipping/utils/packing.js +0 -319
  86. package/.medusa/server/src/providers/company-truck/index.js +0 -19
  87. package/.medusa/server/src/providers/parcel-fulfillment-base.js +0 -180
  88. package/.medusa/server/src/providers/private-carrier/index.js +0 -19
@@ -1,48 +0,0 @@
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
@@ -1,44 +0,0 @@
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=
@@ -1,48 +0,0 @@
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=
@@ -1,53 +0,0 @@
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=
@@ -1,55 +0,0 @@
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
@@ -1,53 +0,0 @@
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
@@ -1,70 +0,0 @@
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=
@@ -1,21 +0,0 @@
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
@@ -1,20 +0,0 @@
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=
@@ -1,20 +0,0 @@
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=