@devx-commerce/plugin-discounts-svaraa 0.0.2-beta.4 → 0.0.2-beta.5
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/discounts/apply/route.js +34 -8
- package/.medusa/server/src/api/store/discounts/auto-apply/route.js +143 -80
- package/.medusa/server/src/api/store/discounts/cart-eligible-coupons/[cart_id]/route.js +23 -3
- package/.medusa/server/src/api/store/discounts/price-rules/route.js +5 -13
- package/.medusa/server/src/api/store/discounts/remove/route.js +8 -2
- package/.medusa/server/src/lib/constant.js +5 -0
- package/.medusa/server/src/lib/redis-utils.js +33 -0
- package/.medusa/server/src/lib/utils.js +11 -2
- package/.medusa/server/src/workflows/discount/apply-coupon/index.js +36 -26
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/apply-coupon-step.js +25 -187
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/generate-adjustment-line-item.js +27 -9
- package/.medusa/server/src/workflows/discount/auto-apply-coupon/steps/auto-apply-coupon.js +153 -87
- package/.medusa/server/src/workflows/discount/calculate-coupon-discount/index.js +36 -32
- package/.medusa/server/src/workflows/discount/calculate-coupon-discount/step/fetch-price-rule-by-code.js +36 -0
- package/.medusa/server/src/workflows/discount/get-cart-eligible-coupons/index.js +2 -1
- package/.medusa/server/src/workflows/discount/get-cart-eligible-coupons/step/get-cart-eligible-coupon.js +33 -10
- package/package.json +1 -1
|
@@ -3,30 +3,56 @@ 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
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
9
|
async function POST(req, res) {
|
|
7
10
|
try {
|
|
11
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
12
|
+
const { data: carts } = await query.graph({
|
|
13
|
+
entity: "cart",
|
|
14
|
+
fields: [
|
|
15
|
+
"*",
|
|
16
|
+
"items.*",
|
|
17
|
+
"items.variant.*",
|
|
18
|
+
"items.variant.prices.*",
|
|
19
|
+
"items.variant.extended_variant.mrp",
|
|
20
|
+
"promotions.*",
|
|
21
|
+
],
|
|
22
|
+
filters: { id: req.validatedBody.cart_id },
|
|
23
|
+
});
|
|
24
|
+
if (!carts.length) {
|
|
25
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Cart ${req.validatedBody.cart_id} not found`, 404));
|
|
26
|
+
}
|
|
8
27
|
const { result, errors } = await (0, apply_coupon_1.applyCouponWorkflow)(req.scope).run({
|
|
9
28
|
input: {
|
|
10
29
|
...req.validatedBody,
|
|
30
|
+
cart: carts[0],
|
|
11
31
|
customerId: req.auth_context?.actor_id || undefined,
|
|
12
32
|
},
|
|
13
33
|
throwOnError: false
|
|
14
34
|
});
|
|
15
|
-
if (!result) {
|
|
16
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to apply coupon", 400));
|
|
17
|
-
}
|
|
18
35
|
if (errors && errors.length > 0) {
|
|
19
36
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
37
|
+
discountResult: {
|
|
38
|
+
isApplied: false,
|
|
39
|
+
discount: 0,
|
|
40
|
+
message: errors?.[0]?.error?.message || "Failed to apply coupon"
|
|
41
|
+
}
|
|
23
42
|
}));
|
|
24
43
|
}
|
|
25
|
-
|
|
44
|
+
if (!result) {
|
|
45
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to apply coupon", 400));
|
|
46
|
+
}
|
|
47
|
+
const cart = await (0, helpers_1.refetchCart)(req.body.cart_id, req.scope, constant_1.defaultStoreCartFields);
|
|
48
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
49
|
+
cart,
|
|
50
|
+
discountResult: result,
|
|
51
|
+
}));
|
|
26
52
|
}
|
|
27
53
|
catch (error) {
|
|
28
54
|
console.log("error: ", error);
|
|
29
55
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
30
56
|
}
|
|
31
57
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9hcHBseS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdCQSxvQkFvRUM7QUEvRUQsK0RBSXNDO0FBQ3RDLDhFQUFrRjtBQUVsRixzRUFBdUU7QUFDdkUsdURBQWtFO0FBQ2xFLHFEQUFzRTtBQUUvRCxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUF1RCxFQUN2RCxHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN4QyxNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRTtnQkFDTixHQUFHO2dCQUNILFNBQVM7Z0JBQ1QsaUJBQWlCO2dCQUNqQix3QkFBd0I7Z0JBQ3hCLG9DQUFvQztnQkFDcEMsY0FBYzthQUNmO1lBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1NBQzNDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUFDLFFBQVEsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FDeEUsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxrQ0FBbUIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2xFLEtBQUssRUFBRTtnQkFDTCxHQUFHLEdBQUcsQ0FBQyxhQUFhO2dCQUNwQixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDZCxVQUFVLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLElBQUksU0FBUzthQUNwRDtZQUNELFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUMsQ0FBQztRQUdILElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsb0NBQXFCLEVBQUM7Z0JBQ2hELGNBQWMsRUFBQztvQkFDYixTQUFTLEVBQUUsS0FBSztvQkFDaEIsUUFBUSxFQUFFLENBQUM7b0JBQ1gsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLElBQUksd0JBQXdCO2lCQUNqRTthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQztRQUdELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxxQkFBVyxFQUM1QixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFDaEIsR0FBRyxDQUFDLEtBQUssRUFDVCxpQ0FBc0IsQ0FDdkIsQ0FBQztRQUVGLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxvQ0FBcUIsRUFBQztZQUNwQixJQUFJO1lBQ0osY0FBYyxFQUFFLE1BQU07U0FDdkIsQ0FBQyxDQUNILENBQUM7SUFFSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -4,95 +4,146 @@ 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
6
|
const calculate_coupon_discount_1 = require("../../../../workflows/discount/calculate-coupon-discount");
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const redis_utils_1 = require("../../../../lib/redis-utils");
|
|
9
|
+
const utils_2 = require("../../../../lib/utils");
|
|
10
|
+
async function getDiscountCode(query, priceRule, cache) {
|
|
11
|
+
const cacheKey = `discount_code:${priceRule.id}`;
|
|
12
|
+
const cached = await cache.get(cacheKey);
|
|
13
|
+
if (cached)
|
|
14
|
+
return cached;
|
|
15
|
+
if (!priceRule.prefix) {
|
|
16
|
+
await cache.set(cacheKey, priceRule.discount_code, redis_utils_1.CACHE_VALIDATION_TIMES.DISCOUNT_CODE);
|
|
17
|
+
return priceRule.discount_code;
|
|
18
|
+
}
|
|
19
|
+
const { data: codes } = await query.graph({
|
|
20
|
+
entity: "discount_code",
|
|
21
|
+
fields: ["*"],
|
|
22
|
+
filters: {
|
|
23
|
+
$and: [
|
|
24
|
+
{ price_rule_id: { $eq: priceRule.id } },
|
|
25
|
+
priceRule.usage_limit_per_customer_type === "SPECIFIC"
|
|
26
|
+
? { usage_count: 0 }
|
|
27
|
+
: {},
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
pagination: { take: 1 },
|
|
31
|
+
});
|
|
32
|
+
const code = codes.length > 0 ? codes[0].code : null;
|
|
33
|
+
await cache.set(cacheKey, code, redis_utils_1.CACHE_VALIDATION_TIMES.DISCOUNT_CODE);
|
|
34
|
+
return code;
|
|
35
|
+
}
|
|
36
|
+
function getBestDiscount(discounts) {
|
|
37
|
+
return discounts
|
|
38
|
+
.filter((d) => d.status === "fulfilled" && d.value)
|
|
39
|
+
.map((d) => d.value)
|
|
40
|
+
.reduce((best, cur) => (cur.discount > best.discount ? { discount: cur.discount, code: cur.code } : best), { discount: 0 });
|
|
41
|
+
}
|
|
42
|
+
function groupAdjustments(adjustments) {
|
|
43
|
+
return adjustments.reduce((map, adj) => {
|
|
44
|
+
if (adj.code) {
|
|
45
|
+
map[adj.code] = (map[adj.code] || 0) + Math.abs(adj.amount || 0);
|
|
46
|
+
}
|
|
47
|
+
return map;
|
|
48
|
+
}, {});
|
|
49
|
+
}
|
|
50
|
+
// --- Main Handler ---
|
|
7
51
|
async function POST(req, res) {
|
|
8
52
|
try {
|
|
9
53
|
const query = req.scope.resolve("query");
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (!priceRule.prefix)
|
|
20
|
-
code = priceRule.discount_code;
|
|
21
|
-
else {
|
|
22
|
-
const { data: codes } = await query.graph({
|
|
23
|
-
entity: "discount_code",
|
|
24
|
-
fields: ["*"],
|
|
25
|
-
filters: {
|
|
26
|
-
$and: [
|
|
27
|
-
{ price_rule_id: { $eq: priceRule.id } },
|
|
28
|
-
(priceRule.usage_limit_per_customer_type === "SPECIFIC" && { usage_count: 0 }),
|
|
29
|
-
],
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
console.log("===> codes: ", codes);
|
|
33
|
-
if (codes.length > 0)
|
|
34
|
-
code = codes[0].code;
|
|
35
|
-
else
|
|
36
|
-
return { discount: 0 };
|
|
37
|
-
}
|
|
38
|
-
console.log("===> code: ", code);
|
|
39
|
-
const { result: { discount }, } = await (0, calculate_coupon_discount_1.calculateCouponDiscountWorkflow)(req.scope).run({
|
|
40
|
-
input: {
|
|
41
|
-
cart_id: req.validatedBody.cart_id,
|
|
42
|
-
code: code,
|
|
43
|
-
customerId: req.auth_context?.actor_id || undefined,
|
|
44
|
-
},
|
|
54
|
+
const cache = req.scope.resolve(utils_1.Modules.CACHE);
|
|
55
|
+
const userId = req.auth_context?.actor_id || undefined;
|
|
56
|
+
let filters = { ...req.filterableFields };
|
|
57
|
+
// --- Customer birthday/anniversary filters ---
|
|
58
|
+
if (userId) {
|
|
59
|
+
const { data: customer } = await query.graph({
|
|
60
|
+
entity: "customer",
|
|
61
|
+
fields: ["metadata"],
|
|
62
|
+
filters: { id: userId },
|
|
45
63
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
64
|
+
const externalId = customer?.[0]?.metadata?.external_id;
|
|
65
|
+
if (externalId) {
|
|
66
|
+
const { data: ext } = await query.graph({
|
|
67
|
+
entity: "extended_customer",
|
|
68
|
+
fields: ["birth_date", "anniversary_date"],
|
|
69
|
+
filters: { external_id: externalId },
|
|
70
|
+
});
|
|
71
|
+
const todayIST = (0, utils_2.getISTMonthDay)(new Date());
|
|
72
|
+
const bday = ext?.[0]?.birth_date;
|
|
73
|
+
const anniv = ext?.[0]?.anniversary_date;
|
|
74
|
+
const isBirthday = bday && (0, utils_2.getISTMonthDay)(bday) === todayIST;
|
|
75
|
+
const isAnniversary = anniv && (0, utils_2.getISTMonthDay)(anniv) === todayIST;
|
|
76
|
+
if (isBirthday || isAnniversary) {
|
|
77
|
+
filters.$or = [
|
|
78
|
+
...(isBirthday ? [{ is_birthday: true }] : []),
|
|
79
|
+
...(isAnniversary ? [{ is_anniversary: true }] : []),
|
|
80
|
+
{ is_birthday: false, is_anniversary: false },
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
filters.is_birthday = false;
|
|
85
|
+
filters.is_anniversary = false;
|
|
57
86
|
}
|
|
58
|
-
currentDiscount = discount.value.discount;
|
|
59
|
-
currentCode = discount.value.code || undefined;
|
|
60
87
|
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
filters = { ...filters, usage_limit: "UNLIMITED", is_birthday: false, is_anniversary: false };
|
|
91
|
+
}
|
|
92
|
+
// --- 1. Fetch auto-apply rules (with caching) ---
|
|
93
|
+
const rulesCacheKey = "discount_price_rules:auto_apply";
|
|
94
|
+
let priceRules = (await cache.get(rulesCacheKey)) || (await query.graph({
|
|
95
|
+
entity: "discount_price_rule",
|
|
96
|
+
fields: ["*"],
|
|
97
|
+
filters: { ...filters, auto_apply: true },
|
|
98
|
+
})).data;
|
|
99
|
+
if (!(await cache.get(rulesCacheKey))) {
|
|
100
|
+
await cache.set(rulesCacheKey, priceRules, redis_utils_1.CACHE_VALIDATION_TIMES.DISCOUNT_CODE);
|
|
101
|
+
}
|
|
102
|
+
// --- 2. Fetch cart once ---
|
|
64
103
|
const { data: carts } = await query.graph({
|
|
65
104
|
entity: "cart",
|
|
66
|
-
fields: [
|
|
105
|
+
fields: [
|
|
106
|
+
"*",
|
|
107
|
+
"items.*",
|
|
108
|
+
"items.variant.*",
|
|
109
|
+
"items.variant.prices.*",
|
|
110
|
+
"items.variant.extended_product_variants.compare_at_price",
|
|
111
|
+
"promotions.*",
|
|
112
|
+
],
|
|
67
113
|
filters: { id: req.validatedBody.cart_id },
|
|
68
114
|
});
|
|
115
|
+
if (!carts.length) {
|
|
116
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Cart ${req.validatedBody.cart_id} not found`, 404));
|
|
117
|
+
}
|
|
69
118
|
const cart = carts[0];
|
|
70
|
-
//
|
|
119
|
+
// --- 3. Calculate discounts for each rule ---
|
|
120
|
+
const discounts = await Promise.allSettled(priceRules.map(async (rule) => {
|
|
121
|
+
try {
|
|
122
|
+
const code = await getDiscountCode(query, rule, cache);
|
|
123
|
+
if (!code)
|
|
124
|
+
return { discount: 0 };
|
|
125
|
+
const { result: { discount }, } = await (0, calculate_coupon_discount_1.calculateCouponDiscountWorkflow)(req.scope).run({
|
|
126
|
+
input: { cart_id: req.validatedBody.cart_id, cart, code, customerId: userId || undefined },
|
|
127
|
+
});
|
|
128
|
+
return { discount, code };
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return { discount: 0 };
|
|
132
|
+
}
|
|
133
|
+
}));
|
|
134
|
+
const { discount: currentDiscount, code: currentCode } = getBestDiscount(discounts);
|
|
135
|
+
// --- 4. Fetch adjustments once ---
|
|
71
136
|
const { data: adjustments } = await query.graph({
|
|
72
137
|
entity: "line_item_adjustment",
|
|
73
138
|
fields: ["*"],
|
|
74
139
|
filters: {
|
|
75
|
-
item_id: { $in: cart.items.map((
|
|
140
|
+
item_id: { $in: cart.items.map((i) => i.id) },
|
|
76
141
|
code: { $ne: null },
|
|
77
142
|
},
|
|
78
143
|
});
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
if (adj.code) {
|
|
83
|
-
codeDiscountMap[adj.code] = (codeDiscountMap[adj.code] || 0) + Math.abs(adj.amount || 0);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
// Find the code with the highest total discount
|
|
87
|
-
let appliedCouponCode = "";
|
|
88
|
-
let appliedCouponDiscount = 0;
|
|
89
|
-
for (const [code, total] of Object.entries(codeDiscountMap)) {
|
|
90
|
-
if (total > appliedCouponDiscount) {
|
|
91
|
-
appliedCouponDiscount = total;
|
|
92
|
-
appliedCouponCode = code;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
// If a coupon is already applied and its discount is greater or equal, do not apply auto-applied coupon
|
|
144
|
+
const codeDiscountMap = groupAdjustments(adjustments);
|
|
145
|
+
const [appliedCouponCode, appliedCouponDiscount] = Object.entries(codeDiscountMap).reduce((best, [code, total]) => (total > best[1] ? [code, total] : best), ["", 0]);
|
|
146
|
+
// --- 5. Compare and apply ---
|
|
96
147
|
if (appliedCouponCode && appliedCouponDiscount >= currentDiscount) {
|
|
97
148
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
98
149
|
message: "Existing coupon provides better or equal discount. No auto coupon applied.",
|
|
@@ -100,26 +151,38 @@ async function POST(req, res) {
|
|
|
100
151
|
discount: appliedCouponDiscount,
|
|
101
152
|
}));
|
|
102
153
|
}
|
|
154
|
+
let appliedCode = currentCode;
|
|
155
|
+
let appliedDiscount = currentDiscount;
|
|
103
156
|
if (currentCode) {
|
|
104
157
|
const { result } = await (0, apply_coupon_1.applyCouponWorkflow)(req.scope).run({
|
|
105
|
-
input: {
|
|
106
|
-
code: currentCode,
|
|
107
|
-
cart_id: req.validatedBody.cart_id,
|
|
108
|
-
customerId: req.auth_context?.actor_id || undefined,
|
|
109
|
-
},
|
|
158
|
+
input: { code: currentCode, cart_id: req.validatedBody.cart_id, cart, customerId: userId || undefined },
|
|
110
159
|
});
|
|
111
160
|
if (!result) {
|
|
112
161
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to apply coupon", 400));
|
|
113
162
|
}
|
|
163
|
+
// 🔄 Refresh adjustments after applying
|
|
164
|
+
const { data: adjustmentsAfter } = await query.graph({
|
|
165
|
+
entity: "line_item_adjustment",
|
|
166
|
+
fields: ["*"],
|
|
167
|
+
filters: {
|
|
168
|
+
item_id: { $in: cart.items.map((i) => i.id) },
|
|
169
|
+
code: { $ne: null },
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
const codeDiscountMapAfter = groupAdjustments(adjustmentsAfter);
|
|
173
|
+
const [newCode, newDiscount] = Object.entries(codeDiscountMapAfter).reduce((best, [code, total]) => (total > best[1] ? [code, total] : best), ["", 0]);
|
|
174
|
+
appliedCode = newCode;
|
|
175
|
+
appliedDiscount = newDiscount;
|
|
114
176
|
}
|
|
177
|
+
// --- 6. Final response ---
|
|
115
178
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
116
|
-
message:
|
|
117
|
-
code:
|
|
118
|
-
discount:
|
|
179
|
+
message: appliedCode ? "Coupon applied" : "No coupon applied",
|
|
180
|
+
code: appliedCode,
|
|
181
|
+
discount: appliedDiscount,
|
|
119
182
|
}));
|
|
120
183
|
}
|
|
121
184
|
catch (error) {
|
|
122
185
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
123
186
|
}
|
|
124
187
|
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9hdXRvLWFwcGx5L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBY0Esb0JBeUpDO0FBbEtELCtEQUlzQztBQUN0Qyw4RUFBa0Y7QUFDbEYsd0dBQTJHO0FBR3BHLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQTJELEVBQzNELEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzdDLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ2IsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTtTQUM5QixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTdDLE1BQU0sU0FBUyxHQUFHLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FDeEMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDakMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBRWhCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNO2dCQUFFLElBQUksR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDO2lCQUNqRCxDQUFDO2dCQUNKLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO29CQUN4QyxNQUFNLEVBQUUsZUFBZTtv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
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9hdXRvLWFwcGx5L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUVBLG9CQWtMQztBQS9PRCwrREFJcUM7QUFDckMsOEVBQWlGO0FBQ2pGLHdHQUEwRztBQUUxRyxxREFBbUQ7QUFDbkQsNkRBQW9FO0FBQ3BFLGlEQUFzRDtBQUV0RCxLQUFLLFVBQVUsZUFBZSxDQUFDLEtBQVUsRUFBRSxTQUFjLEVBQUUsS0FBVTtJQUNuRSxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFBO0lBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN4QyxJQUFJLE1BQU07UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUV6QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLGFBQWEsRUFBRSxvQ0FBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUN4RixPQUFPLFNBQVMsQ0FBQyxhQUFhLENBQUE7SUFDaEMsQ0FBQztJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRTtnQkFDSixFQUFFLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQ3hDLFNBQVMsQ0FBQyw2QkFBNkIsS0FBSyxVQUFVO29CQUNwRCxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFO29C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
|
|
@@ -1,19 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GET = GET;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
5
|
const api_response_1 = require("../../../../../lib/api-response");
|
|
5
6
|
const get_cart_eligible_coupons_1 = require("../../../../../workflows/discount/get-cart-eligible-coupons");
|
|
6
7
|
async function GET(req, res) {
|
|
7
8
|
try {
|
|
8
9
|
const { cart_id } = req.params;
|
|
10
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
11
|
+
const { data: carts } = await query.graph({
|
|
12
|
+
entity: "cart",
|
|
13
|
+
fields: [
|
|
14
|
+
"*",
|
|
15
|
+
"items.*",
|
|
16
|
+
"items.variant.*",
|
|
17
|
+
"items.variant.prices.*",
|
|
18
|
+
"items.variant.extended_variant.mrp",
|
|
19
|
+
],
|
|
20
|
+
filters: { id: cart_id },
|
|
21
|
+
});
|
|
22
|
+
if (!carts.length) {
|
|
23
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Cart ${cart_id} not found`, 404));
|
|
24
|
+
}
|
|
9
25
|
const { result } = await (0, get_cart_eligible_coupons_1.getCartEligibleCouponsWorkflow)(req.scope).run({
|
|
10
|
-
input: {
|
|
26
|
+
input: {
|
|
27
|
+
cart_id,
|
|
28
|
+
customerId: req?.auth_context?.actor_id,
|
|
29
|
+
cart: carts[0],
|
|
30
|
+
},
|
|
11
31
|
});
|
|
12
32
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result));
|
|
13
33
|
}
|
|
14
34
|
catch (error) {
|
|
15
|
-
|
|
35
|
+
// Error logging removed - use proper error handling instead
|
|
16
36
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
17
37
|
}
|
|
18
38
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9jYXJ0LWVsaWdpYmxlLWNvdXBvbnMvW2NhcnRfaWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBYUEsa0JBeUNDO0FBbERELHFEQUFzRTtBQUV0RSxrRUFJeUM7QUFDekMsMkdBQTZHO0FBRXRHLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRS9CLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFO2dCQUNOLEdBQUc7Z0JBQ0gsU0FBUztnQkFDVCxpQkFBaUI7Z0JBQ2pCLHdCQUF3QjtnQkFDeEIsb0NBQW9DO2FBQ3JDO1lBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRTtTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxrQ0FBbUIsRUFBQyxRQUFRLE9BQU8sWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUN0RCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsMERBQThCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNyRSxLQUFLLEVBQUU7Z0JBQ0wsT0FBTztnQkFDUCxVQUFVLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRO2dCQUN2QyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNmO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsb0NBQXFCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLDREQUE0RDtRQUM1RCxPQUFPLElBQUEsOEJBQWUsRUFBQyxHQUFHLEVBQUUsSUFBQSxrQ0FBbUIsRUFBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -2,14 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GET = GET;
|
|
4
4
|
const api_response_1 = require("../../../../lib/api-response");
|
|
5
|
-
|
|
6
|
-
const d = new Date(date);
|
|
7
|
-
return d.toLocaleDateString("en-CA", {
|
|
8
|
-
timeZone: "Asia/Kolkata",
|
|
9
|
-
month: "2-digit",
|
|
10
|
-
day: "2-digit",
|
|
11
|
-
}); // "MM-DD"
|
|
12
|
-
}
|
|
5
|
+
const utils_1 = require("../../../../lib/utils");
|
|
13
6
|
async function GET(req, res) {
|
|
14
7
|
try {
|
|
15
8
|
const query = req.scope.resolve("query");
|
|
@@ -36,11 +29,11 @@ async function GET(req, res) {
|
|
|
36
29
|
fields: ["birth_date", "anniversary_date"],
|
|
37
30
|
filters: { external_id: externalId },
|
|
38
31
|
});
|
|
39
|
-
const todayIST = getISTMonthDay(new Date());
|
|
32
|
+
const todayIST = (0, utils_1.getISTMonthDay)(new Date());
|
|
40
33
|
const bday = ext?.[0]?.birth_date;
|
|
41
34
|
const anniv = ext?.[0]?.anniversary_date;
|
|
42
|
-
const isBirthday = bday && getISTMonthDay(bday) === todayIST;
|
|
43
|
-
const isAnniversary = anniv && getISTMonthDay(anniv) === todayIST;
|
|
35
|
+
const isBirthday = bday && (0, utils_1.getISTMonthDay)(bday) === todayIST;
|
|
36
|
+
const isAnniversary = anniv && (0, utils_1.getISTMonthDay)(anniv) === todayIST;
|
|
44
37
|
if (isBirthday || isAnniversary) {
|
|
45
38
|
filters.$or = [
|
|
46
39
|
...(isBirthday ? [{ is_birthday: true }] : []),
|
|
@@ -58,7 +51,6 @@ async function GET(req, res) {
|
|
|
58
51
|
filters.is_anniversary = false;
|
|
59
52
|
}
|
|
60
53
|
}
|
|
61
|
-
console.log("Final filters:", filters);
|
|
62
54
|
const { data, metadata } = await query.graph({
|
|
63
55
|
entity: "discount_price_rule",
|
|
64
56
|
...req.queryConfig,
|
|
@@ -71,4 +63,4 @@ async function GET(req, res) {
|
|
|
71
63
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(message, 500));
|
|
72
64
|
}
|
|
73
65
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9wcmljZS1ydWxlcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVlBLGtCQXVFQztBQS9FRCwrREFJc0M7QUFFdEMsaURBQXVEO0FBRWhELEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQWlFLEVBQ2pFLEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFFOUQsSUFBSSxPQUFPLEdBQXdCLEVBQUUsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUUvRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLEdBQUc7Z0JBQ1IsR0FBRyxPQUFPO2dCQUNWLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixXQUFXLEVBQUUsS0FBSztnQkFDbEIsY0FBYyxFQUFFLEtBQUs7YUFDdEIsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQzNDLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQ3BCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7YUFDeEIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxVQUFVLEdBQUcsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQztZQUV4RCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLE1B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
|
|
@@ -1,8 +1,10 @@
|
|
|
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");
|
|
4
5
|
const api_response_1 = require("../../../../lib/api-response");
|
|
5
6
|
const remove_coupon_1 = require("../../../../workflows/discount/remove-coupon");
|
|
7
|
+
const constant_1 = require("../../../../lib/constant");
|
|
6
8
|
async function POST(req, res) {
|
|
7
9
|
try {
|
|
8
10
|
const { result } = await (0, remove_coupon_1.removeCouponWorkflow)(req.scope).run({
|
|
@@ -11,11 +13,15 @@ async function POST(req, res) {
|
|
|
11
13
|
if (!result) {
|
|
12
14
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to create discount price rule", 400));
|
|
13
15
|
}
|
|
14
|
-
|
|
16
|
+
const cart = await (0, helpers_1.refetchCart)(req.validatedBody.cart_id, req.scope, constant_1.defaultStoreCartFields);
|
|
17
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
18
|
+
cart,
|
|
19
|
+
discountResult: result,
|
|
20
|
+
}));
|
|
15
21
|
}
|
|
16
22
|
catch (error) {
|
|
17
23
|
console.log("error: ", error);
|
|
18
24
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
19
25
|
}
|
|
20
26
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9yZW1vdmUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlQSxvQkFpQ0M7QUE1Q0Qsc0VBQXVFO0FBRXZFLCtEQUlzQztBQUN0QyxnRkFBb0Y7QUFFcEYsdURBQWtFO0FBRTNELEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQXdELEVBQ3hELEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsb0NBQW9CLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUMzRCxLQUFLLEVBQUUsR0FBRyxDQUFDLGFBQWE7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUFDLHNDQUFzQyxFQUFFLEdBQUcsQ0FBQyxDQUNqRSxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxxQkFBVyxFQUM1QixHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFDekIsR0FBRyxDQUFDLEtBQUssRUFDVCxpQ0FBc0IsQ0FDdkIsQ0FBQztRQUNGLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxvQ0FBcUIsRUFBQztZQUNwQixJQUFJO1lBQ0osY0FBYyxFQUFFLE1BQU07U0FDdkIsQ0FBQyxDQUNILENBQUM7SUFFSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultStoreCartFields = void 0;
|
|
4
|
+
exports.defaultStoreCartFields = ["id", "currency_code", "email", "region_id", "created_at", "updated_at", "completed_at", "total", "subtotal", "tax_total", "discount_total", "discount_subtotal", "discount_tax_total", "original_total", "original_tax_total", "item_total", "item_subtotal", "item_tax_total", "original_item_total", "original_item_subtotal", "original_item_tax_total", "shipping_total", "shipping_subtotal", "shipping_tax_total", "original_shipping_tax_total", "original_shipping_subtotal", "original_shipping_total", "credit_line_subtotal", "credit_line_tax_total", "credit_line_total", "metadata", "sales_channel_id", "promotions.id", "promotions.code", "promotions.is_automatic", "promotions.application_method.value", "promotions.application_method.type", "promotions.application_method.currency_code", "items.id", "items.thumbnail", "items.variant", "items.variant_id", "items.product_id", "items.product_type_id", "items.product_title", "items.product_description", "items.product_subtitle", "items.product_type", "items.product_collection", "items.product_handle", "items.variant_sku", "items.variant_barcode", "items.variant_title", "items.requires_shipping", "items.metadata", "items.created_at", "items.updated_at", "items.title", "items.quantity", "items.unit_price", "items.compare_at_unit_price", "items.is_tax_inclusive", "items.tax_lines.id", "items.tax_lines.description", "items.tax_lines.code", "items.tax_lines.rate", "items.tax_lines.provider_id", "items.adjustments.id", "items.adjustments.code", "items.adjustments.promotion_id", "items.adjustments.amount", "customer.id", "customer.email", "customer.groups.id", "shipping_methods.tax_lines.id", "shipping_methods.tax_lines.description", "shipping_methods.tax_lines.code", "shipping_methods.tax_lines.rate", "shipping_methods.tax_lines.provider_id", "shipping_methods.amount", "shipping_methods.is_tax_inclusive", "shipping_methods.adjustments.id", "shipping_methods.adjustments.code", "shipping_methods.adjustments.amount", "shipping_methods.shipping_option_id", "shipping_address_id", "shipping_address.id", "shipping_address.first_name", "shipping_address.last_name", "shipping_address.company", "shipping_address.address_1", "shipping_address.address_2", "shipping_address.city", "shipping_address.postal_code", "shipping_address.country_code", "shipping_address.region_code", "shipping_address.province", "shipping_address.phone", "billing_address_id", "billing_address.id", "billing_address.first_name", "billing_address.last_name", "billing_address.company", "billing_address.address_1", "billing_address.address_2", "billing_address.city", "billing_address.postal_code", "billing_address.country_code", "billing_address.region_code", "billing_address.province", "billing_address.phone", "region.id", "region.name", "region.currency_code", "region.automatic_taxes", "items.total", "shipping_methods.name", "items.product.*", "items.product.variants.*", "items.product.variants.prices.*", "items.product.variants.extended_variant.*", "region.countries.*", "payment_collection.*", "payment_collection.payment_sessions.*", "credit_lines.*", "items.*", "region.*", "items.product.options.*", "items.product.options.values.*", "items.product.extended_product.*", "items.variant.*", "items.variant.extended_variant.*", "items.thumbnail.*", "items.metadata.*", "promotions.*"];
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsc0JBQXNCLEdBQUksQ0FBQyxJQUFJLEVBQUMsZUFBZSxFQUFDLE9BQU8sRUFBQyxXQUFXLEVBQUMsWUFBWSxFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxXQUFXLEVBQUMsZ0JBQWdCLEVBQUMsbUJBQW1CLEVBQUMsb0JBQW9CLEVBQUMsZ0JBQWdCLEVBQUMsb0JBQW9CLEVBQUMsWUFBWSxFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxxQkFBcUIsRUFBQyx3QkFBd0IsRUFBQyx5QkFBeUIsRUFBQyxnQkFBZ0IsRUFBQyxtQkFBbUIsRUFBQyxvQkFBb0IsRUFBQyw2QkFBNkIsRUFBQyw0QkFBNEIsRUFBQyx5QkFBeUIsRUFBQyxzQkFBc0IsRUFBQyx1QkFBdUIsRUFBQyxtQkFBbUIsRUFBQyxVQUFVLEVBQUMsa0JBQWtCLEVBQUMsZUFBZSxFQUFDLGlCQUFpQixFQUFDLHlCQUF5QixFQUFDLHFDQUFxQyxFQUFDLG9DQUFvQyxFQUFDLDZDQUE2QyxFQUFDLFVBQVUsRUFBQyxpQkFBaUIsRUFBQyxlQUFlLEVBQUMsa0JBQWtCLEVBQUMsa0JBQWtCLEVBQUMsdUJBQXVCLEVBQUMscUJBQXFCLEVBQUMsMkJBQTJCLEVBQUMsd0JBQXdCLEVBQUMsb0JBQW9CLEVBQUMsMEJBQTBCLEVBQUMsc0JBQXNCLEVBQUMsbUJBQW1CLEVBQUMsdUJBQXVCLEVBQUMscUJBQXFCLEVBQUMseUJBQXlCLEVBQUMsZ0JBQWdCLEVBQUMsa0JBQWtCLEVBQUMsa0JBQWtCLEVBQUMsYUFBYSxFQUFDLGdCQUFnQixFQUFDLGtCQUFrQixFQUFDLDZCQUE2QixFQUFDLHdCQUF3QixFQUFDLG9CQUFvQixFQUFDLDZCQUE2QixFQUFDLHNCQUFzQixFQUFDLHNCQUFzQixFQUFDLDZCQUE2QixFQUFDLHNCQUFzQixFQUFDLHdCQUF3QixFQUFDLGdDQUFnQyxFQUFDLDBCQUEwQixFQUFDLGFBQWEsRUFBQyxnQkFBZ0IsRUFBQyxvQkFBb0IsRUFBQywrQkFBK0IsRUFBQyx3Q0FBd0MsRUFBQyxpQ0FBaUMsRUFBQyxpQ0FBaUMsRUFBQyx3Q0FBd0MsRUFBQyx5QkFBeUIsRUFBQyxtQ0FBbUMsRUFBQyxpQ0FBaUMsRUFBQyxtQ0FBbUMsRUFBQyxxQ0FBcUMsRUFBQyxxQ0FBcUMsRUFBQyxxQkFBcUIsRUFBQyxxQkFBcUIsRUFBQyw2QkFBNkIsRUFBQyw0QkFBNEIsRUFBQywwQkFBMEIsRUFBQyw0QkFBNEIsRUFBQyw0QkFBNEIsRUFBQyx1QkFBdUIsRUFBQyw4QkFBOEIsRUFBQywrQkFBK0IsRUFBQyw4QkFBOEIsRUFBQywyQkFBMkIsRUFBQyx3QkFBd0IsRUFBQyxvQkFBb0IsRUFBQyxvQkFBb0IsRUFBQyw0QkFBNEIsRUFBQywyQkFBMkIsRUFBQyx5QkFBeUIsRUFBQywyQkFBMkIsRUFBQywyQkFBMkIsRUFBQyxzQkFBc0IsRUFBQyw2QkFBNkIsRUFBQyw4QkFBOEIsRUFBQyw2QkFBNkIsRUFBQywwQkFBMEIsRUFBQyx1QkFBdUIsRUFBQyxXQUFXLEVBQUMsYUFBYSxFQUFDLHNCQUFzQixFQUFDLHdCQUF3QixFQUFDLGFBQWEsRUFBQyx1QkFBdUIsRUFBQyxpQkFBaUIsRUFBQywwQkFBMEIsRUFBQyxpQ0FBaUMsRUFBQywyQ0FBMkMsRUFBQyxvQkFBb0IsRUFBQyxzQkFBc0IsRUFBQyx1Q0FBdUMsRUFBQyxnQkFBZ0IsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLHlCQUF5QixFQUFDLGdDQUFnQyxFQUFDLGtDQUFrQyxFQUFDLGlCQUFpQixFQUFDLGtDQUFrQyxFQUFDLG1CQUFtQixFQUFDLGtCQUFrQixFQUFDLGNBQWMsQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CACHE_VALIDATION_TIMES = exports.buildRedisKey = void 0;
|
|
4
|
+
const buildRedisKey = (prefix, data) => {
|
|
5
|
+
const normalize = (obj) => {
|
|
6
|
+
if (obj === null || obj === undefined)
|
|
7
|
+
return String(obj);
|
|
8
|
+
if (typeof obj === "string" ||
|
|
9
|
+
typeof obj === "number" ||
|
|
10
|
+
typeof obj === "boolean")
|
|
11
|
+
return String(obj);
|
|
12
|
+
if (Array.isArray(obj)) {
|
|
13
|
+
return "[" + obj.map(normalize).join(",") + "]";
|
|
14
|
+
}
|
|
15
|
+
if (typeof obj === "object") {
|
|
16
|
+
const sortedKeys = Object.keys(obj).sort(); // sort for deterministic order
|
|
17
|
+
return ("{" +
|
|
18
|
+
sortedKeys.map((key) => `${key}:${normalize(obj[key])}`).join(",") +
|
|
19
|
+
"}");
|
|
20
|
+
}
|
|
21
|
+
throw new Error("Unsupported type in Redis key builder");
|
|
22
|
+
};
|
|
23
|
+
return `${prefix}:${normalize(data)}`;
|
|
24
|
+
};
|
|
25
|
+
exports.buildRedisKey = buildRedisKey;
|
|
26
|
+
exports.CACHE_VALIDATION_TIMES = {
|
|
27
|
+
PRICE_RULE: 600,
|
|
28
|
+
DISCOUNT_CODE: 3,
|
|
29
|
+
FREEBIE_RULE: 30,
|
|
30
|
+
ORDER: 30,
|
|
31
|
+
NON_NEGATIVE_ADJUSTMENT_LINE_ITEMS: 15,
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JlZGlzLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFPLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFFLElBQVMsRUFBVSxFQUFFO0lBQ2pFLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBUSxFQUFVLEVBQUU7UUFDckMsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsSUFDRSxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQ3ZCLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFDdkIsT0FBTyxHQUFHLEtBQUssU0FBUztZQUV4QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLCtCQUErQjtZQUMzRSxPQUFPLENBQ0wsR0FBRztnQkFDSCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ2xFLEdBQUcsQ0FDSixDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUM7SUFFRixPQUFPLEdBQUcsTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQXhCVyxRQUFBLGFBQWEsaUJBd0J4QjtBQUVXLFFBQUEsc0JBQXNCLEdBQUc7SUFDcEMsVUFBVSxFQUFFLEdBQUc7SUFDZixhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsRUFBRTtJQUNoQixLQUFLLEVBQUUsRUFBRTtJQUNULGtDQUFrQyxFQUFFLEVBQUU7Q0FDdkMsQ0FBQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toMajor = exports.toMinor = exports.toTwoDecimal = exports.ProductType = void 0;
|
|
3
|
+
exports.getISTMonthDay = exports.toMajor = exports.toMinor = exports.toTwoDecimal = exports.ProductType = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
exports.ProductType = zod_1.z.enum(["SINGLE", "FREEBIE", "BYOB", "COMBO"]);
|
|
6
6
|
const toTwoDecimal = (value) => {
|
|
@@ -11,4 +11,13 @@ const toMinor = (n) => Math.round(n * 100);
|
|
|
11
11
|
exports.toMinor = toMinor;
|
|
12
12
|
const toMajor = (n) => (0, exports.toTwoDecimal)(n / 100);
|
|
13
13
|
exports.toMajor = toMajor;
|
|
14
|
-
|
|
14
|
+
const getISTMonthDay = (date) => {
|
|
15
|
+
const d = new Date(date);
|
|
16
|
+
return d.toLocaleDateString("en-CA", {
|
|
17
|
+
timeZone: "Asia/Kolkata",
|
|
18
|
+
month: "2-digit",
|
|
19
|
+
day: "2-digit",
|
|
20
|
+
}); // "MM-DD"
|
|
21
|
+
};
|
|
22
|
+
exports.getISTMonthDay = getISTMonthDay;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUVYLFFBQUEsV0FBVyxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBR25FLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDNUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUZXLFFBQUEsWUFBWSxnQkFFdkI7QUFFSyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFBN0MsUUFBQSxPQUFPLFdBQXNDO0FBQ25ELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFBLG9CQUFZLEVBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQS9DLFFBQUEsT0FBTyxXQUF3QztBQUdyRCxNQUFPLGNBQWMsR0FBRyxDQUFDLElBQW1CLEVBQUMsRUFBRTtJQUNwRCxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixPQUFPLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7UUFDbkMsUUFBUSxFQUFFLGNBQWM7UUFDeEIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsR0FBRyxFQUFFLFNBQVM7S0FDZixDQUFDLENBQUMsQ0FBQyxVQUFVO0FBQ2hCLENBQUMsQ0FBQTtBQVBhLFFBQUEsY0FBYyxrQkFPM0IifQ==
|