@devx-commerce/plugin-discounts-svaraa 0.0.2-beta.16 → 0.0.2-beta.18
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/pos/discounts/apply/route.js +2 -5
- package/.medusa/server/src/api/pos/discounts/price-rules/route.js +22 -5
- package/.medusa/server/src/api/pos/discounts/price-rules-list/route.js +10 -2
- package/.medusa/server/src/api/pos/discounts/remove/route.js +3 -6
- package/.medusa/server/src/api/pos/discounts/remove-store-discount/route.js +3 -7
- package/.medusa/server/src/api/pos/discounts/verify-store-discount/route.js +172 -43
- package/.medusa/server/src/api/store/discounts/apply/route.js +2 -5
- package/.medusa/server/src/api/store/discounts/remove/route.js +3 -6
- package/.medusa/server/src/lib/constant.js +5 -2
- package/.medusa/server/src/workflows/discount/auto-apply-coupon/steps/auto-apply-coupon.js +1 -6
- package/.medusa/server/src/workflows/discount/index.js +2 -1
- package/.medusa/server/src/workflows/discount/rounded-cart-total/index.js +5 -4
- package/.medusa/server/src/workflows/discount/steps/rounded-cart-total.js +131 -20
- package/package.json +1 -1
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.POST = POST;
|
|
4
4
|
const api_response_1 = require("../../../../lib/api-response");
|
|
5
5
|
const apply_coupon_1 = require("../../../../workflows/discount/apply-coupon");
|
|
6
|
-
const helpers_1 = require("@medusajs/medusa/api/store/carts/helpers");
|
|
7
|
-
const constant_1 = require("../../../../lib/constant");
|
|
8
6
|
const utils_1 = require("@medusajs/framework/utils");
|
|
9
7
|
const utils_2 = require("../../../../lib/utils");
|
|
10
8
|
async function POST(req, res) {
|
|
@@ -139,9 +137,8 @@ async function POST(req, res) {
|
|
|
139
137
|
if (!result) {
|
|
140
138
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to apply coupon", 400));
|
|
141
139
|
}
|
|
142
|
-
|
|
140
|
+
// Return only discount result - frontend will fetch cart separately
|
|
143
141
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
144
|
-
cart,
|
|
145
142
|
discountResult: result,
|
|
146
143
|
}));
|
|
147
144
|
}
|
|
@@ -150,4 +147,4 @@ async function POST(req, res) {
|
|
|
150
147
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
151
148
|
}
|
|
152
149
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvYXBwbHkvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsb0JBc0tDO0FBakxELCtEQUlzQztBQUN0Qyw4RUFBa0Y7QUFHbEYscURBQXNFO0FBQ3RFLGlEQUF1RDtBQUVoRCxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUEwRCxFQUMxRCxHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQzlELE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFO2dCQUNOLEdBQUc7Z0JBQ0gsU0FBUztnQkFDVCxpQkFBaUI7Z0JBQ2pCLHdCQUF3QjtnQkFDeEIsb0NBQW9DO2dCQUNwQyxjQUFjO2FBQ2Y7WUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUU7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQUMsUUFBUSxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUN4RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FB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
|
|
@@ -9,12 +9,21 @@ async function GET(req, res) {
|
|
|
9
9
|
const userId = req.auth_context?.actor_id || req.auth_context;
|
|
10
10
|
console.log("___userId", userId, req.auth_context);
|
|
11
11
|
let filters = { ...req.filterableFields };
|
|
12
|
+
// Filter out expired coupons - only show active coupons
|
|
13
|
+
// starts_at <= now AND (ends_at >= now OR ends_at is null)
|
|
14
|
+
const now = new Date();
|
|
15
|
+
filters.starts_at = { $lte: now };
|
|
16
|
+
// Date filter for ends_at (not expired)
|
|
17
|
+
const dateFilter = {
|
|
18
|
+
$or: [{ ends_at: { $gte: now } }, { ends_at: null }],
|
|
19
|
+
};
|
|
12
20
|
if (!userId) {
|
|
13
21
|
filters = {
|
|
14
22
|
...filters,
|
|
15
23
|
usage_limit: "UNLIMITED",
|
|
16
24
|
is_birthday: false,
|
|
17
25
|
is_anniversary: false,
|
|
26
|
+
...dateFilter,
|
|
18
27
|
};
|
|
19
28
|
}
|
|
20
29
|
if (userId) {
|
|
@@ -36,20 +45,28 @@ async function GET(req, res) {
|
|
|
36
45
|
const isBirthday = bday && (0, utils_1.getISTMonthDay)(bday) === todayIST;
|
|
37
46
|
const isAnniversary = anniv && (0, utils_1.getISTMonthDay)(anniv) === todayIST;
|
|
38
47
|
if (isBirthday || isAnniversary) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
// Combine date filter with birthday/anniversary filter using $and
|
|
49
|
+
filters.$and = [
|
|
50
|
+
dateFilter,
|
|
51
|
+
{
|
|
52
|
+
$or: [
|
|
53
|
+
{ is_birthday: false, is_anniversary: false },
|
|
54
|
+
...(isBirthday ? [{ is_birthday: true }] : []),
|
|
55
|
+
...(isAnniversary ? [{ is_anniversary: true }] : []),
|
|
56
|
+
],
|
|
57
|
+
},
|
|
43
58
|
];
|
|
44
59
|
}
|
|
45
60
|
else {
|
|
46
61
|
filters.is_birthday = false;
|
|
47
62
|
filters.is_anniversary = false;
|
|
63
|
+
filters.$or = dateFilter.$or;
|
|
48
64
|
}
|
|
49
65
|
}
|
|
50
66
|
else {
|
|
51
67
|
filters.is_birthday = false;
|
|
52
68
|
filters.is_anniversary = false;
|
|
69
|
+
filters.$or = dateFilter.$or;
|
|
53
70
|
}
|
|
54
71
|
}
|
|
55
72
|
const { data, metadata } = await query.graph({
|
|
@@ -65,4 +82,4 @@ async function GET(req, res) {
|
|
|
65
82
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(message, 500));
|
|
66
83
|
}
|
|
67
84
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvcHJpY2UtcnVsZXMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFZQSxrQkF3RkM7QUFoR0QsK0RBSXNDO0FBRXRDLGlEQUF1RDtBQUVoRCxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUFvRSxFQUNwRSxHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEQsSUFBSSxPQUFPLEdBQXdCLEVBQUUsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUUvRCx3REFBd0Q7UUFDeEQsMkRBQTJEO1FBQzNELE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUVsQyx3Q0FBd0M7UUFDeEMsTUFBTSxVQUFVLEdBQUc7WUFDakIsR0FBRyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNyRCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxHQUFHO2dCQUNSLEdBQUcsT0FBTztnQkFDVixXQUFXLEVBQUUsV0FBVztnQkFDeEIsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLGNBQWMs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
|
|
@@ -31,10 +31,18 @@ async function POST(req, res) {
|
|
|
31
31
|
async function GET(req, res) {
|
|
32
32
|
try {
|
|
33
33
|
const query = req.scope.resolve("query");
|
|
34
|
+
// Filter out expired coupons - only show active coupons
|
|
35
|
+
// starts_at <= now AND (ends_at >= now OR ends_at is null)
|
|
36
|
+
const now = new Date();
|
|
37
|
+
const filters = {
|
|
38
|
+
...req.filterableFields,
|
|
39
|
+
starts_at: { $lte: now },
|
|
40
|
+
$or: [{ ends_at: { $gte: now } }, { ends_at: null }],
|
|
41
|
+
};
|
|
34
42
|
const response = await query.graph({
|
|
35
43
|
entity: "discount_price_rule",
|
|
36
44
|
...req.queryConfig,
|
|
37
|
-
filters
|
|
45
|
+
filters,
|
|
38
46
|
});
|
|
39
47
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(response));
|
|
40
48
|
}
|
|
@@ -43,4 +51,4 @@ async function GET(req, res) {
|
|
|
43
51
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(message, 500));
|
|
44
52
|
}
|
|
45
53
|
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvcHJpY2UtcnVsZXMtbGlzdC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxvQkFnQ0M7QUFFRCxrQkE0QkM7QUExRUQsK0RBSXNDO0FBQ3RDLDBHQUE0RztBQUs1RyxxREFBb0Q7QUFFN0MsS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBa0UsRUFDbEUsR0FBbUI7SUFFbkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSw0REFBK0IsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3RFLEtBQUssRUFBRSxHQUFHLENBQUMsYUFBYTtTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQUMsc0NBQXNDLEVBQUUsR0FBRyxDQUFDLENBQ2pFLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRELFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDWixJQUFJLEVBQUUsWUFBWTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0osV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN6QixPQUFPLEVBQUUsNkJBQTZCO2dCQUN0QyxRQUFRLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO2FBQ3BDO1NBQ0YsQ0FBQyxDQUFBO1FBR0YsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsb0NBQXFCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQW9FLEVBQ3BFLEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLHdEQUF3RDtRQUN4RCwyREFBMkQ7UUFDM0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBd0I7WUFDbkMsR0FBRyxHQUFHLENBQUMsZ0JBQWdCO1lBQ3ZCLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7WUFDeEIsR0FBRyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNyRCxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2pDLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsR0FBRyxHQUFHLENBQUMsV0FBVztZQUNsQixPQUFPO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsb0NBQXFCLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sT0FBTyxHQUNYLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDO1FBQzFFLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.POST = POST;
|
|
4
|
-
const helpers_1 = require("@medusajs/medusa/api/store/carts/helpers");
|
|
5
4
|
const api_response_1 = require("../../../../lib/api-response");
|
|
6
5
|
const remove_coupon_1 = require("../../../../workflows/discount/remove-coupon");
|
|
7
|
-
const constant_1 = require("../../../../lib/constant");
|
|
8
6
|
async function POST(req, res) {
|
|
9
7
|
try {
|
|
10
8
|
const query = req.scope.resolve("query");
|
|
@@ -28,11 +26,10 @@ async function POST(req, res) {
|
|
|
28
26
|
input: req.validatedBody,
|
|
29
27
|
});
|
|
30
28
|
if (!result) {
|
|
31
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to
|
|
29
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to remove coupon", 400));
|
|
32
30
|
}
|
|
33
|
-
|
|
31
|
+
// Return only discount result - frontend will fetch cart separately
|
|
34
32
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
35
|
-
cart,
|
|
36
33
|
discountResult: result,
|
|
37
34
|
}));
|
|
38
35
|
}
|
|
@@ -41,4 +38,4 @@ async function POST(req, res) {
|
|
|
41
38
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvcmVtb3ZlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBWUEsb0JBOENDO0FBdERELCtEQUlzQztBQUN0QyxnRkFBb0Y7QUFHN0UsS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBMkQsRUFDM0QsR0FBbUI7SUFFbkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDakQsTUFBTSxFQUFFLGVBQWU7WUFDdkIsTUFBTSxFQUFFO2dCQUNOLEdBQUc7YUFDSjtZQUNELE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRTtTQUMxQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLG9DQUFxQixFQUFDO2dCQUNoRCxjQUFjLEVBQUU7b0JBQ2QsU0FBUyxFQUFFLEtBQUs7b0JBQ2hCLFFBQVEsRUFBRSxDQUFDO29CQUNYLE9BQU8sRUFBRSxnREFBZ0Q7aUJBQzFEO2FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDO1FBQ0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxvQ0FBb0IsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzNELEtBQUssRUFBRSxHQUFHLENBQUMsYUFBYTtTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQUMseUJBQXlCLEVBQUUsR0FBRyxDQUFDLENBQ3BELENBQUM7UUFDSixDQUFDO1FBRUQsb0VBQW9FO1FBQ3BFLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxvQ0FBcUIsRUFBQztZQUNwQixjQUFjLEVBQUUsTUFBTTtTQUN2QixDQUFDLENBQ0gsQ0FBQztJQUVKLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsa0NBQW1CLEVBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.POST = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const api_response_1 = require("../../../../lib/api-response");
|
|
6
|
-
const constant_1 = require("../../../../lib/constant");
|
|
7
|
-
const helpers_1 = require("@medusajs/medusa/api/store/carts/helpers");
|
|
8
6
|
/**
|
|
9
7
|
* POST /pos/discount/remove-store-discount
|
|
10
8
|
*
|
|
@@ -44,10 +42,8 @@ const POST = async (req, res) => {
|
|
|
44
42
|
await cartService.updateCarts(cart_id, {
|
|
45
43
|
metadata: meta,
|
|
46
44
|
});
|
|
47
|
-
|
|
48
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
49
|
-
cart: updatedCart,
|
|
50
|
-
}, "Store discount removed"));
|
|
45
|
+
// Return only success message - frontend will fetch cart separately
|
|
46
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({}, "Store discount removed"));
|
|
51
47
|
}
|
|
52
48
|
catch (error) {
|
|
53
49
|
console.error("Error removing store discount:", error);
|
|
@@ -55,4 +51,4 @@ const POST = async (req, res) => {
|
|
|
55
51
|
}
|
|
56
52
|
};
|
|
57
53
|
exports.POST = POST;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvcmVtb3ZlLXN0b3JlLWRpc2NvdW50L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFzRTtBQUV0RSwrREFJc0M7QUFHdEM7Ozs7R0FJRztBQUNJLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBZ0UsRUFDaEUsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO1FBRXRDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQztZQUN4QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUFDLFFBQVEsT0FBTyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQ3RELENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXhELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUM5QyxNQUFNLEVBQUUsc0JBQXNCO2dCQUM5QixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUU7b0JBQ3pCLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3ZCO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsSUFBSSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sV0FBVyxDQUFDLHlCQUF5QixDQUN6QyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ2xDLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELGdDQUFnQztRQUNoQyxNQUFNLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsTUFBTSxJQUFJLEdBQUcsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsRUFBQyxjQUFjLEVBQUMsSUFBSSxFQUFFLENBQUM7UUFFckUsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRTtZQUNyQyxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVILG9FQUFvRTtRQUNwRSxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQ25CLEVBQUUsRUFDRix3QkFBd0IsQ0FDekIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQ2pCLEtBQUssQ0FBQyxPQUFPLElBQUksaUNBQWlDLEVBQ2xELEdBQUcsQ0FDSixDQUNGLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBckVXLFFBQUEsSUFBSSxRQXFFZiJ9
|
|
@@ -4,18 +4,23 @@ exports.POST = void 0;
|
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const api_response_1 = require("../../../../lib/api-response");
|
|
6
6
|
const framework_1 = require("@medusajs/framework");
|
|
7
|
-
const constant_1 = require("../../../../lib/constant");
|
|
8
|
-
const helpers_1 = require("@medusajs/medusa/api/store/carts/helpers");
|
|
9
7
|
const send_otp_helper_1 = require("../../../../lib/send-otp-helper");
|
|
10
8
|
const POST = async (req, res) => {
|
|
11
9
|
try {
|
|
12
10
|
const { cart_id, amount, otp } = req.validatedBody;
|
|
11
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] START - cart_id: ${cart_id}, amount: ${amount}, otp: ${otp ? 'provided' : 'not provided'}`);
|
|
13
12
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
14
|
-
|
|
13
|
+
const cartService = req.scope.resolve("cart");
|
|
14
|
+
// Resolve staff mobile and store manager from authenticated user's profile
|
|
15
15
|
const userId = req.auth_context?.actor_id;
|
|
16
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] UserId: ${userId}`);
|
|
16
17
|
let staffMobile = "";
|
|
18
|
+
let storeManagerMobile = "";
|
|
19
|
+
let storeManagerName = "";
|
|
20
|
+
let storeManagerId = "";
|
|
17
21
|
let allowedDiscountAmount = null;
|
|
18
22
|
let isAllowed = true;
|
|
23
|
+
const assignedStores = [];
|
|
19
24
|
if (userId) {
|
|
20
25
|
try {
|
|
21
26
|
const remoteQuery = req.scope.resolve(utils_1.ContainerRegistrationKeys.REMOTE_QUERY);
|
|
@@ -27,12 +32,18 @@ const POST = async (req, res) => {
|
|
|
27
32
|
"email",
|
|
28
33
|
"first_name",
|
|
29
34
|
"last_name",
|
|
30
|
-
"user_profile
|
|
35
|
+
"user_profile.phone_number",
|
|
36
|
+
"user_profile.allowed_discount_amount",
|
|
37
|
+
"user_profile.store_ids",
|
|
31
38
|
],
|
|
32
39
|
});
|
|
33
40
|
const [user] = await remoteQuery(query);
|
|
34
41
|
const profile = user?.user_profile;
|
|
35
42
|
const allowed_discount = profile?.allowed_discount_amount;
|
|
43
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Staff user retrieved - email: ${user?.email}`);
|
|
44
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Staff profile phone: ${profile?.phone_number}`);
|
|
45
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Allowed discount amount: ${allowed_discount}`);
|
|
46
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Assigned stores: ${JSON.stringify(profile?.store_ids)}`);
|
|
36
47
|
if (allowed_discount != null) {
|
|
37
48
|
const parsed = Number(allowed_discount);
|
|
38
49
|
if (!Number.isNaN(parsed)) {
|
|
@@ -43,34 +54,112 @@ const POST = async (req, res) => {
|
|
|
43
54
|
String(profile.phone_number).trim().length > 0) {
|
|
44
55
|
staffMobile = String(profile.phone_number).trim();
|
|
45
56
|
}
|
|
57
|
+
if (profile?.store_ids && Array.isArray(profile.store_ids)) {
|
|
58
|
+
assignedStores.push(...profile.store_ids);
|
|
59
|
+
}
|
|
46
60
|
}
|
|
47
61
|
catch (e) {
|
|
48
|
-
framework_1.logger.
|
|
62
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Failed to resolve staff phone for user_id ${userId}: ${e?.message || e}`);
|
|
49
63
|
}
|
|
50
64
|
}
|
|
65
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Staff mobile: ${staffMobile}, Allowed amount: ${allowedDiscountAmount}`);
|
|
51
66
|
if (allowedDiscountAmount != null) {
|
|
52
67
|
isAllowed = amount <= allowedDiscountAmount;
|
|
68
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Discount check - amount: ${amount}, allowed limit: ${allowedDiscountAmount}, isAllowed: ${isAllowed}`);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] No allowed discount limit set for staff, allowing discount: ${amount}`);
|
|
53
72
|
}
|
|
54
|
-
//
|
|
73
|
+
// Get store manager from first assigned store's metadata
|
|
74
|
+
if (assignedStores.length > 0) {
|
|
75
|
+
try {
|
|
76
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Fetching store manager for store: ${assignedStores[0]}`);
|
|
77
|
+
const remoteQuery = req.scope.resolve(utils_1.ContainerRegistrationKeys.REMOTE_QUERY);
|
|
78
|
+
const storeQuery = (0, utils_1.remoteQueryObjectFromString)({
|
|
79
|
+
entryPoint: "store",
|
|
80
|
+
variables: { id: assignedStores[0] },
|
|
81
|
+
fields: ["id", "name", "metadata"],
|
|
82
|
+
});
|
|
83
|
+
const [store] = await remoteQuery(storeQuery);
|
|
84
|
+
const metadata = store?.metadata;
|
|
85
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Store metadata: ${JSON.stringify(metadata)}`);
|
|
86
|
+
if (metadata?.store_manager_id) {
|
|
87
|
+
storeManagerId = metadata.store_manager_id;
|
|
88
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Store manager ID found: ${storeManagerId}`);
|
|
89
|
+
// Get store manager's phone number
|
|
90
|
+
try {
|
|
91
|
+
const managerQuery = (0, utils_1.remoteQueryObjectFromString)({
|
|
92
|
+
entryPoint: "user",
|
|
93
|
+
variables: { id: storeManagerId },
|
|
94
|
+
fields: [
|
|
95
|
+
"id",
|
|
96
|
+
"first_name",
|
|
97
|
+
"last_name",
|
|
98
|
+
"user_profile.phone_number",
|
|
99
|
+
],
|
|
100
|
+
});
|
|
101
|
+
const [managerUser] = await remoteQuery(managerQuery);
|
|
102
|
+
const managerProfile = managerUser?.user_profile;
|
|
103
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Store manager retrieved - name: ${managerUser?.first_name} ${managerUser?.last_name}, phone: ${managerProfile?.phone_number}`);
|
|
104
|
+
if (managerProfile?.phone_number) {
|
|
105
|
+
storeManagerMobile = String(managerProfile.phone_number).trim();
|
|
106
|
+
storeManagerName = [
|
|
107
|
+
managerUser.first_name,
|
|
108
|
+
managerUser.last_name,
|
|
109
|
+
]
|
|
110
|
+
.filter(Boolean)
|
|
111
|
+
.join(" ") || managerUser.id;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch (e) {
|
|
115
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Failed to get store manager phone: ${e?.message || e}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
framework_1.logger.warn(`[VERIFY-STORE-DISCOUNT] No store_manager_id in store metadata`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch (e) {
|
|
123
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Failed to get store metadata: ${e?.message || e}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
framework_1.logger.warn(`[VERIFY-STORE-DISCOUNT] No assigned stores found for staff`);
|
|
128
|
+
}
|
|
129
|
+
// Use store manager's phone if available, otherwise staff phone
|
|
130
|
+
const otpPhone = storeManagerMobile || staffMobile;
|
|
131
|
+
const otpRecipientName = storeManagerName || "Staff";
|
|
132
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] OTP will be sent to: ${otpPhone} (${otpRecipientName})`);
|
|
133
|
+
// If discount is above allowed limit and we don't have any mobile number,
|
|
55
134
|
// we cannot proceed with OTP-based approval.
|
|
56
|
-
if (!
|
|
57
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("
|
|
135
|
+
if (!otpPhone && !isAllowed) {
|
|
136
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("No phone number found for OTP verification", 400));
|
|
58
137
|
}
|
|
59
138
|
// If within allowed limit, apply discount directly without OTP
|
|
60
139
|
if (isAllowed) {
|
|
61
|
-
|
|
140
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Discount is within allowed limit (amount: ${amount}, allowed: ${allowedDiscountAmount}), applying directly without OTP`);
|
|
62
141
|
const { data: carts } = await query.graph({
|
|
63
142
|
entity: "cart",
|
|
64
143
|
fields: ["*", "items.*"],
|
|
65
144
|
filters: { id: cart_id },
|
|
66
145
|
});
|
|
67
|
-
if (!carts
|
|
146
|
+
if (!carts?.length) {
|
|
147
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Cart not found: ${cart_id}`);
|
|
68
148
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Cart ${cart_id} not found`, 404));
|
|
69
149
|
}
|
|
70
150
|
const cart = carts[0];
|
|
151
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Cart retrieved - items: ${cart.items?.length || 0}, total: ${cart.total || 0}`);
|
|
71
152
|
if (!cart.items?.length) {
|
|
153
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] ❌ Cart is empty`);
|
|
72
154
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Cannot apply store discount to empty cart", 400));
|
|
73
155
|
}
|
|
156
|
+
// Validate discount amount doesn't exceed cart total
|
|
157
|
+
const cartTotal = Number(cart.total) || Number(cart.subtotal) || 0;
|
|
158
|
+
if (amount > cartTotal && cartTotal > 0) {
|
|
159
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Discount (${amount}) exceeds cart total (${cartTotal})`);
|
|
160
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Discount amount (${amount}) cannot exceed cart total (${cartTotal})`, 400));
|
|
161
|
+
}
|
|
162
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Cart total: ${cartTotal}, discount amount: ${amount}`);
|
|
74
163
|
const itemIds = cart.items.map((i) => i.id);
|
|
75
164
|
// Remove existing store-discount adjustments to keep it idempotent
|
|
76
165
|
const { data: existingAdjustments } = await query.graph({
|
|
@@ -105,15 +194,15 @@ const POST = async (req, res) => {
|
|
|
105
194
|
store_discount: storeDiscountMeta,
|
|
106
195
|
},
|
|
107
196
|
});
|
|
108
|
-
|
|
197
|
+
// Return only success message - frontend will fetch cart separately
|
|
109
198
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
110
|
-
cart: updatedCart,
|
|
111
199
|
storeDiscount: storeDiscountMeta,
|
|
112
200
|
}, "Store discount applied"));
|
|
113
201
|
}
|
|
114
202
|
// If OTP is not provided and discount is above allowed limit,
|
|
115
|
-
// send a new OTP to staff mobile for this discount.
|
|
203
|
+
// send a new OTP to store manager/staff mobile for this discount.
|
|
116
204
|
if (!otp && !isAllowed) {
|
|
205
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Discount above allowed limit, sending OTP to ${otpRecipientName}`);
|
|
117
206
|
try {
|
|
118
207
|
// Initialize options from medusa-config.ts (same as lines 175-198)
|
|
119
208
|
const passwordlessOptions = {
|
|
@@ -143,45 +232,60 @@ const POST = async (req, res) => {
|
|
|
143
232
|
const codeLength = passwordlessOptions.codeLength || 4;
|
|
144
233
|
const CODE_MIN = Math.pow(10, codeLength - 1);
|
|
145
234
|
const CODE_MAX = Math.pow(10, codeLength) - 1;
|
|
146
|
-
|
|
147
|
-
//
|
|
148
|
-
// ).toString();
|
|
149
|
-
const generatedOtp = "1234";
|
|
235
|
+
const generatedOtp = Math.floor(Math.random() * (CODE_MAX - CODE_MIN + 1) + CODE_MIN).toString();
|
|
236
|
+
// const generatedOtp = "1234";
|
|
150
237
|
// Send OTP via SNS using options from config
|
|
151
|
-
|
|
238
|
+
// Use store manager's phone if available, otherwise staff phone
|
|
239
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Sending OTP to ${otpPhone} for cart ${cart_id}`);
|
|
240
|
+
const smsSent = await (0, send_otp_helper_1.sendOtpViaSNS)(otpPhone, generatedOtp, passwordlessOptions, framework_1.logger);
|
|
241
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] OTP sent result: ${smsSent}, OTP: ${generatedOtp}`);
|
|
152
242
|
if (!smsSent) {
|
|
243
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Failed to send OTP via SNS`);
|
|
153
244
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to send OTP for store discount", 500));
|
|
154
245
|
}
|
|
155
246
|
// Store OTP in cart metadata
|
|
156
247
|
const cartService = req.scope.resolve("cart");
|
|
157
|
-
|
|
248
|
+
// Get cart for validation
|
|
249
|
+
const { data: cartData } = await query.graph({
|
|
158
250
|
entity: "cart",
|
|
159
|
-
fields: ["
|
|
251
|
+
fields: ["total", "subtotal"],
|
|
160
252
|
filters: { id: cart_id },
|
|
161
253
|
});
|
|
162
|
-
if (!
|
|
254
|
+
if (!cartData?.length) {
|
|
255
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Cart not found: ${cart_id}`);
|
|
163
256
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Cart ${cart_id} not found`, 404));
|
|
164
257
|
}
|
|
258
|
+
const cartTotal = Number(cartData[0].total) || Number(cartData[0].subtotal) || 0;
|
|
259
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Cart total: ${cartTotal}, discount amount: ${amount}`);
|
|
260
|
+
if (amount > cartTotal && cartTotal > 0) {
|
|
261
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Discount (${amount}) exceeds cart total (${cartTotal})`);
|
|
262
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Discount amount (${amount}) cannot exceed cart total (${cartTotal})`, 400));
|
|
263
|
+
}
|
|
165
264
|
const currentCart = await cartService.retrieveCart(cart_id);
|
|
166
265
|
const prevMeta = currentCart.metadata || {};
|
|
167
|
-
|
|
266
|
+
// Store OTP in pending_store_discount (NOT store_discount) until verified
|
|
267
|
+
const pendingStoreDiscountMeta = {
|
|
168
268
|
amount,
|
|
169
|
-
code: "STORE_DISCOUNT",
|
|
170
|
-
verified: false,
|
|
171
269
|
otp: generatedOtp,
|
|
172
270
|
};
|
|
271
|
+
// Remove any existing store_discount metadata and store only in pending
|
|
272
|
+
const { store_discount, ...restMeta } = prevMeta;
|
|
173
273
|
await cartService.updateCarts(cart_id, {
|
|
174
274
|
metadata: {
|
|
175
|
-
...
|
|
176
|
-
|
|
275
|
+
...restMeta,
|
|
276
|
+
pending_store_discount: pendingStoreDiscountMeta,
|
|
177
277
|
},
|
|
178
278
|
});
|
|
279
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] OTP stored in cart metadata for pending verification`);
|
|
179
280
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
180
281
|
cart_id,
|
|
181
282
|
amount,
|
|
283
|
+
otp_sent_to: otpPhone,
|
|
284
|
+
otp_recipient_name: otpRecipientName,
|
|
285
|
+
is_store_manager: !!storeManagerMobile,
|
|
182
286
|
staff_mobile: staffMobile,
|
|
183
|
-
|
|
184
|
-
},
|
|
287
|
+
store_manager_mobile: storeManagerMobile,
|
|
288
|
+
}, `OTP sent to ${otpRecipientName} for store discount verification`));
|
|
185
289
|
}
|
|
186
290
|
catch (e) {
|
|
187
291
|
framework_1.logger.error("Failed to send OTP for store discount", e);
|
|
@@ -190,32 +294,53 @@ const POST = async (req, res) => {
|
|
|
190
294
|
}
|
|
191
295
|
// If OTP is provided, verify it from cart metadata
|
|
192
296
|
try {
|
|
297
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Verifying OTP for cart ${cart_id}`);
|
|
193
298
|
const cartService = req.scope.resolve("cart");
|
|
194
299
|
// Retrieve cart to get metadata
|
|
195
300
|
const currentCart = await cartService.retrieveCart(cart_id);
|
|
196
301
|
const metadata = currentCart.metadata || {};
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
302
|
+
const pendingStoreDiscountMeta = (metadata.pending_store_discount || {});
|
|
303
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Pending discount meta: ${JSON.stringify(pendingStoreDiscountMeta)}`);
|
|
304
|
+
// Verify OTP from cart metadata
|
|
305
|
+
if (!pendingStoreDiscountMeta.otp) {
|
|
306
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] No OTP found in cart metadata`);
|
|
200
307
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("No OTP found in cart metadata", 400));
|
|
201
308
|
}
|
|
202
|
-
|
|
203
|
-
|
|
309
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Comparing OTP - provided: ${otp}, stored: ${pendingStoreDiscountMeta.otp}`);
|
|
310
|
+
if (pendingStoreDiscountMeta.otp !== otp) {
|
|
311
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Invalid OTP provided`);
|
|
312
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Invalid OTP. Please enter the correct OTP sent to your phone", 400));
|
|
204
313
|
}
|
|
205
|
-
|
|
314
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] ✅ OTP verified successfully`);
|
|
315
|
+
// OTP verified – now fetch cart with items using query.graph
|
|
206
316
|
const { data: carts } = await query.graph({
|
|
207
317
|
entity: "cart",
|
|
208
318
|
fields: ["*", "items.*"],
|
|
209
319
|
filters: { id: cart_id },
|
|
210
320
|
});
|
|
211
|
-
if (!carts
|
|
321
|
+
if (!carts?.length) {
|
|
322
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Cart not found: ${cart_id}`);
|
|
212
323
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Cart ${cart_id} not found`, 404));
|
|
213
324
|
}
|
|
214
325
|
const cart = carts[0];
|
|
326
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Cart retrieved - items count: ${cart.items?.length || 0}`);
|
|
215
327
|
if (!cart.items?.length) {
|
|
328
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] ❌ Cart is empty - cannot apply discount`);
|
|
216
329
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Cannot apply store discount to empty cart", 400));
|
|
217
330
|
}
|
|
331
|
+
// Validate discount amount doesn't exceed cart total
|
|
332
|
+
// Use subtotal if total is undefined
|
|
333
|
+
const cartTotal = Number(cart.total) || Number(cart.subtotal) || 0;
|
|
334
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Cart total: ${cartTotal}, discount amount: ${amount}`);
|
|
335
|
+
if (amount > cartTotal && cartTotal > 0) {
|
|
336
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] Discount (${amount}) exceeds cart total (${cartTotal})`);
|
|
337
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Discount amount (${amount}) cannot exceed cart total (${cartTotal})`, 400));
|
|
338
|
+
}
|
|
339
|
+
if (cartTotal === 0) {
|
|
340
|
+
framework_1.logger.warn(`[VERIFY-STORE-DISCOUNT] Cart total is 0, skipping validation`);
|
|
341
|
+
}
|
|
218
342
|
const itemIds = cart.items.map((i) => i.id);
|
|
343
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Cart has ${itemIds.length} items`);
|
|
219
344
|
// Remove existing store-discount adjustments to keep it idempotent
|
|
220
345
|
const { data: existingAdjustments } = await query.graph({
|
|
221
346
|
entity: "line_item_adjustment",
|
|
@@ -226,17 +351,21 @@ const POST = async (req, res) => {
|
|
|
226
351
|
},
|
|
227
352
|
});
|
|
228
353
|
if (existingAdjustments?.length) {
|
|
354
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Removing ${existingAdjustments.length} existing store discount adjustments`);
|
|
229
355
|
await cartService.deleteLineItemAdjustments(existingAdjustments.map((a) => a.id));
|
|
230
356
|
}
|
|
231
357
|
// Apply new store discount as a line-item adjustment on the first item
|
|
232
358
|
const targetItemId = itemIds[0];
|
|
359
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] Applying store discount - amount: ${amount}, targetItemId: ${targetItemId}`);
|
|
233
360
|
await cartService.addLineItemAdjustments({
|
|
234
361
|
item_id: targetItemId,
|
|
235
362
|
code: "STORE_DISCOUNT",
|
|
236
363
|
amount,
|
|
237
364
|
});
|
|
238
|
-
// Update cart metadata to record store discount info
|
|
239
|
-
|
|
365
|
+
// Update cart metadata to record store discount info
|
|
366
|
+
// Remove pending_store_discount and set verified store_discount
|
|
367
|
+
const currentMetadata = cart.metadata || {};
|
|
368
|
+
const { pending_store_discount, ...restMeta } = currentMetadata;
|
|
240
369
|
const verifiedStoreDiscountMeta = {
|
|
241
370
|
amount,
|
|
242
371
|
code: "STORE_DISCOUNT",
|
|
@@ -244,25 +373,25 @@ const POST = async (req, res) => {
|
|
|
244
373
|
};
|
|
245
374
|
await cartService.updateCarts(cart_id, {
|
|
246
375
|
metadata: {
|
|
247
|
-
...
|
|
376
|
+
...restMeta,
|
|
248
377
|
store_discount: verifiedStoreDiscountMeta,
|
|
249
378
|
},
|
|
250
379
|
});
|
|
251
|
-
|
|
380
|
+
framework_1.logger.info(`[VERIFY-STORE-DISCOUNT] ✅ COMPLETE - Discount verified and applied | amount: ${amount}`);
|
|
381
|
+
// Return only success message - frontend will fetch cart separately
|
|
252
382
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
253
|
-
cart: updatedCart,
|
|
254
383
|
storeDiscount: verifiedStoreDiscountMeta,
|
|
255
384
|
}, "Store discount OTP verified and discount applied"));
|
|
256
385
|
}
|
|
257
386
|
catch (e) {
|
|
258
|
-
framework_1.logger.error(
|
|
387
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] ❌ Error: ${e?.message || e}`);
|
|
259
388
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(e?.message || "Failed to verify store discount OTP", 500));
|
|
260
389
|
}
|
|
261
390
|
}
|
|
262
391
|
catch (error) {
|
|
263
|
-
framework_1.logger.error(
|
|
392
|
+
framework_1.logger.error(`[VERIFY-STORE-DISCOUNT] ERROR - ${error?.message || error}`, error);
|
|
264
393
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error?.message || "Internal server error", 500));
|
|
265
394
|
}
|
|
266
395
|
};
|
|
267
396
|
exports.POST = POST;
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvdmVyaWZ5LXN0b3JlLWRpc2NvdW50L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUltQztBQUNuQywrREFJc0M7QUFFdEMsbURBQTZDO0FBQzdDLHVEQUFrRTtBQUNsRSxzRUFBdUU7QUFDdkUscUVBQWdFO0FBRXpELE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBZ0UsRUFDaEUsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFDbkQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUseURBQXlEO1FBQ3pELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBOEIsQ0FBQztRQUNoRSxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxxQkFBcUIsR0FBa0IsSUFBSSxDQUFDO1FBQ2hELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztRQUVyQixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDO2dCQUNILE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNuQyxpQ0FBeUIsQ0FBQyxZQUFZLENBQ3ZDLENBQUM7Z0JBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBQSxtQ0FBMkIsRUFBQztvQkFDeEMsVUFBVSxFQUFFLE1BQU07b0JBQ2xCLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7b0JBQ3pCLE1BQU0sRUFBRTt3QkFDTixJQUFJO3dCQUNKLE9BQU87d0JBQ1AsWUFBWTt3QkFD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
|
|
397
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvdmVyaWZ5LXN0b3JlLWRpc2NvdW50L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUltQztBQUNuQywrREFJc0M7QUFFdEMsbURBQTZDO0FBQzdDLHFFQUFnRTtBQUV6RCxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQWdFLEVBQ2hFLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO1FBRW5ELGtCQUFNLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxPQUFPLGFBQWEsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRWpJLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLDJFQUEyRTtRQUMzRSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQThCLENBQUM7UUFFaEUsa0JBQU0sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFekQsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLHFCQUFxQixHQUFrQixJQUFJLENBQUM7UUFD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
|
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.POST = POST;
|
|
4
4
|
const api_response_1 = require("../../../../lib/api-response");
|
|
5
5
|
const apply_coupon_1 = require("../../../../workflows/discount/apply-coupon");
|
|
6
|
-
const helpers_1 = require("@medusajs/medusa/api/store/carts/helpers");
|
|
7
|
-
const constant_1 = require("../../../../lib/constant");
|
|
8
6
|
const utils_1 = require("@medusajs/framework/utils");
|
|
9
7
|
const utils_2 = require("../../../../lib/utils");
|
|
10
8
|
async function POST(req, res) {
|
|
@@ -139,9 +137,8 @@ async function POST(req, res) {
|
|
|
139
137
|
if (!result) {
|
|
140
138
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to apply coupon", 400));
|
|
141
139
|
}
|
|
142
|
-
|
|
140
|
+
// Return only discount result - frontend will fetch cart separately
|
|
143
141
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
144
|
-
cart,
|
|
145
142
|
discountResult: result,
|
|
146
143
|
}));
|
|
147
144
|
}
|
|
@@ -150,4 +147,4 @@ async function POST(req, res) {
|
|
|
150
147
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
151
148
|
}
|
|
152
149
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9hcHBseS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWVBLG9CQXNLQztBQWhMRCwrREFJc0M7QUFDdEMsOEVBQWtGO0FBRWxGLHFEQUFzRTtBQUN0RSxpREFBdUQ7QUFFaEQsS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBdUQsRUFDdkQsR0FBbUI7SUFFbkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQztRQUM5RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN4QyxNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRTtnQkFDTixHQUFHO2dCQUNILFNBQVM7Z0JBQ1QsaUJBQWlCO2dCQUNqQix3QkFBd0I7Z0JBQ3hCLG9DQUFvQztnQkFDcEMsY0FBYzthQUNmO1lBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1NBQzNDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUFDLFFBQVEsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FDeEUsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtB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
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.POST = POST;
|
|
4
|
-
const helpers_1 = require("@medusajs/medusa/api/store/carts/helpers");
|
|
5
4
|
const api_response_1 = require("../../../../lib/api-response");
|
|
6
5
|
const remove_coupon_1 = require("../../../../workflows/discount/remove-coupon");
|
|
7
|
-
const constant_1 = require("../../../../lib/constant");
|
|
8
6
|
async function POST(req, res) {
|
|
9
7
|
try {
|
|
10
8
|
const query = req.scope.resolve("query");
|
|
@@ -28,11 +26,10 @@ async function POST(req, res) {
|
|
|
28
26
|
input: req.validatedBody,
|
|
29
27
|
});
|
|
30
28
|
if (!result) {
|
|
31
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to
|
|
29
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to remove coupon", 400));
|
|
32
30
|
}
|
|
33
|
-
|
|
31
|
+
// Return only discount result - frontend will fetch cart separately
|
|
34
32
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
35
|
-
cart,
|
|
36
33
|
discountResult: result,
|
|
37
34
|
}));
|
|
38
35
|
}
|
|
@@ -41,4 +38,4 @@ async function POST(req, res) {
|
|
|
41
38
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9yZW1vdmUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSxvQkE4Q0M7QUF0REQsK0RBSXNDO0FBQ3RDLGdGQUFvRjtBQUc3RSxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUF3RCxFQUN4RCxHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNqRCxNQUFNLEVBQUUsZUFBZTtZQUN2QixNQUFNLEVBQUU7Z0JBQ04sR0FBRzthQUNKO1lBQ0QsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFO1NBQzFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsb0NBQXFCLEVBQUM7Z0JBQ2hELGNBQWMsRUFBRTtvQkFDZCxTQUFTLEVBQUUsS0FBSztvQkFDaEIsUUFBUSxFQUFFLENBQUM7b0JBQ1gsT0FBTyxFQUFFLGdEQUFnRDtpQkFDMUQ7YUFDRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7UUFDRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLG9DQUFvQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDM0QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxrQ0FBbUIsRUFBQyx5QkFBeUIsRUFBRSxHQUFHLENBQUMsQ0FDcEQsQ0FBQztRQUNKLENBQUM7UUFFRCxvRUFBb0U7UUFDcEUsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUFDO1lBQ3BCLGNBQWMsRUFBRSxNQUFNO1NBQ3ZCLENBQUMsQ0FDSCxDQUFDO0lBRUosQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QixPQUFPLElBQUEsOEJBQWUsRUFBQyxHQUFHLEVBQUUsSUFBQSxrQ0FBbUIsRUFBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -44,9 +44,12 @@ exports.defaultStoreCartFields = [
|
|
|
44
44
|
"items.thumbnail",
|
|
45
45
|
"items.product.*",
|
|
46
46
|
"items.product.variants.*",
|
|
47
|
+
"items.product.options.*",
|
|
47
48
|
"items.product.variants.prices.*",
|
|
48
49
|
"items.product.variants.extended_variant.*",
|
|
49
|
-
"items.variant",
|
|
50
|
+
"items.variant.*",
|
|
51
|
+
"items.variant.options.*",
|
|
52
|
+
"items.variant.extended_variant.*",
|
|
50
53
|
"items.variant_id",
|
|
51
54
|
"items.product_id",
|
|
52
55
|
"items.product_type_id",
|
|
@@ -120,4 +123,4 @@ exports.defaultStoreCartFields = [
|
|
|
120
123
|
"billing_address.phone",
|
|
121
124
|
"billing_address.metadata"
|
|
122
125
|
];
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsc0JBQXNCLEdBQUk7SUFDckMsSUFBSTtJQUNKLGVBQWU7SUFDZixPQUFPO0lBQ1AsV0FBVztJQUNYLFlBQVk7SUFDWixZQUFZO0lBQ1osY0FBYztJQUNkLE9BQU87SUFDUCxVQUFVO0lBQ1YsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsWUFBWTtJQUNaLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixxQ0FBcUM7SUFDckMsb0NBQW9DO0lBQ3BDLDZDQUE2QztJQUM3QyxVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQiwwQkFBMEI7SUFDMUIseUJBQXlCO0lBQ3pCLGlDQUFpQztJQUNqQywyQ0FBMkM7SUFDM0MsaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixrQ0FBa0M7SUFDbEMsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQUM3Qix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLDZCQUE2QjtJQUM3QixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLDZCQUE2QjtJQUM3QixzQkFBc0I7SUFDdEIsd0JBQXdCO0lBQ3hCLGdDQUFnQztJQUNoQywwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsK0JBQStCO0lBQy9CLHdDQUF3QztJQUN4QyxpQ0FBaUM7SUFDakMsaUNBQWlDO0lBQ2pDLHdDQUF3QztJQUN4Qyx5QkFBeUI7SUFDekIsbUNBQW1DO0lBQ25DLGlDQUFpQztJQUNqQyxtQ0FBbUM7SUFDbkMscUNBQXFDO0lBQ3JDLHFDQUFxQztJQUNyQyxxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLDZCQUE2QjtJQUM3Qiw0QkFBNEI7SUFDNUIsMEJBQTBCO0lBQzFCLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsdUJBQXVCO0lBQ3ZCLDhCQUE4QjtJQUM5QiwrQkFBK0I7SUFDL0IsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsMkJBQTJCO0lBQzNCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsNEJBQTRCO0lBQzVCLDJCQUEyQjtJQUMzQix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQixzQkFBc0I7SUFDdEIsNkJBQTZCO0lBQzdCLDhCQUE4QjtJQUM5Qiw2QkFBNkI7SUFDN0IsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QiwwQkFBMEI7Q0FBQyxDQUFBIn0=
|
|
@@ -179,15 +179,10 @@ exports.autoApplyCouponStep = (0, workflows_sdk_1.createStep)("auto-apply-coupon
|
|
|
179
179
|
if (!result) {
|
|
180
180
|
return new workflows_sdk_1.StepResponse({ discount: 0, code: "", isApplied: false });
|
|
181
181
|
}
|
|
182
|
-
// await roundedCartTotalWorkflow(container).run({
|
|
183
|
-
// input: {
|
|
184
|
-
// cart_id:cart.id
|
|
185
|
-
// },
|
|
186
|
-
// });
|
|
187
182
|
return new workflows_sdk_1.StepResponse({
|
|
188
183
|
discount: bestDiscount,
|
|
189
184
|
code: bestCode,
|
|
190
185
|
isApplied: true,
|
|
191
186
|
});
|
|
192
187
|
});
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1hcHBseS1jb3Vwb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2F1dG8tYXBwbHktY291cG9uL3N0ZXBzL2F1dG8tYXBwbHktY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUM1RSxxREFBd0Q7QUFDeEQsK0VBQWlGO0FBQ2pGLHVEQUEwRDtBQUMxRCxpREFBc0Q7QUFDdEQscURBQThFO0FBQzlFLDZEQUFtRjtBQUV0RSxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsbUJBQW1CLEVBQ25CLEtBQUssRUFBRSxLQUErQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2RSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTlDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUE7SUFFL0IsZ0NBQWdDO0lBQ2hDLHVEQUF1RDtJQUN2RCxnQ0FBZ0M7SUFDaEMsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUNiLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsTUFBTSxFQUFFO1lBQ04sR0FBRztZQUNILFNBQVM7WUFDVCxxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixrQ0FBa0M7WUFDbEMsc0RBQXNEO1NBQ3ZEO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUN2QyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxF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
|
|
@@ -27,5 +27,6 @@ __exportStar(require("./create-discount-price-rule"), exports);
|
|
|
27
27
|
__exportStar(require("./update-discount-price-rule"), exports);
|
|
28
28
|
__exportStar(require("./update-discount-price-rule"), exports);
|
|
29
29
|
__exportStar(require("./update-coupon-code-stats"), exports);
|
|
30
|
+
__exportStar(require("./rounded-cart-total"), exports);
|
|
30
31
|
__exportStar(require("./remove-coupon"), exports);
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0Isc0RBQW9DO0FBQ3BDLGtEQUFnQztBQUNoQyx1REFBcUM7QUFDckMseURBQXVDO0FBQ3ZDLGdFQUE4QztBQUM5QyxpREFBK0I7QUFDL0Isd0RBQXNDO0FBQ3RDLDhEQUE0QztBQUM1QywrREFBNkM7QUFDN0MsK0RBQTZDO0FBQzdDLCtEQUE2QztBQUM3Qyw2REFBMkM7QUFDM0MsdURBQXFDO0FBQ3JDLGtEQUErQiJ9
|
|
@@ -4,9 +4,10 @@ exports.roundedCartTotalWorkflow = void 0;
|
|
|
4
4
|
const rounded_cart_total_1 = require("../steps/rounded-cart-total");
|
|
5
5
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
6
|
exports.roundedCartTotalWorkflow = (0, workflows_sdk_1.createWorkflow)("rounded-cart-total", (input) => {
|
|
7
|
-
(0, rounded_cart_total_1.roundedCartTotalStep)({
|
|
7
|
+
const result = (0, rounded_cart_total_1.roundedCartTotalStep)({
|
|
8
8
|
cart_id: input.cart_id,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
cart_type: input.cart_type,
|
|
10
|
+
});
|
|
11
|
+
return new workflows_sdk_1.WorkflowResponse(result);
|
|
11
12
|
});
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L3JvdW5kZWQtY2FydC10b3RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvRUFBbUU7QUFDbkUscUVBRzJDO0FBRzlCLFFBQUEsd0JBQXdCLEdBQUcsSUFBQSw4QkFBYyxFQUNwRCxvQkFBb0IsRUFDcEIsQ0FBQyxLQUE0QyxFQUFFLEVBQUU7SUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBQSx5Q0FBb0IsRUFBQztRQUNsQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO0tBQzNCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -14,7 +14,15 @@ exports.roundedCartTotalStep = (0, workflows_sdk_1.createStep)(exports.roundedCa
|
|
|
14
14
|
filters: { id: input.cart_id },
|
|
15
15
|
pagination: { take: 1 },
|
|
16
16
|
});
|
|
17
|
+
if (!cart?.items?.length) {
|
|
18
|
+
console.log("[ROUNDED-CART-TOTAL] Cart has no items, no rounding applied");
|
|
19
|
+
return new workflows_sdk_1.StepResponse({
|
|
20
|
+
message: "Cart has no items, no rounding applied",
|
|
21
|
+
rounded: 0,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
17
24
|
const itemIds = cart?.items?.map((i) => i.id);
|
|
25
|
+
// Remove existing rounding adjustments
|
|
18
26
|
const { data: existingAdjustments } = await query.graph({
|
|
19
27
|
entity: "line_item_adjustment",
|
|
20
28
|
fields: ["id"],
|
|
@@ -24,34 +32,137 @@ exports.roundedCartTotalStep = (0, workflows_sdk_1.createStep)(exports.roundedCa
|
|
|
24
32
|
},
|
|
25
33
|
});
|
|
26
34
|
if (existingAdjustments?.length) {
|
|
35
|
+
console.log("[ROUNDED-CART-TOTAL] Deleting", existingAdjustments.length, "existing rounding adjustments");
|
|
27
36
|
await cartService.deleteLineItemAdjustments(existingAdjustments.map((a) => a.id));
|
|
28
37
|
}
|
|
29
|
-
|
|
38
|
+
// Fetch fresh cart data with all required fields including adjustments
|
|
39
|
+
const { data: [freshCart] } = await query.graph({
|
|
30
40
|
entity: "cart",
|
|
31
41
|
fields: constant_1.defaultStoreCartFields,
|
|
32
42
|
filters: { id: input.cart_id },
|
|
33
43
|
pagination: { take: 1 },
|
|
34
44
|
});
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
// Helper function to extract numeric value from BigNumber or number
|
|
46
|
+
const getNumericValue = (value) => {
|
|
47
|
+
if (!value)
|
|
48
|
+
return 0;
|
|
49
|
+
if (typeof value === 'number')
|
|
50
|
+
return value;
|
|
51
|
+
if (value?.numeric_ !== undefined)
|
|
52
|
+
return Number(value.numeric_);
|
|
53
|
+
if (value?.toNumber)
|
|
54
|
+
return value.toNumber();
|
|
55
|
+
if (typeof value === 'string')
|
|
56
|
+
return parseFloat(value) || 0;
|
|
57
|
+
return Number(value) || 0;
|
|
43
58
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
59
|
+
// Calculate totals from line items EXCLUDING existing rounding adjustments
|
|
60
|
+
// This matches the decorateCartTotals calculation
|
|
61
|
+
// We exclude rounding to calculate the base total, then apply new rounding
|
|
62
|
+
let itemsSubtotal = 0;
|
|
63
|
+
let itemsTaxTotal = 0;
|
|
64
|
+
let itemsDiscountSubtotal = 0;
|
|
65
|
+
if (freshCart?.items?.length) {
|
|
66
|
+
for (const item of freshCart.items) {
|
|
67
|
+
const quantity = item.quantity || 0;
|
|
68
|
+
const unitPrice = getNumericValue(item.unit_price);
|
|
69
|
+
const itemSubtotal = unitPrice * quantity;
|
|
70
|
+
itemsSubtotal += itemSubtotal;
|
|
71
|
+
// Calculate adjustments EXCLUDING existing rounding
|
|
72
|
+
const adjustments = (item.adjustments || []).filter((adj) => adj.code !== "ROUNDED_DISCOUNT");
|
|
73
|
+
let itemAdjustmentTotal = 0;
|
|
74
|
+
for (const adj of adjustments) {
|
|
75
|
+
itemAdjustmentTotal += getNumericValue(adj.amount) || 0;
|
|
76
|
+
}
|
|
77
|
+
itemsDiscountSubtotal += itemAdjustmentTotal;
|
|
78
|
+
// Calculate tax on the discounted amount (excluding rounding)
|
|
79
|
+
const taxLines = item.tax_lines || [];
|
|
80
|
+
const taxRate = taxLines.reduce((sum, tl) => sum + (getNumericValue(tl.rate) || 0), 0) / 100;
|
|
81
|
+
const isTaxInclusive = item.is_tax_inclusive || false;
|
|
82
|
+
// Handle tax-inclusive pricing
|
|
83
|
+
const taxableSubtotal = isTaxInclusive
|
|
84
|
+
? itemSubtotal / (1 + taxRate)
|
|
85
|
+
: itemSubtotal;
|
|
86
|
+
const taxableAmount = taxableSubtotal - itemAdjustmentTotal;
|
|
87
|
+
const itemTax = taxableAmount * taxRate;
|
|
88
|
+
itemsTaxTotal += itemTax;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Calculate cart total: subtotal + tax - discounts (matching decorateCartTotals logic)
|
|
92
|
+
// This is the base total BEFORE rounding
|
|
93
|
+
const calculatedTotal = itemsSubtotal + itemsTaxTotal - itemsDiscountSubtotal;
|
|
94
|
+
// Use calculated total, fallback to cart total field if calculation fails
|
|
95
|
+
const cartTotalFromField = getNumericValue(freshCart?.total);
|
|
96
|
+
let cartTotal = calculatedTotal > 0 ? calculatedTotal : cartTotalFromField;
|
|
97
|
+
console.log("[ROUNDED-CART-TOTAL] Total calculation (matching decorateCartTotals):", {
|
|
98
|
+
itemsSubtotal,
|
|
99
|
+
itemsTaxTotal,
|
|
100
|
+
itemsDiscountSubtotal,
|
|
101
|
+
calculatedTotal,
|
|
102
|
+
cartTotalFromField,
|
|
103
|
+
finalCartTotal: cartTotal,
|
|
104
|
+
formula: `itemsSubtotal (${itemsSubtotal}) + itemsTaxTotal (${itemsTaxTotal}) - itemsDiscountSubtotal (${itemsDiscountSubtotal}) = ${calculatedTotal}`,
|
|
105
|
+
});
|
|
106
|
+
console.log("[ROUNDED-CART-TOTAL] Fresh cart data:", {
|
|
107
|
+
id: freshCart?.id,
|
|
108
|
+
total_raw: freshCart?.total,
|
|
109
|
+
items_count: freshCart?.items?.length,
|
|
110
|
+
calculated_cartTotal: cartTotal,
|
|
111
|
+
});
|
|
112
|
+
const cartType = input.cart_type || freshCart?.metadata?.cart_type || "pos";
|
|
113
|
+
// Normalize cart type for web/website variations
|
|
114
|
+
const normalizedCartType = cartType === "wbe" || cartType === "website" || cartType === "web" ? "web" : "pos";
|
|
115
|
+
// Calculate rounding based on cart_type
|
|
116
|
+
let rounded = 0;
|
|
117
|
+
if (cartTotal > 0) {
|
|
118
|
+
if (normalizedCartType === "web") {
|
|
119
|
+
// For web: extract only the decimal part (last point value)
|
|
120
|
+
// e.g., 2344.34 → 0.34, 456.78 → 0.78
|
|
121
|
+
rounded = parseFloat((cartTotal % 1).toFixed(2)) || 0;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
// For POS and default: round to nearest 10
|
|
125
|
+
rounded = parseFloat((cartTotal % 10).toFixed(2)) || 0;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
console.log("[ROUNDED-CART-TOTAL] Calculation Details:", {
|
|
129
|
+
cartTotal,
|
|
130
|
+
cartType,
|
|
131
|
+
normalizedCartType,
|
|
132
|
+
formula: normalizedCartType === "web" ? "cartTotal % 1 (decimal part only)" : "cartTotal % 10 (nearest 10)",
|
|
133
|
+
rounded,
|
|
134
|
+
finalTotal: cartTotal - rounded,
|
|
50
135
|
});
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
136
|
+
// Only apply rounding if there's a valid amount
|
|
137
|
+
if (rounded > 0 && cartTotal > 0) {
|
|
138
|
+
const prevMeta = freshCart.metadata || {};
|
|
139
|
+
const targetItemId = itemIds[0];
|
|
140
|
+
const roundedDiscountMeta = {
|
|
141
|
+
amount: rounded,
|
|
142
|
+
code: "ROUNDED_DISCOUNT",
|
|
143
|
+
};
|
|
144
|
+
// Update cart metadata
|
|
145
|
+
await cartService.updateCarts(input.cart_id, {
|
|
146
|
+
metadata: {
|
|
147
|
+
...prevMeta,
|
|
148
|
+
rounded_discount: roundedDiscountMeta,
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
// Add rounded discount as line item adjustment
|
|
152
|
+
// Set is_tax_inclusive: false to ensure no tax is calculated on the adjustment
|
|
153
|
+
await cartService.addLineItemAdjustments({
|
|
154
|
+
item_id: targetItemId,
|
|
155
|
+
code: "ROUNDED_DISCOUNT",
|
|
156
|
+
amount: rounded,
|
|
157
|
+
});
|
|
158
|
+
console.log("[ROUNDED-CART-TOTAL] Rounding adjustment applied - amount:", rounded, "cart_id:", input.cart_id);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
console.log("[ROUNDED-CART-TOTAL] No rounding applied - cartTotal:", cartTotal, "rounded:", rounded);
|
|
162
|
+
}
|
|
163
|
+
return new workflows_sdk_1.StepResponse({
|
|
164
|
+
message: "Rounded Amount Updated Successfully",
|
|
165
|
+
rounded,
|
|
55
166
|
});
|
|
56
167
|
});
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmRlZC1jYXJ0LXRvdGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kaXNjb3VudC9zdGVwcy9yb3VuZGVkLWNhcnQtdG90YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLHFEQUFzRTtBQUN0RSxvREFBK0Q7QUFFbEQsUUFBQSxzQkFBc0IsR0FDakMseUJBQXlCLENBQUM7QUFFZixRQUFBLG9CQUFvQixHQUFHLElBQUEsMEJBQVUsRUFDNUMsOEJBQXNCLEVBQ3RCLEtBQUssRUFBRSxLQUE4QyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN0RSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxNQUFNO1FBQ2QsTUFBTSxFQUFFLGlDQUFzQjtRQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTtRQUM5QixVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFO0tBQ3hCLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkRBQTZELENBQUMsQ0FBQztRQUMzRSxPQUFPLElBQUksNEJBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsd0NBQXdDO1lBQ2pELE9BQU8sRUFBRSxDQUFDO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFH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
|
package/package.json
CHANGED