order-management 0.0.1 → 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/api/store/orders/reorder/[order_id]/route.js +52 -0
- package/.medusa/server/src/workflows/index.js +4 -9
- package/.medusa/server/src/workflows/{types.js → reorder/types.js} +1 -1
- package/.medusa/server/src/workflows/reorder-workflow.js +27 -0
- package/.medusa/server/src/workflows/steps/create-cart-from-order-step.js +26 -0
- package/.medusa/server/src/workflows/steps/index.js +10 -0
- package/.medusa/server/src/workflows/steps/retrieve-order-step.js +52 -0
- package/.medusa/server/src/workflows/steps/transform-order-to-cart-step.js +53 -0
- package/package.json +1 -1
- package/.medusa/server/src/api/store/returns/[id]/payment-details/route.js +0 -133
- package/.medusa/server/src/config/plugin-options.js +0 -59
- package/.medusa/server/src/providers/refund-payment/base-refund-provider.js +0 -80
- package/.medusa/server/src/providers/refund-payment/index.js +0 -38
- package/.medusa/server/src/providers/refund-payment/razorpay-provider.js +0 -96
- package/.medusa/server/src/providers/refund-payment/stripe-provider.js +0 -82
- package/.medusa/server/src/subscribers/return-received.js +0 -91
- package/.medusa/server/src/types/plugin-options.js +0 -3
- package/.medusa/server/src/types/refund-payment.js +0 -3
- package/.medusa/server/src/workflows/process-cod-refund-workflow.js +0 -86
- package/.medusa/server/src/workflows/steps/calculate-refund-amount-step.js +0 -51
- package/.medusa/server/src/workflows/steps/create-refund-record-step.js +0 -193
- package/.medusa/server/src/workflows/steps/process-refund-payment-step.js +0 -87
- package/.medusa/server/src/workflows/steps/retrieve-order-and-payment-step.js +0 -44
- package/.medusa/server/src/workflows/steps/retrieve-return-payment-details-step.js +0 -56
- package/.medusa/server/src/workflows/steps/select-payment-method-step.js +0 -61
- package/.medusa/server/src/workflows/steps/update-payment-status-step.js +0 -45
- package/.medusa/server/src/workflows/steps/validate-payment-details-step.js +0 -90
- package/.medusa/server/src/workflows/steps/verify-cod-order-step.js +0 -39
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const reorder_workflow_1 = require("../../../../../workflows/reorder-workflow");
|
|
6
|
+
const POST = async (req, res) => {
|
|
7
|
+
const { order_id } = req.params;
|
|
8
|
+
if (!order_id) {
|
|
9
|
+
res.status(400).json({
|
|
10
|
+
message: "order_id is required in path parameter",
|
|
11
|
+
});
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
// Type-safe access to auth_context
|
|
15
|
+
const authContext = req.auth_context;
|
|
16
|
+
const customerId = authContext?.actor_id;
|
|
17
|
+
if (!customerId || authContext?.actor_type !== "customer") {
|
|
18
|
+
res.status(401).json({
|
|
19
|
+
message: "Unauthorized: Customer authentication is required",
|
|
20
|
+
});
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const { result } = await (0, reorder_workflow_1.reorderWorkflow)(req.scope).run({
|
|
25
|
+
input: {
|
|
26
|
+
order_id,
|
|
27
|
+
customer_id: customerId,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
res.json(result);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
// Log error for debugging
|
|
34
|
+
console.error("Reorder workflow error:", error);
|
|
35
|
+
if (error instanceof utils_1.MedusaError) {
|
|
36
|
+
res.status(error.type === utils_1.MedusaError.Types.NOT_FOUND ? 404 : 400).json({
|
|
37
|
+
message: error.message,
|
|
38
|
+
type: error.type,
|
|
39
|
+
});
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Return detailed error information
|
|
43
|
+
const errorMessage = error instanceof Error ? error.message : "An error occurred";
|
|
44
|
+
const errorStack = error instanceof Error ? error.stack : undefined;
|
|
45
|
+
res.status(500).json({
|
|
46
|
+
message: errorMessage,
|
|
47
|
+
...(process.env.NODE_ENV === "development" && { stack: errorStack }),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.POST = POST;
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL29yZGVycy9yZW9yZGVyL1tvcmRlcl9pZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXVEO0FBQ3ZELGdGQUEyRTtBQUVwRSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUUvQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixPQUFPLEVBQUUsd0NBQXdDO1NBQ2xELENBQUMsQ0FBQTtRQUNGLE9BQU07SUFDUixDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLE1BQU0sV0FBVyxHQUFJLEdBRW5CLENBQUMsWUFBWSxDQUFBO0lBRWYsTUFBTSxVQUFVLEdBQUcsV0FBVyxFQUFFLFFBQVEsQ0FBQTtJQUV4QyxJQUFJLENBQUMsVUFBVSxJQUFJLFdBQVcsRUFBRSxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDMUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLG1EQUFtRDtTQUM3RCxDQUFDLENBQUE7UUFDRixPQUFNO0lBQ1IsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsa0NBQWUsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3RELEtBQUssRUFBRTtnQkFDTCxRQUFRO2dCQUNSLFdBQVcsRUFBRSxVQUFVO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLDBCQUEwQjtRQUMxQixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFBO1FBRS9DLElBQUksS0FBSyxZQUFZLG1CQUFXLEVBQUUsQ0FBQztZQUNqQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDdEUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDakIsQ0FBQyxDQUFBO1lBQ0YsT0FBTTtRQUNSLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUE7UUFDakYsTUFBTSxVQUFVLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1FBRW5FLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxhQUFhLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUM7U0FDckUsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQTtBQXpEWSxRQUFBLElBQUksUUF5RGhCIn0=
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
var
|
|
8
|
-
Object.defineProperty(exports, "
|
|
9
|
-
|
|
10
|
-
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(process_cod_refund_workflow_2).default; } });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDZFQUF3RTtBQUEvRCx1SUFBQSx3QkFBd0IsT0FBQTtBQUNqQyw2RUFBdUQ7QUFBOUMsdUlBQUEsT0FBTyxPQUFBIn0=
|
|
3
|
+
exports.reorderWorkflow = void 0;
|
|
4
|
+
var reorder_workflow_1 = require("./reorder-workflow");
|
|
5
|
+
Object.defineProperty(exports, "reorderWorkflow", { enumerable: true, get: function () { return reorder_workflow_1.reorderWorkflow; } });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUFvRDtBQUEzQyxtSEFBQSxlQUFlLE9BQUEifQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3Jlb3JkZXIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reorderWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const steps_1 = require("./steps");
|
|
6
|
+
exports.reorderWorkflow = (0, workflows_sdk_1.createWorkflow)("reorder", (input) => {
|
|
7
|
+
const { order_id, customer_id } = input;
|
|
8
|
+
// Step 1: Retrieve and validate order
|
|
9
|
+
const { order } = (0, steps_1.retrieveOrderStep)({
|
|
10
|
+
order_id,
|
|
11
|
+
customer_id,
|
|
12
|
+
});
|
|
13
|
+
// Step 2: Transform order to cart input
|
|
14
|
+
const { cartInput } = (0, steps_1.transformOrderToCartStep)({
|
|
15
|
+
order,
|
|
16
|
+
});
|
|
17
|
+
// Step 3: Create cart from order
|
|
18
|
+
const { cart } = (0, steps_1.createCartFromOrderStep)({
|
|
19
|
+
cartInput,
|
|
20
|
+
});
|
|
21
|
+
// Return only cart ID (no order creation)
|
|
22
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
23
|
+
cart_id: cart.id,
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
exports.default = exports.reorderWorkflow;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVvcmRlci13b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmVvcmRlci13b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMsbUNBSWdCO0FBTUgsUUFBQSxlQUFlLEdBQUcsSUFBQSw4QkFBYyxFQUMzQyxTQUFTLEVBQ1QsQ0FDRSxLQUEyQixFQUNjLEVBQUU7SUFDM0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUE7SUFFdkMsc0NBQXNDO0lBQ3RDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFBLHlCQUFpQixFQUFDO1FBQ2xDLFFBQVE7UUFDUixXQUFXO0tBQ1osQ0FBQyxDQUFBO0lBRUYsd0NBQXdDO0lBQ3hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFBLGdDQUF3QixFQUFDO1FBQzdDLEtBQUs7S0FDTixDQUFDLENBQUE7SUFFRixpQ0FBaUM7SUFDakMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUEsK0JBQXVCLEVBQUM7UUFDdkMsU0FBUztLQUNWLENBQUMsQ0FBQTtJQUVGLDBDQUEwQztJQUMxQyxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFO0tBQ2pCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBO0FBRUQsa0JBQWUsdUJBQWUsQ0FBQSJ9
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCartFromOrderStep = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
exports.createCartFromOrderStep = (0, workflows_sdk_1.createStep)("create-cart-from-order", async (input, { container }) => {
|
|
8
|
+
const { cartInput } = input;
|
|
9
|
+
if (!cartInput.region_id) {
|
|
10
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "region_id is required to create a cart");
|
|
11
|
+
}
|
|
12
|
+
const { result: cart } = await (0, core_flows_1.createCartWorkflow)(container).run({
|
|
13
|
+
input: cartInput,
|
|
14
|
+
});
|
|
15
|
+
if (!cart) {
|
|
16
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Failed to create cart");
|
|
17
|
+
}
|
|
18
|
+
// Trust the cart object returned by createCartWorkflow
|
|
19
|
+
// Investigation showed that the raw cart object is clean (no payment collection)
|
|
20
|
+
// The remote query was incorrectly returning a different cart, causing false positives
|
|
21
|
+
// Payment collection will be created fresh in create-order-conditionally-step when needed
|
|
22
|
+
return new workflows_sdk_1.StepResponse({
|
|
23
|
+
cart: cart,
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNhcnQtZnJvbS1vcmRlci1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9jcmVhdGUtY2FydC1mcm9tLW9yZGVyLXN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVEO0FBQ3ZELHFFQUE0RTtBQUM1RSw0REFBZ0U7QUFjbkQsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBQy9DLHdCQUF3QixFQUN4QixLQUFLLEVBQ0gsS0FBbUMsRUFDbkMsRUFBRSxTQUFTLEVBQUUsRUFDeUMsRUFBRTtJQUN4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBRTNCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsd0NBQXdDLENBQ3pDLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUEsK0JBQWtCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQy9ELEtBQUssRUFBRSxTQUFTO0tBQ2pCLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsdUJBQXVCLENBQ3hCLENBQUE7SUFDSCxDQUFDO0lBRUQsdURBQXVEO0lBQ3ZELGlGQUFpRjtJQUNqRix1RkFBdUY7SUFDdkYsMEZBQTBGO0lBRTFGLE9BQU8sSUFBSSw0QkFBWSxDQUFnQztRQUNyRCxJQUFJLEVBQUUsSUFBd0Q7S0FDL0QsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCartFromOrderStep = exports.transformOrderToCartStep = exports.retrieveOrderStep = void 0;
|
|
4
|
+
var retrieve_order_step_1 = require("./retrieve-order-step");
|
|
5
|
+
Object.defineProperty(exports, "retrieveOrderStep", { enumerable: true, get: function () { return retrieve_order_step_1.retrieveOrderStep; } });
|
|
6
|
+
var transform_order_to_cart_step_1 = require("./transform-order-to-cart-step");
|
|
7
|
+
Object.defineProperty(exports, "transformOrderToCartStep", { enumerable: true, get: function () { return transform_order_to_cart_step_1.transformOrderToCartStep; } });
|
|
8
|
+
var create_cart_from_order_step_1 = require("./create-cart-from-order-step");
|
|
9
|
+
Object.defineProperty(exports, "createCartFromOrderStep", { enumerable: true, get: function () { return create_cart_from_order_step_1.createCartFromOrderStep; } });
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUF5RDtBQUFoRCx3SEFBQSxpQkFBaUIsT0FBQTtBQUMxQiwrRUFBeUU7QUFBaEUsd0lBQUEsd0JBQXdCLE9BQUE7QUFDakMsNkVBQXVFO0FBQTlELHNJQUFBLHVCQUF1QixPQUFBIn0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retrieveOrderStep = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const utils_2 = require("@medusajs/framework/utils");
|
|
7
|
+
exports.retrieveOrderStep = (0, workflows_sdk_1.createStep)("retrieve-order", async (input, { container }) => {
|
|
8
|
+
const { order_id, customer_id } = input;
|
|
9
|
+
if (!order_id) {
|
|
10
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "order_id is required");
|
|
11
|
+
}
|
|
12
|
+
if (!customer_id) {
|
|
13
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Customer authentication is required");
|
|
14
|
+
}
|
|
15
|
+
const remoteQuery = container.resolve(utils_2.ContainerRegistrationKeys.REMOTE_QUERY);
|
|
16
|
+
let orders;
|
|
17
|
+
try {
|
|
18
|
+
const queryObject = (0, utils_2.remoteQueryObjectFromString)({
|
|
19
|
+
entryPoint: "order",
|
|
20
|
+
fields: [
|
|
21
|
+
"id",
|
|
22
|
+
"items.*",
|
|
23
|
+
"shipping_address.*",
|
|
24
|
+
"billing_address.*",
|
|
25
|
+
"region_id",
|
|
26
|
+
"sales_channel_id",
|
|
27
|
+
"customer_id",
|
|
28
|
+
"email",
|
|
29
|
+
],
|
|
30
|
+
filters: {
|
|
31
|
+
id: order_id,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
orders = await remoteQuery(queryObject);
|
|
35
|
+
}
|
|
36
|
+
catch (queryError) {
|
|
37
|
+
console.error("Remote query error:", queryError);
|
|
38
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `Failed to retrieve order: ${queryError instanceof Error ? queryError.message : "Unknown error"}`);
|
|
39
|
+
}
|
|
40
|
+
const order = Array.isArray(orders) ? orders[0] : orders;
|
|
41
|
+
if (!order) {
|
|
42
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Order with id ${order_id} not found`);
|
|
43
|
+
}
|
|
44
|
+
// Validate customer ownership
|
|
45
|
+
if (order.customer_id !== customer_id) {
|
|
46
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "You can only reorder your own orders");
|
|
47
|
+
}
|
|
48
|
+
return new workflows_sdk_1.StepResponse({
|
|
49
|
+
order: order,
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmlldmUtb3JkZXItc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvcmV0cmlldmUtb3JkZXItc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBdUQ7QUFDdkQscUVBQTRFO0FBQzVFLHFEQUFrRztBQWtEckYsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLGdCQUFnQixFQUNoQixLQUFLLEVBQ0gsS0FBNkIsRUFDN0IsRUFBRSxTQUFTLEVBQUUsRUFDbUMsRUFBRTtJQUNsRCxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUV2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixzQkFBc0IsQ0FDdkIsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIscUNBQXFDLENBQ3RDLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDbkMsaUNBQXlCLENBQUMsWUFBWSxDQUN2QyxDQUFBO0lBRUQsSUFBSSxNQUFNLENBQUE7SUFDVixJQUFJLENBQUM7UUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFBLG1DQUEyQixFQUFDO1lBQzlDLFVBQVUsRUFBRSxPQUFPO1lBQ25CLE1BQU0sRUFBRTtnQkFDTixJQUFJO2dCQUNKLFNBQVM7Z0JBQ1Qsb0JBQW9CO2dCQUNwQixtQkFBbUI7Z0JBQ25CLFdBQVc7Z0JBQ1gsa0JBQWtCO2dCQUNsQixhQUFhO2dCQUNiLE9BQU87YUFDUjtZQUNELE9BQU8sRUFBRTtnQkFDUCxFQUFFLEVBQUUsUUFBUTthQUNiO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFBQyxPQUFPLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDaEQsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUNsQyw2QkFBNkIsVUFBVSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQ2xHLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7SUFFeEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IsaUJBQWlCLFFBQVEsWUFBWSxDQUN0QyxDQUFBO0lBQ0gsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0Isc0NBQXNDLENBQ3ZDLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQTBCO1FBQy9DLEtBQUssRUFBRSxLQUF5QztLQUNqRCxDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformOrderToCartStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
exports.transformOrderToCartStep = (0, workflows_sdk_1.createStep)("transform-order-to-cart", async (input) => {
|
|
6
|
+
const { order } = input;
|
|
7
|
+
// Map order items to cart items
|
|
8
|
+
const items = (order.items || []).map((item) => ({
|
|
9
|
+
variant_id: item.variant_id,
|
|
10
|
+
quantity: item.quantity,
|
|
11
|
+
}));
|
|
12
|
+
// Extract billing address
|
|
13
|
+
const billingAddress = order.billing_address
|
|
14
|
+
? {
|
|
15
|
+
first_name: order.billing_address.first_name,
|
|
16
|
+
last_name: order.billing_address.last_name,
|
|
17
|
+
address_1: order.billing_address.address_1,
|
|
18
|
+
address_2: order.billing_address.address_2,
|
|
19
|
+
city: order.billing_address.city,
|
|
20
|
+
country_code: order.billing_address.country_code,
|
|
21
|
+
province: order.billing_address.province,
|
|
22
|
+
postal_code: order.billing_address.postal_code,
|
|
23
|
+
phone: order.billing_address.phone,
|
|
24
|
+
}
|
|
25
|
+
: undefined;
|
|
26
|
+
// Extract shipping address
|
|
27
|
+
const shippingAddress = order.shipping_address
|
|
28
|
+
? {
|
|
29
|
+
first_name: order.shipping_address.first_name,
|
|
30
|
+
last_name: order.shipping_address.last_name,
|
|
31
|
+
address_1: order.shipping_address.address_1,
|
|
32
|
+
address_2: order.shipping_address.address_2,
|
|
33
|
+
city: order.shipping_address.city,
|
|
34
|
+
country_code: order.shipping_address.country_code,
|
|
35
|
+
province: order.shipping_address.province,
|
|
36
|
+
postal_code: order.shipping_address.postal_code,
|
|
37
|
+
phone: order.shipping_address.phone,
|
|
38
|
+
}
|
|
39
|
+
: undefined;
|
|
40
|
+
const cartInput = {
|
|
41
|
+
region_id: order.region_id,
|
|
42
|
+
sales_channel_id: order.sales_channel_id,
|
|
43
|
+
customer_id: order.customer_id,
|
|
44
|
+
email: order.email,
|
|
45
|
+
billing_address: billingAddress,
|
|
46
|
+
shipping_address: shippingAddress,
|
|
47
|
+
items,
|
|
48
|
+
};
|
|
49
|
+
return new workflows_sdk_1.StepResponse({
|
|
50
|
+
cartInput,
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLW9yZGVyLXRvLWNhcnQtc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvdHJhbnNmb3JtLW9yZGVyLXRvLWNhcnQtc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNEU7QUEwQy9ELFFBQUEsd0JBQXdCLEdBQUcsSUFBQSwwQkFBVSxFQUNoRCx5QkFBeUIsRUFDekIsS0FBSyxFQUNILEtBQW9DLEVBQ21CLEVBQUU7SUFDekQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUV2QixnQ0FBZ0M7SUFDaEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7UUFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO0tBQ3hCLENBQUMsQ0FBQyxDQUFBO0lBRUgsMEJBQTBCO0lBQzFCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxlQUFlO1FBQzFDLENBQUMsQ0FBQztZQUNFLFVBQVUsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQVU7WUFDNUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUztZQUMxQyxTQUFTLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTO1lBQzFDLFNBQVMsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVM7WUFDMUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSTtZQUNoQyxZQUFZLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxZQUFZO1lBQ2hELFFBQVEsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVE7WUFDeEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVztZQUM5QyxLQUFLLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUFLO1NBQ25DO1FBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUViLDJCQUEyQjtJQUMzQixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsZ0JBQWdCO1FBQzVDLENBQUMsQ0FBQztZQUNFLFVBQVUsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtZQUM3QyxTQUFTLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVM7WUFDM0MsU0FBUyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO1lBQzNDLFNBQVMsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBUztZQUMzQyxJQUFJLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUk7WUFDakMsWUFBWSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZO1lBQ2pELFFBQVEsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUTtZQUN6QyxXQUFXLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFdBQVc7WUFDL0MsS0FBSyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO1NBQ3BDO1FBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUViLE1BQU0sU0FBUyxHQUFnRDtRQUM3RCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtRQUN4QyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7UUFDOUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ2xCLGVBQWUsRUFBRSxjQUFjO1FBQy9CLGdCQUFnQixFQUFFLGVBQWU7UUFDakMsS0FBSztLQUNOLENBQUE7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBaUM7UUFDdEQsU0FBUztLQUNWLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
|
package/package.json
CHANGED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.POST = void 0;
|
|
4
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
-
const utils_2 = require("@medusajs/framework/utils");
|
|
6
|
-
const POST = async (req, res) => {
|
|
7
|
-
const { id: return_id } = req.params;
|
|
8
|
-
const paymentDetails = req.body;
|
|
9
|
-
if (!return_id) {
|
|
10
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Return ID is required");
|
|
11
|
-
}
|
|
12
|
-
if (!paymentDetails) {
|
|
13
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Payment details are required");
|
|
14
|
-
}
|
|
15
|
-
// Validate required fields
|
|
16
|
-
if (!paymentDetails.method) {
|
|
17
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Payment method is required");
|
|
18
|
-
}
|
|
19
|
-
if (!paymentDetails.currency_code) {
|
|
20
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Currency code is required");
|
|
21
|
-
}
|
|
22
|
-
// Get order service to retrieve return
|
|
23
|
-
const orderService = req.scope.resolve(utils_2.Modules.ORDER);
|
|
24
|
-
// Find return by ID
|
|
25
|
-
// Note: In Medusa, returns are linked to orders, so we need to search through orders
|
|
26
|
-
// This is a simplified approach - in production, you might want to use a more efficient query
|
|
27
|
-
const returnRecord = await findReturnById(orderService, return_id);
|
|
28
|
-
if (!returnRecord) {
|
|
29
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Return with ID ${return_id} not found`);
|
|
30
|
-
}
|
|
31
|
-
// Get order to verify customer ownership (if needed)
|
|
32
|
-
const orderId = returnRecord.order_id;
|
|
33
|
-
const order = await orderService.retrieveOrder(orderId);
|
|
34
|
-
// Verify customer ownership (optional - depends on your security requirements)
|
|
35
|
-
const authContext = req.auth_context;
|
|
36
|
-
if (authContext?.actor_type === "customer") {
|
|
37
|
-
const customerId = authContext.actor_id;
|
|
38
|
-
if (order.customer_id !== customerId) {
|
|
39
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You are not authorized to update this return");
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
// Update return metadata with payment details
|
|
43
|
-
const currentMetadata = returnRecord.metadata || {};
|
|
44
|
-
const updatedMetadata = {
|
|
45
|
-
...currentMetadata,
|
|
46
|
-
refund_payment_details: paymentDetails,
|
|
47
|
-
payment_details_updated_at: new Date().toISOString(),
|
|
48
|
-
};
|
|
49
|
-
// Attempt to update return metadata via order service
|
|
50
|
-
// Note: Medusa v2 may not expose direct return update API
|
|
51
|
-
// We'll try to update through the order service if available
|
|
52
|
-
try {
|
|
53
|
-
// Try to update the return through order service
|
|
54
|
-
// Check if orderService has an updateReturn or similar method
|
|
55
|
-
const orderServiceWithReturns = orderService;
|
|
56
|
-
if (orderServiceWithReturns.updateReturn) {
|
|
57
|
-
await orderServiceWithReturns.updateReturn(return_id, {
|
|
58
|
-
metadata: updatedMetadata,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
// If direct return update is not available, try updating through order
|
|
63
|
-
// This is a workaround - in production, you may need a custom module
|
|
64
|
-
const orderWithReturns = order;
|
|
65
|
-
const returns = orderWithReturns.returns || [];
|
|
66
|
-
const returnIndex = returns.findIndex((ret) => ret.id === return_id);
|
|
67
|
-
if (returnIndex >= 0) {
|
|
68
|
-
returns[returnIndex] = {
|
|
69
|
-
...returns[returnIndex],
|
|
70
|
-
metadata: updatedMetadata,
|
|
71
|
-
};
|
|
72
|
-
// Try to update order with modified returns
|
|
73
|
-
const orderServiceWithUpdate = orderService;
|
|
74
|
-
if (orderServiceWithUpdate.updateOrder) {
|
|
75
|
-
await orderServiceWithUpdate.updateOrder(orderId, {
|
|
76
|
-
returns: returns,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
// If update methods are not available, log warning
|
|
81
|
-
console.warn(`[payment-details] Unable to persist return metadata for return ${return_id}. ` +
|
|
82
|
-
`Order service does not expose return update methods. ` +
|
|
83
|
-
`Payment details structure is correct but may not be persisted. ` +
|
|
84
|
-
`Consider implementing a custom return module or extending Medusa's return service.`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
// Log error but don't fail the request - metadata structure is correct
|
|
91
|
-
// The limitation is in Medusa's API, not our implementation
|
|
92
|
-
console.error(`[payment-details] Error updating return metadata for return ${return_id}:`, error instanceof Error ? error.message : error);
|
|
93
|
-
console.warn(`[payment-details] Payment details metadata structure is correct but may not be persisted. ` +
|
|
94
|
-
`This is a known limitation when Medusa's return update API is not available.`);
|
|
95
|
-
}
|
|
96
|
-
return res.json({
|
|
97
|
-
success: true,
|
|
98
|
-
message: "Payment details saved successfully",
|
|
99
|
-
return_id,
|
|
100
|
-
note: "Payment details have been processed. If return update API is not available in your Medusa version, " +
|
|
101
|
-
"you may need to implement a custom return module to persist metadata.",
|
|
102
|
-
});
|
|
103
|
-
};
|
|
104
|
-
exports.POST = POST;
|
|
105
|
-
// Helper function to find return by ID
|
|
106
|
-
async function findReturnById(orderService, returnId) {
|
|
107
|
-
// This is a simplified implementation
|
|
108
|
-
// In production, you might want to use a more efficient query method
|
|
109
|
-
// or extend Medusa's return service
|
|
110
|
-
// For now, we'll need to search through orders
|
|
111
|
-
// This is not ideal for performance but works for the initial implementation
|
|
112
|
-
try {
|
|
113
|
-
// Try to retrieve via order relations
|
|
114
|
-
// Note: This assumes returns are accessible via order relations
|
|
115
|
-
// You may need to adjust based on your Medusa version and setup
|
|
116
|
-
const orders = await orderService.listOrders({
|
|
117
|
-
// Query to find order with this return
|
|
118
|
-
});
|
|
119
|
-
for (const order of orders) {
|
|
120
|
-
const orderWithReturns = order;
|
|
121
|
-
const returns = orderWithReturns.returns || [];
|
|
122
|
-
const returnRecord = returns.find((ret) => ret.id === returnId);
|
|
123
|
-
if (returnRecord) {
|
|
124
|
-
return returnRecord;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
catch (error) {
|
|
129
|
-
console.error("Error finding return:", error);
|
|
130
|
-
}
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3JldHVybnMvW2lkXS9wYXltZW50LWRldGFpbHMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXVEO0FBQ3ZELHFEQUFtRDtBQUk1QyxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFDcEMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLElBQTRCLENBQUE7SUFFdkQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsdUJBQXVCLENBQ3hCLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDhCQUE4QixDQUMvQixDQUFBO0lBQ0gsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDRCQUE0QixDQUM3QixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMkJBQTJCLENBQzVCLENBQUE7SUFDSCxDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxL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
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_ORDER_MANAGEMENT_OPTIONS = void 0;
|
|
4
|
-
exports.normalizeOrderManagementOptions = normalizeOrderManagementOptions;
|
|
5
|
-
exports.resolveOrderManagementOptions = resolveOrderManagementOptions;
|
|
6
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
-
const zod_1 = require("zod");
|
|
8
|
-
const RefundProviderCredentialsSchema = zod_1.z.object({
|
|
9
|
-
razorpay: zod_1.z
|
|
10
|
-
.object({
|
|
11
|
-
keyId: zod_1.z.string().min(1),
|
|
12
|
-
keySecret: zod_1.z.string().min(1),
|
|
13
|
-
})
|
|
14
|
-
.optional(),
|
|
15
|
-
stripe: zod_1.z
|
|
16
|
-
.object({
|
|
17
|
-
apiKey: zod_1.z.string().min(1),
|
|
18
|
-
})
|
|
19
|
-
.optional(),
|
|
20
|
-
});
|
|
21
|
-
const OrderManagementPluginOptionsSchema = zod_1.z.object({
|
|
22
|
-
refundProviders: zod_1.z
|
|
23
|
-
.object({
|
|
24
|
-
enabled: zod_1.z.array(zod_1.z.enum(["razorpay", "stripe"])).optional(),
|
|
25
|
-
credentials: RefundProviderCredentialsSchema.optional(),
|
|
26
|
-
providerSelection: zod_1.z.enum(["auto", "manual"]).default("auto"),
|
|
27
|
-
})
|
|
28
|
-
.optional(),
|
|
29
|
-
});
|
|
30
|
-
function normalizeOrderManagementOptions(input) {
|
|
31
|
-
const parsed = OrderManagementPluginOptionsSchema.parse(input ?? {});
|
|
32
|
-
return {
|
|
33
|
-
refundProviders: parsed.refundProviders
|
|
34
|
-
? {
|
|
35
|
-
enabled: parsed.refundProviders.enabled,
|
|
36
|
-
credentials: parsed.refundProviders.credentials,
|
|
37
|
-
providerSelection: parsed.refundProviders.providerSelection,
|
|
38
|
-
}
|
|
39
|
-
: undefined,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
exports.DEFAULT_ORDER_MANAGEMENT_OPTIONS = normalizeOrderManagementOptions({});
|
|
43
|
-
const PLUGIN_NAME = "order-management";
|
|
44
|
-
function resolveOrderManagementOptions(configModule) {
|
|
45
|
-
const plugins = configModule?.plugins ?? [];
|
|
46
|
-
for (const plugin of plugins) {
|
|
47
|
-
if ((0, utils_1.isString)(plugin)) {
|
|
48
|
-
if (plugin === PLUGIN_NAME) {
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
if (plugin?.resolve === PLUGIN_NAME) {
|
|
54
|
-
return normalizeOrderManagementOptions(plugin.options);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return exports.DEFAULT_ORDER_MANAGEMENT_OPTIONS;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29uZmlnL3BsdWdpbi1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZDQSwwRUFjQztBQU9ELHNFQW1CQztBQXJGRCxxREFBb0Q7QUFDcEQsNkJBQXVCO0FBTXZCLE1BQU0sK0JBQStCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxRQUFRLEVBQUUsT0FBQztTQUNSLE1BQU0sQ0FBQztRQUNOLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4QixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDN0IsQ0FBQztTQUNELFFBQVEsRUFBRTtJQUNiLE1BQU0sRUFBRSxPQUFDO1NBQ04sTUFBTSxDQUFDO1FBQ04sTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQzFCLENBQUM7U0FDRCxRQUFRLEVBQUU7Q0FDZCxDQUFDLENBQUE7QUFFRixNQUFNLGtDQUFrQyxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEQsZUFBZSxFQUFFLE9BQUM7U0FDZixNQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7UUFDM0QsV0FBVyxFQUFFLCtCQUErQixDQUFDLFFBQVEsRUFBRTtRQUN2RCxpQkFBaUIsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztLQUM5RCxDQUFDO1NBQ0QsUUFBUSxFQUFFO0NBQ2QsQ0FBQyxDQUFBO0FBZ0JGLFNBQWdCLCtCQUErQixDQUM3QyxLQUE4QztJQUU5QyxNQUFNLE1BQU0sR0FBRyxrQ0FBa0MsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBRXBFLE9BQU87UUFDTCxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7WUFDckMsQ0FBQyxDQUFDO2dCQUNFLE9BQU8sRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU87Z0JBQ3ZDLFdBQVcsRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLFdBQVc7Z0JBQy9DLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsaUJBQWlCO2FBQzVEO1lBQ0gsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUFBO0FBQ0gsQ0FBQztBQUVZLFFBQUEsZ0NBQWdDLEdBQzNDLCtCQUErQixDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBRXJDLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFBO0FBRXRDLFNBQWdCLDZCQUE2QixDQUMzQyxZQUFnQztJQUVoQyxNQUFNLE9BQU8sR0FBRyxZQUFZLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQTtJQUUzQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksSUFBQSxnQkFBUSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDckIsSUFBSSxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQzNCLE1BQUs7WUFDUCxDQUFDO1lBQ0QsU0FBUTtRQUNWLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxPQUFPLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDcEMsT0FBTywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDeEQsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLHdDQUFnQyxDQUFBO0FBQ3pDLENBQUMifQ==
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseRefundProvider = void 0;
|
|
4
|
-
class BaseRefundProvider {
|
|
5
|
-
constructor(providerName) {
|
|
6
|
-
this.providerName = providerName;
|
|
7
|
-
}
|
|
8
|
-
getName() {
|
|
9
|
-
return this.providerName;
|
|
10
|
-
}
|
|
11
|
-
validatePaymentDetails(payment_details, requiredMethod) {
|
|
12
|
-
if (payment_details.method !== requiredMethod) {
|
|
13
|
-
return {
|
|
14
|
-
valid: false,
|
|
15
|
-
error: `Payment method mismatch. Expected ${requiredMethod}, got ${payment_details.method}`,
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
switch (requiredMethod) {
|
|
19
|
-
case "bank_transfer":
|
|
20
|
-
if (!payment_details.bank_account) {
|
|
21
|
-
return {
|
|
22
|
-
valid: false,
|
|
23
|
-
error: "Bank account details are required for bank transfer",
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
if (!payment_details.bank_account.account_number) {
|
|
27
|
-
return {
|
|
28
|
-
valid: false,
|
|
29
|
-
error: "Bank account number is required",
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
if (!payment_details.bank_account.account_holder_name) {
|
|
33
|
-
return {
|
|
34
|
-
valid: false,
|
|
35
|
-
error: "Account holder name is required",
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
break;
|
|
39
|
-
case "upi":
|
|
40
|
-
if (!payment_details.upi_id) {
|
|
41
|
-
return {
|
|
42
|
-
valid: false,
|
|
43
|
-
error: "UPI ID is required for UPI refund",
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
break;
|
|
47
|
-
case "wallet":
|
|
48
|
-
if (!payment_details.wallet) {
|
|
49
|
-
return {
|
|
50
|
-
valid: false,
|
|
51
|
-
error: "Wallet details are required for wallet refund",
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
if (!payment_details.wallet.wallet_id) {
|
|
55
|
-
return {
|
|
56
|
-
valid: false,
|
|
57
|
-
error: "Wallet ID is required",
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
return { valid: true };
|
|
63
|
-
}
|
|
64
|
-
createErrorResult(errorMessage, errorCode) {
|
|
65
|
-
return {
|
|
66
|
-
success: false,
|
|
67
|
-
error_message: errorMessage,
|
|
68
|
-
error_code: errorCode,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
createSuccessResult(transactionId, gatewayResponse) {
|
|
72
|
-
return {
|
|
73
|
-
success: true,
|
|
74
|
-
transaction_id: transactionId,
|
|
75
|
-
gateway_response: gatewayResponse,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.BaseRefundProvider = BaseRefundProvider;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZWZ1bmQtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3JlZnVuZC1wYXltZW50L2Jhc2UtcmVmdW5kLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLE1BQXNCLGtCQUFrQjtJQUd0QyxZQUFZLFlBQW9CO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFBO0lBQ2xDLENBQUM7SUFpQkQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQTtJQUMxQixDQUFDO0lBRVMsc0JBQXNCLENBQzlCLGVBQXFDLEVBQ3JDLGNBQTZCO1FBRTdCLElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxjQUFjLEVBQUUsQ0FBQztZQUM5QyxPQUFPO2dCQUNMLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxxQ0FBcUMsY0FBYyxTQUFTLGVBQWUsQ0FBQyxNQUFNLEVBQUU7YUFDNUYsQ0FBQTtRQUNILENBQUM7UUFFRCxRQUFRLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssZUFBZTtnQkFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDbEMsT0FBTzt3QkFDTCxLQUFLLEVBQUUsS0FBSzt3QkFDWixLQUFLLEVBQUUscURBQXFEO3FCQUM3RCxDQUFBO2dCQUNILENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ2pELE9BQU87d0JBQ0wsS0FBSyxFQUFFLEtBQUs7d0JBQ1osS0FBSyxFQUFFLGlDQUFpQztxQkFDekMsQ0FBQTtnQkFDSCxDQUFDO2dCQUNELElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7b0JBQ3RELE9BQU87d0JBQ0wsS0FBSyxFQUFFLEtBQUs7d0JBQ1osS0FBSyxFQUFFLGlDQUFpQztxQkFDekMsQ0FBQTtnQkFDSCxDQUFDO2dCQUNELE1BQUs7WUFFUCxLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDNUIsT0FBTzt3QkFDTCxLQUFLLEVBQUUsS0FBSzt3QkFDWixLQUFLLEVBQUUsbUNBQW1DO3FCQUMzQyxDQUFBO2dCQUNILENBQUM7Z0JBQ0QsTUFBSztZQUVQLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUM1QixPQUFPO3dCQUNMLEtBQUssRUFBRSxLQUFLO3dCQUNaLEtBQUssRUFBRSwrQ0FBK0M7cUJBQ3ZELENBQUE7Z0JBQ0gsQ0FBQztnQkFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDdEMsT0FBTzt3QkFDTCxLQUFLLEVBQUUsS0FBSzt3QkFDWixLQUFLLEVBQUUsdUJBQXVCO3FCQUMvQixDQUFBO2dCQUNILENBQUM7Z0JBQ0QsTUFBSztRQUNULENBQUM7UUFFRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFUyxpQkFBaUIsQ0FDekIsWUFBb0IsRUFDcEIsU0FBa0I7UUFFbEIsT0FBTztZQUNMLE9BQU8sRUFBRSxLQUFLO1lBQ2QsYUFBYSxFQUFFLFlBQVk7WUFDM0IsVUFBVSxFQUFFLFNBQVM7U0FDdEIsQ0FBQTtJQUNILENBQUM7SUFFUyxtQkFBbUIsQ0FDM0IsYUFBcUIsRUFDckIsZUFBeUI7UUFFekIsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJO1lBQ2IsY0FBYyxFQUFFLGFBQWE7WUFDN0IsZ0JBQWdCLEVBQUUsZUFBZTtTQUNsQyxDQUFBO0lBQ0gsQ0FBQztDQUNGO0FBNUdELGdEQTRHQyJ9
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StripeRefundProvider = exports.RazorpayRefundProvider = exports.BaseRefundProvider = void 0;
|
|
4
|
-
exports.createRefundProviders = createRefundProviders;
|
|
5
|
-
exports.selectProvider = selectProvider;
|
|
6
|
-
const razorpay_provider_1 = require("./razorpay-provider");
|
|
7
|
-
const stripe_provider_1 = require("./stripe-provider");
|
|
8
|
-
var base_refund_provider_1 = require("./base-refund-provider");
|
|
9
|
-
Object.defineProperty(exports, "BaseRefundProvider", { enumerable: true, get: function () { return base_refund_provider_1.BaseRefundProvider; } });
|
|
10
|
-
var razorpay_provider_2 = require("./razorpay-provider");
|
|
11
|
-
Object.defineProperty(exports, "RazorpayRefundProvider", { enumerable: true, get: function () { return razorpay_provider_2.RazorpayRefundProvider; } });
|
|
12
|
-
var stripe_provider_2 = require("./stripe-provider");
|
|
13
|
-
Object.defineProperty(exports, "StripeRefundProvider", { enumerable: true, get: function () { return stripe_provider_2.StripeRefundProvider; } });
|
|
14
|
-
function createRefundProviders(config) {
|
|
15
|
-
const providers = [];
|
|
16
|
-
if (config.razorpay) {
|
|
17
|
-
providers.push(new razorpay_provider_1.RazorpayRefundProvider({
|
|
18
|
-
keyId: config.razorpay.keyId,
|
|
19
|
-
keySecret: config.razorpay.keySecret,
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
if (config.stripe) {
|
|
23
|
-
providers.push(new stripe_provider_1.StripeRefundProvider({
|
|
24
|
-
apiKey: config.stripe.apiKey,
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
return providers;
|
|
28
|
-
}
|
|
29
|
-
function selectProvider(providers, currencyCode, paymentMethod) {
|
|
30
|
-
for (const provider of providers) {
|
|
31
|
-
if (provider.supportsCurrency(currencyCode) &&
|
|
32
|
-
provider.supportsPaymentMethod(paymentMethod, currencyCode)) {
|
|
33
|
-
return provider;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3JlZnVuZC1wYXltZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1CQSxzREF1QkM7QUFFRCx3Q0FrQkM7QUE3REQsMkRBQTREO0FBQzVELHVEQUF3RDtBQUd4RCwrREFBMkQ7QUFBbEQsMEhBQUEsa0JBQWtCLE9BQUE7QUFDM0IseURBQTREO0FBQW5ELDJIQUFBLHNCQUFzQixPQUFBO0FBQy9CLHFEQUF3RDtBQUEvQyx1SEFBQSxvQkFBb0IsT0FBQTtBQVk3QixTQUFnQixxQkFBcUIsQ0FDbkMsTUFBNEI7SUFFNUIsTUFBTSxTQUFTLEdBQTRCLEVBQUUsQ0FBQTtJQUU3QyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixTQUFTLENBQUMsSUFBSSxDQUNaLElBQUksMENBQXNCLENBQUM7WUFDekIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSztZQUM1QixTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1NBQ3JDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLFNBQVMsQ0FBQyxJQUFJLENBQ1osSUFBSSxzQ0FBb0IsQ0FBQztZQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1NBQzdCLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFBO0FBQ2xCLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQzVCLFNBQWtDLEVBQ2xDLFlBQW9CLEVBQ3BCLGFBQXFCO0lBRXJCLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7UUFDakMsSUFDRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1lBQ3ZDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FDNUIsYUFBNkQsRUFDN0QsWUFBWSxDQUNiLEVBQ0QsQ0FBQztZQUNELE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDIn0=
|