order-management 0.0.103 → 0.0.104
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 +462 -462
- package/.medusa/server/src/admin/index.mjs +463 -463
- package/.medusa/server/src/api/middlewares/inject-return-shipping.js +54 -0
- package/.medusa/server/src/api/middlewares.js +7 -1
- package/.medusa/server/src/helpers/ensure-return-to-store-option.js +255 -0
- package/.medusa/server/src/helpers/index.js +2 -1
- package/.medusa/server/src/utils/order-fulfillment-metadata.js +3 -2
- package/package.json +2 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.injectReturnShippingIfNeeded = injectReturnShippingIfNeeded;
|
|
4
|
+
const ensure_return_to_store_option_1 = require("../../helpers/ensure-return-to-store-option");
|
|
5
|
+
/**
|
|
6
|
+
* Runs as a method-less (global) middleware on `/store/returns` so it executes
|
|
7
|
+
* before Medusa core's POST body validator, which requires `return_shipping`.
|
|
8
|
+
* Store-dropoff clients often send only `location_id`.
|
|
9
|
+
*/
|
|
10
|
+
async function injectReturnShippingIfNeeded(req, _res, next) {
|
|
11
|
+
try {
|
|
12
|
+
const body = req.body;
|
|
13
|
+
if (!body || typeof body !== "object" || Array.isArray(body)) {
|
|
14
|
+
next();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const record = body;
|
|
18
|
+
const existing = record.return_shipping &&
|
|
19
|
+
typeof record.return_shipping === "object" &&
|
|
20
|
+
!Array.isArray(record.return_shipping)
|
|
21
|
+
? record.return_shipping
|
|
22
|
+
: null;
|
|
23
|
+
const existingOptionId = typeof existing?.option_id === "string" ? existing.option_id.trim() : "";
|
|
24
|
+
if (existingOptionId) {
|
|
25
|
+
next();
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const locationId = (typeof record.location_id === "string" && record.location_id.trim()) ||
|
|
29
|
+
(typeof existing?.location_id === "string" && existing.location_id.trim()) ||
|
|
30
|
+
"";
|
|
31
|
+
if (!locationId) {
|
|
32
|
+
next();
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const optionId = await (0, ensure_return_to_store_option_1.ensureReturnToStoreOption)(req.scope, locationId);
|
|
36
|
+
if (!optionId) {
|
|
37
|
+
next();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
record.return_shipping = {
|
|
41
|
+
...(existing ?? {}),
|
|
42
|
+
option_id: optionId,
|
|
43
|
+
location_id: locationId,
|
|
44
|
+
};
|
|
45
|
+
if (!record.location_id) {
|
|
46
|
+
record.location_id = locationId;
|
|
47
|
+
}
|
|
48
|
+
next();
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
next(error);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXJldHVybi1zaGlwcGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvbWlkZGxld2FyZXMvaW5qZWN0LXJldHVybi1zaGlwcGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSxvRUF3REM7QUFyRUQsK0ZBQXVGO0FBUXZGOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsNEJBQTRCLENBQ2hELEdBQWtCLEVBQ2xCLElBQW9CLEVBQ3BCLElBQXdCO0lBRXhCLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUE7UUFDckIsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksRUFBRSxDQUFBO1lBQ04sT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUErQixDQUFBO1FBQzlDLE1BQU0sUUFBUSxHQUNaLE1BQU0sQ0FBQyxlQUFlO1lBQ3RCLE9BQU8sTUFBTSxDQUFDLGVBQWUsS0FBSyxRQUFRO1lBQzFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQ3BDLENBQUMsQ0FBRSxNQUFNLENBQUMsZUFBc0M7WUFDaEQsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUVWLE1BQU0sZ0JBQWdCLEdBQ3BCLE9BQU8sUUFBUSxFQUFFLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUMxRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsSUFBSSxFQUFFLENBQUE7WUFDTixPQUFNO1FBQ1IsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUNkLENBQUMsT0FBTyxNQUFNLENBQUMsV0FBVyxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JFLENBQUMsT0FBTyxRQUFRLEVBQUUsV0FBVyxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFFLEVBQUUsQ0FBQTtRQUVKLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixJQUFJLEVBQUUsQ0FBQTtZQUNOLE9BQU07UUFDUixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHlEQUF5QixFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDdkUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsSUFBSSxFQUFFLENBQUE7WUFDTixPQUFNO1FBQ1IsQ0FBQztRQUVELE1BQU0sQ0FBQyxlQUFlLEdBQUc7WUFDdkIsR0FBRyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDbkIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsV0FBVyxFQUFFLFVBQVU7U0FDeEIsQ0FBQTtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUE7UUFDakMsQ0FBQztRQUVELElBQUksRUFBRSxDQUFBO0lBQ1IsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const http_1 = require("@medusajs/framework/http");
|
|
4
4
|
const block_refund_until_return_received_1 = require("./middlewares/block-refund-until-return-received");
|
|
5
|
+
const inject_return_shipping_1 = require("./middlewares/inject-return-shipping");
|
|
5
6
|
const validators_1 = require("./store/returns/validators");
|
|
6
7
|
const cancel_order_1 = require("./store/validators/cancel-order");
|
|
7
8
|
exports.default = (0, http_1.defineMiddlewares)({
|
|
@@ -17,6 +18,11 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
17
18
|
methods: ["POST"],
|
|
18
19
|
middlewares: [block_refund_until_return_received_1.blockRefundUntilReturnReceived],
|
|
19
20
|
},
|
|
21
|
+
// Method-less → app.use, runs before core POST validator that requires return_shipping
|
|
22
|
+
{
|
|
23
|
+
matcher: "/store/returns",
|
|
24
|
+
middlewares: [inject_return_shipping_1.injectReturnShippingIfNeeded],
|
|
25
|
+
},
|
|
20
26
|
{
|
|
21
27
|
matcher: "/store/returns",
|
|
22
28
|
methods: ["POST"],
|
|
@@ -34,4 +40,4 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
34
40
|
},
|
|
35
41
|
],
|
|
36
42
|
});
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBR2lDO0FBQ2pDLHlHQUFpRztBQUNqRyxpRkFBbUY7QUFDbkYsMkRBQW9FO0FBQ3BFLGtFQUE0RTtBQUU1RSxrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLENBQUMsbUVBQThCLENBQUM7U0FDOUM7UUFDRDtZQUNFLGtEQUFrRDtZQUNsRCxPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUUsQ0FBQyxtRUFBOEIsQ0FBQztTQUM5QztRQUNELHVGQUF1RjtRQUN2RjtZQUNFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsV0FBVyxFQUFFLENBQUMscURBQTRCLENBQUM7U0FDNUM7UUFDRDtZQUNFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRSxDQUFDLElBQUEsK0JBQXdCLEVBQUMsb0NBQXVCLENBQUMsQ0FBQztTQUNqRTtRQUNEO1lBQ0UsT0FBTyxFQUFFLGdDQUFnQztZQUN6QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQyx5Q0FBMEIsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsZ0NBQWdDO1lBQ3pDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUUsQ0FBQyxJQUFBLCtCQUF3QixFQUFDLHlDQUEwQixDQUFDLENBQUM7U0FDcEU7S0FDRjtDQUNGLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RETURN_TO_STORE_METADATA_KEY = exports.RETURN_TO_STORE_OPTION_CODE = exports.RETURN_TO_STORE_OPTION_NAME = void 0;
|
|
4
|
+
exports.ensureReturnToStoreOption = ensureReturnToStoreOption;
|
|
5
|
+
/**
|
|
6
|
+
* Ensures a free Manual "Return to store" shipping option (`is_return=true`)
|
|
7
|
+
* on a stock location so Medusa core's required `return_shipping.option_id`
|
|
8
|
+
* can be satisfied for store-dropoff returns.
|
|
9
|
+
*/
|
|
10
|
+
const core_flows_1 = require("@medusajs/core-flows");
|
|
11
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
12
|
+
exports.RETURN_TO_STORE_OPTION_NAME = "Return to store";
|
|
13
|
+
exports.RETURN_TO_STORE_OPTION_CODE = "return-to-store";
|
|
14
|
+
exports.RETURN_TO_STORE_METADATA_KEY = "return_to_store";
|
|
15
|
+
function str(value) {
|
|
16
|
+
return typeof value === "string" && value ? value : null;
|
|
17
|
+
}
|
|
18
|
+
function rows(value) {
|
|
19
|
+
return Array.isArray(value)
|
|
20
|
+
? value.filter((v) => Boolean(v && typeof v === "object"))
|
|
21
|
+
: [];
|
|
22
|
+
}
|
|
23
|
+
function isManual(providerId) {
|
|
24
|
+
return typeof providerId === "string" && providerId.toLowerCase().startsWith("manual");
|
|
25
|
+
}
|
|
26
|
+
async function graph(query, entity, fields, filters) {
|
|
27
|
+
const { data } = await query.graph({
|
|
28
|
+
entity,
|
|
29
|
+
fields,
|
|
30
|
+
...(filters ? { filters } : {}),
|
|
31
|
+
});
|
|
32
|
+
return rows(data);
|
|
33
|
+
}
|
|
34
|
+
async function manualProviderId(query) {
|
|
35
|
+
const providers = await graph(query, "fulfillment_provider", ["id", "is_enabled"]);
|
|
36
|
+
const hit = providers.find((p) => isManual(p.id) && p.is_enabled !== false);
|
|
37
|
+
return hit ? str(hit.id) : null;
|
|
38
|
+
}
|
|
39
|
+
function optionCode(option) {
|
|
40
|
+
const type = option.type;
|
|
41
|
+
if (type && typeof type === "object" && !Array.isArray(type)) {
|
|
42
|
+
return str(type.code);
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
function isReturnToStoreOption(option) {
|
|
47
|
+
if (optionCode(option) === exports.RETURN_TO_STORE_OPTION_CODE)
|
|
48
|
+
return true;
|
|
49
|
+
const data = option.data;
|
|
50
|
+
if (data && typeof data === "object" && !Array.isArray(data)) {
|
|
51
|
+
return data[exports.RETURN_TO_STORE_METADATA_KEY] === true;
|
|
52
|
+
}
|
|
53
|
+
return str(option.name) === exports.RETURN_TO_STORE_OPTION_NAME;
|
|
54
|
+
}
|
|
55
|
+
async function loadLocation(query, locationId) {
|
|
56
|
+
const [location] = await graph(query, "stock_location", [
|
|
57
|
+
"id",
|
|
58
|
+
"name",
|
|
59
|
+
"fulfillment_providers.id",
|
|
60
|
+
"fulfillment_sets.id",
|
|
61
|
+
"fulfillment_sets.type",
|
|
62
|
+
"fulfillment_sets.service_zones.id",
|
|
63
|
+
"fulfillment_sets.service_zones.shipping_options.id",
|
|
64
|
+
"fulfillment_sets.service_zones.shipping_options.name",
|
|
65
|
+
"fulfillment_sets.service_zones.shipping_options.provider_id",
|
|
66
|
+
"fulfillment_sets.service_zones.shipping_options.type.code",
|
|
67
|
+
"fulfillment_sets.service_zones.shipping_options.data",
|
|
68
|
+
], { id: locationId });
|
|
69
|
+
return location ?? null;
|
|
70
|
+
}
|
|
71
|
+
function existingReturnToStoreOption(location) {
|
|
72
|
+
for (const set of rows(location.fulfillment_sets)) {
|
|
73
|
+
for (const zone of rows(set.service_zones)) {
|
|
74
|
+
for (const option of rows(zone.shipping_options)) {
|
|
75
|
+
if (isManual(option.provider_id) && isReturnToStoreOption(option) && str(option.id)) {
|
|
76
|
+
return str(option.id);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
/** Any shipping option already flagged for returns (e.g. Shiprocket Return Shipping). */
|
|
84
|
+
async function findAnyReturnShippingOptionId(query) {
|
|
85
|
+
const options = await graph(query, "shipping_option", [
|
|
86
|
+
"id",
|
|
87
|
+
"name",
|
|
88
|
+
"type.code",
|
|
89
|
+
"data",
|
|
90
|
+
"rules.attribute",
|
|
91
|
+
"rules.value",
|
|
92
|
+
]);
|
|
93
|
+
for (const option of options) {
|
|
94
|
+
if (isReturnToStoreOption(option) && str(option.id)) {
|
|
95
|
+
return str(option.id);
|
|
96
|
+
}
|
|
97
|
+
for (const rule of rows(option.rules)) {
|
|
98
|
+
if (str(rule.attribute) === "is_return" && String(rule.value) === "true" && str(option.id)) {
|
|
99
|
+
return str(option.id);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
async function regionCountryCodes(query) {
|
|
106
|
+
const regions = await graph(query, "region", ["countries.iso_2"]);
|
|
107
|
+
const codes = new Set();
|
|
108
|
+
for (const region of regions) {
|
|
109
|
+
for (const c of rows(region.countries)) {
|
|
110
|
+
const code = str(c.iso_2);
|
|
111
|
+
if (code)
|
|
112
|
+
codes.add(code.toLowerCase());
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return [...codes];
|
|
116
|
+
}
|
|
117
|
+
async function currencyCodes(query) {
|
|
118
|
+
const [stores, regions] = await Promise.all([
|
|
119
|
+
graph(query, "store", ["supported_currencies.currency_code"]),
|
|
120
|
+
graph(query, "region", ["currency_code"]),
|
|
121
|
+
]);
|
|
122
|
+
const codes = new Set();
|
|
123
|
+
for (const store of stores) {
|
|
124
|
+
for (const c of rows(store.supported_currencies)) {
|
|
125
|
+
const code = str(c.currency_code);
|
|
126
|
+
if (code)
|
|
127
|
+
codes.add(code.toLowerCase());
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
for (const region of regions) {
|
|
131
|
+
const code = str(region.currency_code);
|
|
132
|
+
if (code)
|
|
133
|
+
codes.add(code.toLowerCase());
|
|
134
|
+
}
|
|
135
|
+
return [...codes];
|
|
136
|
+
}
|
|
137
|
+
async function shippingProfileId(container, query) {
|
|
138
|
+
const profiles = await graph(query, "shipping_profile", ["id", "type"]);
|
|
139
|
+
const preferred = profiles.find((p) => p.type === "default") ?? profiles[0];
|
|
140
|
+
const existing = preferred ? str(preferred.id) : null;
|
|
141
|
+
if (existing)
|
|
142
|
+
return existing;
|
|
143
|
+
const { result } = await (0, core_flows_1.createShippingProfilesWorkflow)(container).run({
|
|
144
|
+
input: { data: [{ name: "Default Shipping Profile", type: "default" }] },
|
|
145
|
+
});
|
|
146
|
+
return result[0].id;
|
|
147
|
+
}
|
|
148
|
+
async function ensurePickupSetAndZone(container, query, locationId, location) {
|
|
149
|
+
const providerId = await manualProviderId(query);
|
|
150
|
+
if (!providerId)
|
|
151
|
+
return null;
|
|
152
|
+
let current = location;
|
|
153
|
+
const linked = rows(current.fulfillment_providers).some((p) => p.id === providerId);
|
|
154
|
+
if (!linked) {
|
|
155
|
+
await (0, core_flows_1.batchLinksWorkflow)(container).run({
|
|
156
|
+
input: {
|
|
157
|
+
create: [
|
|
158
|
+
{
|
|
159
|
+
[utils_1.Modules.STOCK_LOCATION]: { stock_location_id: locationId },
|
|
160
|
+
[utils_1.Modules.FULFILLMENT]: { fulfillment_provider_id: providerId },
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
const suffix = locationId.slice(-8);
|
|
167
|
+
const locationName = str(current.name) ?? "Store";
|
|
168
|
+
let sets = rows(current.fulfillment_sets);
|
|
169
|
+
if (!sets.length) {
|
|
170
|
+
await (0, core_flows_1.createLocationFulfillmentSetWorkflow)(container).run({
|
|
171
|
+
input: {
|
|
172
|
+
location_id: locationId,
|
|
173
|
+
fulfillment_set_data: {
|
|
174
|
+
name: `${locationName} Pickup ${suffix}`,
|
|
175
|
+
type: "pickup",
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
});
|
|
179
|
+
current = (await loadLocation(query, locationId)) ?? current;
|
|
180
|
+
sets = rows(current.fulfillment_sets);
|
|
181
|
+
}
|
|
182
|
+
const set = sets.find((s) => s.type === "pickup") ?? sets[0];
|
|
183
|
+
const setId = set ? str(set.id) : null;
|
|
184
|
+
if (!setId)
|
|
185
|
+
return null;
|
|
186
|
+
let zoneId = str(rows(set.service_zones)[0]?.id);
|
|
187
|
+
if (!zoneId) {
|
|
188
|
+
const countries = await regionCountryCodes(query);
|
|
189
|
+
const { result } = await (0, core_flows_1.createServiceZonesWorkflow)(container).run({
|
|
190
|
+
input: {
|
|
191
|
+
data: [
|
|
192
|
+
{
|
|
193
|
+
fulfillment_set_id: setId,
|
|
194
|
+
name: `Pickup zone ${suffix}`,
|
|
195
|
+
geo_zones: countries.map((country_code) => ({
|
|
196
|
+
type: "country",
|
|
197
|
+
country_code,
|
|
198
|
+
})),
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
zoneId = result[0].id;
|
|
204
|
+
}
|
|
205
|
+
return { zoneId };
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Returns a return shipping option id suitable for store dropoff.
|
|
209
|
+
* Prefers an existing Return-to-store option on the location, then any
|
|
210
|
+
* is_return option, otherwise creates a free Manual Return-to-store option.
|
|
211
|
+
*/
|
|
212
|
+
async function ensureReturnToStoreOption(container, locationId) {
|
|
213
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
214
|
+
const location = await loadLocation(query, locationId);
|
|
215
|
+
if (!location) {
|
|
216
|
+
return findAnyReturnShippingOptionId(query);
|
|
217
|
+
}
|
|
218
|
+
const found = existingReturnToStoreOption(location);
|
|
219
|
+
if (found)
|
|
220
|
+
return found;
|
|
221
|
+
const anyReturn = await findAnyReturnShippingOptionId(query);
|
|
222
|
+
if (anyReturn)
|
|
223
|
+
return anyReturn;
|
|
224
|
+
const providerId = await manualProviderId(query);
|
|
225
|
+
if (!providerId)
|
|
226
|
+
return null;
|
|
227
|
+
const ensured = await ensurePickupSetAndZone(container, query, locationId, location);
|
|
228
|
+
if (!ensured)
|
|
229
|
+
return null;
|
|
230
|
+
const currencies = await currencyCodes(query);
|
|
231
|
+
const { result } = await (0, core_flows_1.createShippingOptionsWorkflow)(container).run({
|
|
232
|
+
input: [
|
|
233
|
+
{
|
|
234
|
+
name: exports.RETURN_TO_STORE_OPTION_NAME,
|
|
235
|
+
service_zone_id: ensured.zoneId,
|
|
236
|
+
shipping_profile_id: await shippingProfileId(container, query),
|
|
237
|
+
provider_id: providerId,
|
|
238
|
+
price_type: "flat",
|
|
239
|
+
prices: currencies.map((currency_code) => ({ currency_code, amount: 0 })),
|
|
240
|
+
type: {
|
|
241
|
+
label: exports.RETURN_TO_STORE_OPTION_NAME,
|
|
242
|
+
description: "Customer drops the return at this store",
|
|
243
|
+
code: exports.RETURN_TO_STORE_OPTION_CODE,
|
|
244
|
+
},
|
|
245
|
+
data: { [exports.RETURN_TO_STORE_METADATA_KEY]: true },
|
|
246
|
+
rules: [
|
|
247
|
+
{ attribute: "enabled_in_store", operator: "eq", value: "true" },
|
|
248
|
+
{ attribute: "is_return", operator: "eq", value: "true" },
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
],
|
|
252
|
+
});
|
|
253
|
+
return result[0]?.id ?? null;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5zdXJlLXJldHVybi10by1zdG9yZS1vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9lbnN1cmUtcmV0dXJuLXRvLXN0b3JlLW9wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0UEEsOERBK0NDO0FBM1NEOzs7O0dBSUc7QUFDSCxxREFNNkI7QUFFN0IscURBQThFO0FBRWpFLFFBQUEsMkJBQTJCLEdBQUcsaUJBQWlCLENBQUE7QUFDL0MsUUFBQSwyQkFBMkIsR0FBRyxpQkFBaUIsQ0FBQTtBQUMvQyxRQUFBLDRCQUE0QixHQUFHLGlCQUFpQixDQUFBO0FBVzdELFNBQVMsR0FBRyxDQUFDLEtBQWM7SUFDekIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUMxRCxDQUFDO0FBRUQsU0FBUyxJQUFJLENBQUMsS0FBYztJQUMxQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDUixDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsVUFBbUI7SUFDbkMsT0FBTyxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUN4RixDQUFDO0FBRUQsS0FBSyxVQUFVLEtBQUssQ0FDbEIsS0FBaUIsRUFDakIsTUFBYyxFQUNkLE1BQWdCLEVBQ2hCLE9BQWE7SUFFYixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxD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
|
|
@@ -20,4 +20,5 @@ __exportStar(require("./return-exchange-guard"), exports);
|
|
|
20
20
|
__exportStar(require("./order-line-presentation"), exports);
|
|
21
21
|
__exportStar(require("./refund-calculation"), exports);
|
|
22
22
|
__exportStar(require("./refund-receive-guard"), exports);
|
|
23
|
-
|
|
23
|
+
__exportStar(require("./ensure-return-to-store-option"), exports);
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXVCO0FBQ3ZCLHdEQUFxQztBQUNyQywwREFBdUM7QUFDdkMsNERBQXlDO0FBQ3pDLHVEQUFvQztBQUNwQyx5REFBc0M7QUFDdEMsa0VBQStDIn0=
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Used by storefront, order-management, and POS pickup queues.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.CUSTOMER_PICKUP_OPTION_CODE = exports.PICKUP_STATUS_KEY = exports.PAYMENT_MODE_KEY = exports.PICKUP_LOCATION_NAME_KEY = exports.PICKUP_LOCATION_ID_KEY = exports.FULFILLMENT_METHOD_KEY = void 0;
|
|
7
|
+
exports.RETURN_TO_STORE_OPTION_CODE = exports.CUSTOMER_PICKUP_OPTION_CODE = exports.PICKUP_STATUS_KEY = exports.PAYMENT_MODE_KEY = exports.PICKUP_LOCATION_NAME_KEY = exports.PICKUP_LOCATION_ID_KEY = exports.FULFILLMENT_METHOD_KEY = void 0;
|
|
8
8
|
exports.isFulfillmentMethod = isFulfillmentMethod;
|
|
9
9
|
exports.isPaymentMode = isPaymentMode;
|
|
10
10
|
exports.readFulfillmentMetadata = readFulfillmentMetadata;
|
|
@@ -16,6 +16,7 @@ exports.PICKUP_LOCATION_NAME_KEY = "pickup_location_name";
|
|
|
16
16
|
exports.PAYMENT_MODE_KEY = "payment_mode";
|
|
17
17
|
exports.PICKUP_STATUS_KEY = "pickup_status";
|
|
18
18
|
exports.CUSTOMER_PICKUP_OPTION_CODE = "customer-pickup";
|
|
19
|
+
exports.RETURN_TO_STORE_OPTION_CODE = "return-to-store";
|
|
19
20
|
function isFulfillmentMethod(value) {
|
|
20
21
|
return value === "delivery" || value === "pickup";
|
|
21
22
|
}
|
|
@@ -65,4 +66,4 @@ function buildDeliveryCartMetadata(input) {
|
|
|
65
66
|
delete next[exports.PICKUP_STATUS_KEY];
|
|
66
67
|
return next;
|
|
67
68
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZnVsZmlsbG1lbnQtbWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXItZnVsZmlsbG1lbnQtbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBc0JILGtEQUVDO0FBRUQsc0NBRUM7QUFFRCwwREFvQkM7QUFFRCwwREFnQkM7QUFFRCw4REFhQztBQWpGWSxRQUFBLHNCQUFzQixHQUFHLG9CQUFvQixDQUFBO0FBQzdDLFFBQUEsc0JBQXNCLEdBQUcsb0JBQW9CLENBQUE7QUFDN0MsUUFBQSx3QkFBd0IsR0FBRyxzQkFBc0IsQ0FBQTtBQUNqRCxRQUFBLGdCQUFnQixHQUFHLGNBQWMsQ0FBQTtBQUNqQyxRQUFBLGlCQUFpQixHQUFHLGVBQWUsQ0FBQTtBQUNuQyxRQUFBLDJCQUEyQixHQUFHLGlCQUFpQixDQUFBO0FBQy9DLFFBQUEsMkJBQTJCLEdBQUcsaUJBQWlCLENBQUE7QUFjNUQsU0FBZ0IsbUJBQW1CLENBQUMsS0FBYztJQUNoRCxPQUFPLEtBQUssS0FBSyxVQUFVLElBQUksS0FBSyxLQUFLLFFBQVEsQ0FBQTtBQUNuRCxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLEtBQWM7SUFDMUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxjQUFjLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQTtBQUMxRSxDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQ3JDLFFBQW9EO0lBRXBELElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUTtRQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ3hELE1BQU0sR0FBRyxHQUE2QixFQUFFLENBQUE7SUFDeEMsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsOEJBQXNCLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsR0FBRyxDQUFDLDhCQUFzQixDQUFDLEdBQUcsUUFBUSxDQUFDLDhCQUFzQixDQUFDLENBQUE7SUFDaEUsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyw4QkFBc0IsQ0FBQyxDQUFBO0lBQzVDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQzFDLEdBQUcsQ0FBQyw4QkFBc0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLHdCQUFnQixDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlDLEdBQUcsQ0FBQyx3QkFBZ0IsQ0FBQyxHQUFHLFFBQVEsQ0FBQyx3QkFBZ0IsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMseUJBQWlCLENBQUMsQ0FBQTtJQUMxQyxJQUFJLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDekUsR0FBRyxDQUFDLHlCQUFpQixDQUFDLEdBQUcsTUFBTSxDQUFBO0lBQ2pDLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUM7QUFFRCxTQUFnQix1QkFBdUIsQ0FBQyxLQUt2QztJQUNDLE9BQU87UUFDTCxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxPQUFPLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0UsQ0FBQyw4QkFBc0IsQ0FBQyxFQUFFLFFBQW9DO1FBQzlELENBQUMsOEJBQXNCLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUMxQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVk7WUFDcEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQ0FBd0IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDcEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLENBQUMsd0JBQWdCLENBQUMsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLFFBQVE7UUFDakQsQ0FBQyx5QkFBaUIsQ0FBQyxFQUFFLFNBQWdDO0tBQ3RELENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsS0FHekM7SUFDQyxNQUFNLElBQUksR0FBNEI7UUFDcEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksT0FBTyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9FLENBQUMsOEJBQXNCLENBQUMsRUFBRSxVQUFzQztRQUNoRSxDQUFDLHdCQUFnQixDQUFDLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxRQUFRO0tBQ2xELENBQUE7SUFDRCxPQUFPLElBQUksQ0FBQyw4QkFBc0IsQ0FBQyxDQUFBO0lBQ25DLE9BQU8sSUFBSSxDQUFDLGdDQUF3QixDQUFDLENBQUE7SUFDckMsT0FBTyxJQUFJLENBQUMseUJBQWlCLENBQUMsQ0FBQTtJQUM5QixPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "order-management",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.104",
|
|
4
4
|
"description": "A starter for Medusa plugins.",
|
|
5
5
|
"author": "Medusa (https://medusajs.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
14
14
|
"./modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
15
15
|
"./providers/*": "./.medusa/server/src/providers/*/index.js",
|
|
16
|
+
"./helpers/*": "./.medusa/server/src/helpers/*.js",
|
|
16
17
|
"./*": "./.medusa/server/src/*.js",
|
|
17
18
|
"./admin": {
|
|
18
19
|
"import": "./.medusa/server/src/admin/index.mjs",
|