order-management 0.0.24 → 0.0.26
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 +433 -560
- package/.medusa/server/src/admin/index.mjs +433 -560
- package/.medusa/server/src/api/admin/swaps/[id]/prepare-exchange/route.js +84 -0
- package/.medusa/server/src/api/admin/swaps/[id]/route.js +2 -1
- package/.medusa/server/src/api/admin/swaps/validators.js +2 -8
- package/.medusa/server/src/api/store/orders/[order_id]/swaps/route.js +2 -1
- package/.medusa/server/src/api/store/swaps/route.js +2 -1
- package/.medusa/server/src/helpers/order-exchange-data.js +175 -1
- package/.medusa/server/src/modules/swap/service.js +1 -1
- package/.medusa/server/src/workflows/index.js +2 -4
- package/.medusa/server/src/workflows/steps/swap/create-medusa-exchange-step.js +469 -25
- package/.medusa/server/src/workflows/steps/swap/create-medusa-return-step.js +630 -23
- package/.medusa/server/src/workflows/steps/swap/update-swap-exchange-details-step.js +12 -2
- package/.medusa/server/src/workflows/steps/swap/validate-swap-items-step.js +102 -4
- package/package.json +1 -1
- package/.medusa/server/src/api/admin/swaps/[id]/approve/route.js +0 -145
- package/.medusa/server/src/api/admin/swaps/[id]/confirm-exchange/route.js +0 -145
- package/.medusa/server/src/workflows/swaps/approve-swap-workflow.js +0 -40
- package/.medusa/server/src/workflows/swaps/confirm-exchange-workflow.js +0 -51
- package/.medusa/server/src/workflows/swaps/execute-swap-workflow.js +0 -58
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.executeSwapWorkflow = void 0;
|
|
4
|
-
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
-
const swap_1 = require("../steps/swap");
|
|
6
|
-
exports.executeSwapWorkflow = (0, workflows_sdk_1.createWorkflow)("execute-swap", (input) => {
|
|
7
|
-
const { swap_id, return_location_id: inputReturnLocationId, return_shipping_method_id: inputReturnShippingMethodId, outbound_shipping_method_id: inputOutboundShippingMethodId, send_notification: inputSendNotification, } = input;
|
|
8
|
-
// Step 1: Retrieve swap to validate it's approved and get exchange details
|
|
9
|
-
const { swap: retrievedSwap } = (0, swap_1.retrieveSwapStep)({
|
|
10
|
-
swap_id,
|
|
11
|
-
});
|
|
12
|
-
// Extract exchange details from swap if not provided in input
|
|
13
|
-
// This allows backward compatibility and ensures we use stored values
|
|
14
|
-
const swapData = retrievedSwap;
|
|
15
|
-
const return_location_id = inputReturnLocationId || swapData.return_location_id;
|
|
16
|
-
const return_shipping_method_id = inputReturnShippingMethodId || swapData.return_shipping_method_id;
|
|
17
|
-
const outbound_shipping_method_id = inputOutboundShippingMethodId || swapData.outbound_shipping_method_id;
|
|
18
|
-
const send_notification = inputSendNotification !== undefined ? inputSendNotification : (swapData.send_notification || false);
|
|
19
|
-
// Step 2: Create Medusa Return
|
|
20
|
-
const { return_id, swap: swapWithReturn } = (0, swap_1.createMedusaReturnStep)({
|
|
21
|
-
swap_id,
|
|
22
|
-
return_location_id,
|
|
23
|
-
return_shipping_method_id,
|
|
24
|
-
});
|
|
25
|
-
// Step 3: Create Medusa Exchange linked to return
|
|
26
|
-
// This will trigger Medusa's native exchange workflow which handles:
|
|
27
|
-
// - Fulfillment creation for new items
|
|
28
|
-
// - Payment Collection creation if difference_due > 0 (customer owes)
|
|
29
|
-
// - Refund processing if difference_due < 0 (customer gets refund)
|
|
30
|
-
// - Status transitions (requested → received → shipped → delivered)
|
|
31
|
-
//
|
|
32
|
-
// Note: Payment differences are handled automatically by Medusa's Payment Collection API.
|
|
33
|
-
// Admins should use Medusa's Payment Collection API (sdk.admin.paymentCollection) to
|
|
34
|
-
// handle payments, not a custom endpoint.
|
|
35
|
-
const { exchange_id, swap: swapWithExchange } = (0, swap_1.createMedusaExchangeStep)({
|
|
36
|
-
swap_id,
|
|
37
|
-
return_id,
|
|
38
|
-
outbound_shipping_method_id,
|
|
39
|
-
send_notification,
|
|
40
|
-
});
|
|
41
|
-
// Step 4: Update swap status to return_started after successful exchange creation
|
|
42
|
-
// Note: This workflow is kept for potential future use but is not called automatically
|
|
43
|
-
// on approval. Exchanges are created manually by admin.
|
|
44
|
-
const { swap: finalSwap } = (0, swap_1.updateSwapStatusStep)({
|
|
45
|
-
swap_id,
|
|
46
|
-
status: "return_started",
|
|
47
|
-
metadata: {
|
|
48
|
-
medusa_integration_completed_at: new Date().toISOString(),
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
return new workflows_sdk_1.WorkflowResponse({
|
|
52
|
-
swap: finalSwap,
|
|
53
|
-
return_id,
|
|
54
|
-
exchange_id,
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
exports.default = exports.executeSwapWorkflow;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS1zd2FwLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zd2Fwcy9leGVjdXRlLXN3YXAtd29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBRzBDO0FBQzFDLHdDQUtzQjtBQU1ULFFBQUEsbUJBQW1CLEdBQUcsSUFBQSw4QkFBYyxFQUMvQyxjQUFjLEVBQ2QsQ0FDRSxLQUErQixFQUNjLEVBQUU7SUFDL0MsTUFBTSxFQUNKLE9BQU8sRUFDUCxrQkFBa0IsRUFBRSxxQkFBcUIsRUFDekMseUJBQXlCLEVBQUUsMkJBQTJCLEVBQ3RELDJCQUEyQixFQUFFLDZCQUE2QixFQUMxRCxpQkFBaUIsRUFBRSxxQkFBcUIsR0FDekMsR0FBRyxLQUFLLENBQUE7SUFFVCwyRUFBMkU7SUFDM0UsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFBLHVCQUFnQixFQUFDO1FBQy9DLE9BQU87S0FDUixDQUFDLENBQUE7SUFFRiw4REFBOEQ7SUFDOUQsc0VBQXNFO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLGFBS2hCLENBQUE7SUFFRCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQTtJQUMvRSxNQUFNLHlCQUF5QixHQUFHLDJCQUEyQixJQUFJLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQTtJQUNuRyxNQUFNLDJCQUEyQixHQUFHLDZCQUE2QixJQUFJLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQTtJQUN6RyxNQUFNLGlCQUFpQixHQUFHLHFCQUFxQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxDQUFBO0lBRTdILCtCQUErQjtJQUMvQixNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFBLDZCQUFzQixFQUFDO1FBQ2pFLE9BQU87UUFDUCxrQkFBa0I7UUFDbEIseUJBQXlCO0tBQzFCLENBQUMsQ0FBQTtJQUVGLGtEQUFrRDtJQUNsRCxxRUFBcUU7SUFDckUsdUNBQXVDO0lBQ3ZDLHNFQUFzRTtJQUN0RSxtRUFBbUU7SUFDbkUsb0VBQW9FO0lBQ3BFLEdBQUc7SUFDSCwwRkFBMEY7SUFDMUYscUZBQXFGO0lBQ3JGLDBDQUEwQztJQUMxQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsK0JBQXdCLEVBQUM7UUFDdkUsT0FBTztRQUNQLFNBQVM7UUFDVCwyQkFBMkI7UUFDM0IsaUJBQWlCO0tBQ2xCLENBQUMsQ0FBQTtJQUVGLGtGQUFrRjtJQUNsRix1RkFBdUY7SUFDdkYsd0RBQXdEO0lBQ3hELE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBQSwyQkFBb0IsRUFBQztRQUMvQyxPQUFPO1FBQ1AsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixRQUFRLEVBQUU7WUFDUiwrQkFBK0IsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtTQUMxRDtLQUNGLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBNEI7UUFDckQsSUFBSSxFQUFFLFNBQVM7UUFDZixTQUFTO1FBQ1QsV0FBVztLQUNaLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBO0FBRUQsa0JBQWUsMkJBQW1CLENBQUEifQ==
|