@devx-commerce/plugin-discounts-svaraa 0.0.2-beta.4 → 0.0.2-beta.6

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.
@@ -5,114 +5,180 @@ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
5
  const apply_coupon_1 = require("../../apply-coupon");
6
6
  const calculate_coupon_discount_1 = require("../../calculate-coupon-discount");
7
7
  const remove_coupon_1 = require("../../remove-coupon");
8
+ const utils_1 = require("../../../../lib/utils");
9
+ const utils_2 = require("@medusajs/framework/utils");
10
+ const redis_utils_1 = require("../../../../lib/redis-utils");
8
11
  exports.autoApplyCouponStep = (0, workflows_sdk_1.createStep)("auto-apply-coupon", async (input, { container }) => {
9
- const query = container.resolve("query");
10
- const logger = container.resolve("logger");
11
- logger.setLogLevel(process.env.LOG_LEVEL || "error");
12
- logger.debug("[auto-apply-coupon] input:" + JSON.stringify(input, null, 2));
13
- const { data: priceRules } = await query.graph({
14
- entity: "discount_price_rule",
12
+ const query = container.resolve(utils_2.ContainerRegistrationKeys.QUERY);
13
+ const cache = container.resolve(utils_2.Modules.CACHE);
14
+ const userId = input.customerId;
15
+ // -----------------------------
16
+ // 1. Fetch cart once (avoid re-query inside workflows)
17
+ // -----------------------------
18
+ const { data: [cart], } = await query.graph({
19
+ entity: "cart",
20
+ fields: [
21
+ "*",
22
+ "items.*",
23
+ "items.adjustments.*",
24
+ "items.variant.*",
25
+ "items.variant.prices.*",
26
+ "items.variant.extended_variant.*",
27
+ "items.variant.extended_variant.party_style_details.*",
28
+ ],
29
+ filters: { id: { $eq: input.cart_id } },
30
+ pagination: { take: 1 },
31
+ });
32
+ // -----------------------------
33
+ // 2. Build filters (birthday / anniversary / guest)
34
+ // -----------------------------
35
+ let filters = {};
36
+ if (userId) {
37
+ const { data: customer } = await query.graph({
38
+ entity: "customer",
39
+ fields: ["metadata"],
40
+ filters: { id: userId },
41
+ pagination: { take: 1 },
42
+ });
43
+ const externalId = customer?.[0]?.metadata?.external_id;
44
+ if (externalId) {
45
+ const { data: ext } = await query.graph({
46
+ entity: "extended_customer",
47
+ fields: ["birth_date", "anniversary_date"],
48
+ filters: { external_id: externalId },
49
+ });
50
+ const todayIST = (0, utils_1.getISTMonthDay)(new Date());
51
+ const bday = ext?.[0]?.birth_date;
52
+ const anniv = ext?.[0]?.anniversary_date;
53
+ const isBirthday = bday && (0, utils_1.getISTMonthDay)(bday) === todayIST;
54
+ const isAnniversary = anniv && (0, utils_1.getISTMonthDay)(anniv) === todayIST;
55
+ if (isBirthday || isAnniversary) {
56
+ filters.$or = [
57
+ ...(isBirthday ? [{ is_birthday: true }] : []),
58
+ ...(isAnniversary ? [{ is_anniversary: true }] : []),
59
+ { is_birthday: false, is_anniversary: false },
60
+ ];
61
+ }
62
+ else {
63
+ filters.is_birthday = false;
64
+ filters.is_anniversary = false;
65
+ }
66
+ }
67
+ }
68
+ else {
69
+ filters = {
70
+ usage_limit: "UNLIMITED",
71
+ is_birthday: false,
72
+ is_anniversary: false,
73
+ };
74
+ }
75
+ // -----------------------------
76
+ // 3. Fetch auto-apply rules (cached with filters)
77
+ // -----------------------------
78
+ const rulesCacheKey = (0, redis_utils_1.buildRedisKey)("discount_price_rule", {
15
79
  fields: ["*"],
16
- filters: { auto_apply: true },
80
+ filters: { ...filters, auto_apply: true },
17
81
  });
18
- const discounts = await Promise.allSettled(priceRules.map(async (priceRule) => {
82
+ let priceRules = (await cache.get(rulesCacheKey));
83
+ if (!priceRules) {
84
+ const { data } = await query.graph({
85
+ entity: "discount_price_rule",
86
+ fields: ["*"],
87
+ filters: { ...filters, auto_apply: true },
88
+ });
89
+ priceRules = data;
90
+ await cache.set(rulesCacheKey, data, redis_utils_1.CACHE_VALIDATION_TIMES.PRICE_RULE);
91
+ }
92
+ // -----------------------------
93
+ // 4. Pick the best discount among all rules
94
+ // -----------------------------
95
+ const discounts = await Promise.allSettled(priceRules.map(async (rule) => {
19
96
  let code = null;
20
- if (!priceRule.prefix)
21
- code = priceRule.discount_code;
97
+ if (!rule.prefix) {
98
+ code = rule.discount_code;
99
+ }
22
100
  else {
23
- const { data: codes } = await query.graph({
24
- entity: "discount_code",
25
- fields: ["*"],
101
+ const codeCacheKey = (0, redis_utils_1.buildRedisKey)("discount_code", {
102
+ fields: ["code"],
26
103
  filters: {
27
104
  $and: [
28
- { price_rule_id: { $eq: priceRule.id } },
29
- (priceRule.usage_limit_per_customer_type === "SPECIFIC" && { usage_count: 0 }),
105
+ { price_rule_id: { $eq: rule.id } },
106
+ ...(rule.usage_limit_per_customer_type === "SPECIFIC"
107
+ ? [{ usage_count: 0 }]
108
+ : []),
30
109
  ],
31
110
  },
111
+ pagination: { take: 1 },
32
112
  });
33
- if (codes.length > 0)
34
- code = codes[0].code;
35
- else
36
- return { discount: 0 };
37
- }
38
- const { result: { discount }, } = await (0, calculate_coupon_discount_1.calculateCouponDiscountWorkflow)(container).run({
39
- input: {
40
- cart_id: input.cart_id,
41
- code: code,
42
- customerId: input.customerId,
43
- },
44
- });
45
- return { discount, code };
46
- }));
47
- let currentDiscount = 0;
48
- let currentCode = "";
49
- logger.debug("discounts: >>>>>>>>>> " + JSON.stringify(discounts, null, 2));
50
- discounts.forEach((discount) => {
51
- if (discount.status === "fulfilled") {
52
- if (currentDiscount > 0 && currentDiscount > discount.value.discount) {
53
- return;
113
+ let cachedCode = (await cache.get(codeCacheKey));
114
+ if (!cachedCode) {
115
+ const { data } = await query.graph({
116
+ entity: "discount_code",
117
+ fields: ["code"],
118
+ filters: {
119
+ $and: [
120
+ { price_rule_id: { $eq: rule.id } },
121
+ ...(rule.usage_limit_per_customer_type === "SPECIFIC"
122
+ ? [{ usage_count: 0 }]
123
+ : []),
124
+ ],
125
+ },
126
+ pagination: { take: 1 },
127
+ });
128
+ cachedCode = data;
129
+ await cache.set(codeCacheKey, cachedCode, redis_utils_1.CACHE_VALIDATION_TIMES.DISCOUNT_CODE);
54
130
  }
55
- currentDiscount = discount.value.discount;
56
- currentCode = discount.value.code || "";
131
+ if (cachedCode.length > 0)
132
+ code = cachedCode[0].code;
57
133
  }
58
- });
59
- const moreCouponToTest = [];
60
- const { data: [cart] } = await query.graph({
61
- entity: "cart",
62
- fields: ["*", "items.*", "items.adjustments.*"],
63
- filters: { id: { $eq: input.cart_id } },
64
- });
65
- logger.debug("cart.items: " + JSON.stringify(cart.items, null, 2));
66
- for (const item of cart?.items) {
67
- for (const adjustmentLineItem of item.adjustments) {
68
- moreCouponToTest.push(adjustmentLineItem.code);
69
- }
70
- }
71
- logger.debug("moreCouponToTest: " + JSON.stringify(Array.from(new Set(moreCouponToTest)), null, 2));
72
- for (const coupon of Array.from(new Set(moreCouponToTest))) {
73
- const { result: { discount }, } = await (0, calculate_coupon_discount_1.calculateCouponDiscountWorkflow)(container).run({
134
+ if (!code)
135
+ return { discount: 0 };
136
+ const { result: { discount, adjustmentLineItems }, } = await (0, calculate_coupon_discount_1.calculateCouponDiscountWorkflow)(container).run({
74
137
  input: {
138
+ cart,
75
139
  cart_id: input.cart_id,
76
- code: coupon,
77
- customerId: input.customerId,
140
+ code,
141
+ customerId: userId,
78
142
  },
79
- throwOnError: false
80
143
  });
81
- if (discount > currentDiscount) {
82
- currentDiscount = discount;
83
- currentCode = coupon || "";
144
+ return { discount, code, adjustmentLineItems };
145
+ }));
146
+ let bestDiscount = 0;
147
+ let bestCode = null;
148
+ let bestAdjustments = [];
149
+ for (const d of discounts) {
150
+ if (d.status === "fulfilled" && d.value.discount > bestDiscount) {
151
+ bestDiscount = d.value.discount;
152
+ bestCode = d.value.code || "";
153
+ bestAdjustments = d.value.adjustmentLineItems;
84
154
  }
85
155
  }
86
- if (!currentCode || !currentDiscount) {
87
- await (0, remove_coupon_1.removeCouponWorkflow)(container).run({
88
- input: { cart_id: input.cart_id, }
89
- });
156
+ // -----------------------------
157
+ // 5. Apply or remove coupon
158
+ // -----------------------------
159
+ if (!bestCode || bestDiscount <= 0) {
160
+ await (0, remove_coupon_1.removeCouponWorkflow)(container).run({ input: { cart_id: input.cart_id } });
161
+ return new workflows_sdk_1.StepResponse({ discount: 0, code: "", isApplied: false });
90
162
  }
91
- else if (currentCode) {
92
- const { result } = await (0, apply_coupon_1.applyCouponWorkflow)(container).run({
93
- input: {
94
- code: currentCode,
95
- cart_id: input.cart_id,
96
- customerId: input.customerId,
163
+ const { result } = await (0, apply_coupon_1.applyCouponWorkflow)(container).run({
164
+ input: {
165
+ cart,
166
+ code: bestCode,
167
+ cart_id: input.cart_id,
168
+ customerId: userId,
169
+ calculateCouponDiscountResponse: {
170
+ adjustmentLineItems: bestAdjustments,
171
+ discount: bestDiscount,
97
172
  },
98
- });
99
- if (!result) {
100
- return new workflows_sdk_1.StepResponse({
101
- discount: 0,
102
- code: "",
103
- isApplied: false,
104
- });
105
- }
106
- return new workflows_sdk_1.StepResponse({
107
- discount: currentDiscount,
108
- code: currentCode,
109
- isApplied: true,
110
- });
173
+ },
174
+ });
175
+ if (!result) {
176
+ return new workflows_sdk_1.StepResponse({ discount: 0, code: "", isApplied: false });
111
177
  }
112
178
  return new workflows_sdk_1.StepResponse({
113
- discount: 0,
114
- code: "",
115
- isApplied: false,
179
+ discount: bestDiscount,
180
+ code: bestCode,
181
+ isApplied: true,
116
182
  });
117
183
  });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1hcHBseS1jb3Vwb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2F1dG8tYXBwbHktY291cG9uL3N0ZXBzL2F1dG8tYXBwbHktY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxxREFBeUQ7QUFDekQsK0VBQWtGO0FBQ2xGLHVEQUEyRDtBQUU5QyxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsbUJBQW1CLEVBQ25CLEtBQUssRUFBRSxLQUErQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2RSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsQ0FBQztJQUVyRCxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTVFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzdDLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTtLQUM5QixDQUFDLENBQUM7SUFFSCxNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQ3hDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1FBQ2pDLElBQUksSUFB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
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1hcHBseS1jb3Vwb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2F1dG8tYXBwbHktY291cG9uL3N0ZXBzL2F1dG8tYXBwbHktY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUM1RSxxREFBd0Q7QUFDeEQsK0VBQWlGO0FBQ2pGLHVEQUEwRDtBQUMxRCxpREFBc0Q7QUFDdEQscURBQThFO0FBQzlFLDZEQUFtRjtBQUV0RSxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsbUJBQW1CLEVBQ25CLEtBQUssRUFBRSxLQUErQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2RSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTlDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUE7SUFFL0IsZ0NBQWdDO0lBQ2hDLHVEQUF1RDtJQUN2RCxnQ0FBZ0M7SUFDaEMsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUNiLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsTUFBTSxFQUFFO1lBQ04sR0FBRztZQUNILFNBQVM7WUFDVCxxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixrQ0FBa0M7WUFDbEMsc0RBQXNEO1NBQ3ZEO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUN2QyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxF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
@@ -2,14 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.calculateCouponDiscountWorkflow = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
- const core_flows_1 = require("@medusajs/medusa/core-flows");
5
+ const zod_1 = require("zod");
6
+ const utils_1 = require("../../../lib/utils");
6
7
  const throw_error_step_1 = require("../../steps/throw-error-step");
7
8
  const apply_coupon_step_1 = require("../apply-coupon/steps/apply-coupon-step");
8
9
  const validate_coupon_step_1 = require("../apply-coupon/steps/validate-coupon-step");
9
- const utils_1 = require("../../../lib/utils");
10
+ const fetch_price_rule_by_code_1 = require("./step/fetch-price-rule-by-code");
10
11
  exports.calculateCouponDiscountWorkflow = (0, workflows_sdk_1.createWorkflow)("calculate-coupon-discount", (input) => {
11
- const { data: priceRules } = (0, core_flows_1.useQueryGraphStep)({
12
- entity: "discount_price_rule",
12
+ // ----------------------------------
13
+ // 1. Fetch price rule (can later move to Redis cache)
14
+ // ----------------------------------
15
+ const priceRule = (0, fetch_price_rule_by_code_1.fetchPriceRuleByCodeStep)({
16
+ code: input.code,
13
17
  fields: [
14
18
  "*",
15
19
  "product_categories.*",
@@ -17,59 +21,59 @@ exports.calculateCouponDiscountWorkflow = (0, workflows_sdk_1.createWorkflow)("c
17
21
  "product_categories.products.id",
18
22
  "customers.*",
19
23
  ],
20
- filters: { discount_codes: { code: input.code } },
24
+ pagination: { take: 1 },
21
25
  });
22
- const { data: carts } = (0, core_flows_1.useQueryGraphStep)({
23
- entity: "cart",
24
- fields: [
25
- "*",
26
- "items.*",
27
- "items.variant.*",
28
- "items.variant.prices.*",
29
- "items.variant.extended_variant.mrp",
30
- "items.variant.extended_variant.party_style_details.*",
31
- ],
32
- filters: { id: input.cart_id },
33
- options: { throwIfKeyNotFound: true },
34
- }).config({ name: "get-cart" });
35
- const cart = (0, workflows_sdk_1.transform)({ carts }, ({ carts }) => {
36
- let cart = carts[0];
26
+ // ----------------------------------
27
+ // 2. Transform cart (remove freebies)
28
+ // ----------------------------------
29
+ const cart = (0, workflows_sdk_1.transform)({ cart: input.cart }, ({ cart }) => {
37
30
  return {
38
31
  ...cart,
39
32
  items: cart?.items?.filter((item) => item?.metadata?.item_type != utils_1.ProductType.Values.FREEBIE) || [],
40
33
  };
41
34
  });
42
- const priceRule = (0, workflows_sdk_1.transform)({ priceRules }, ({ priceRules }) => priceRules[0]);
35
+ // ----------------------------------
36
+ // 3. Validate coupon
37
+ // ----------------------------------
43
38
  const validationResult = (0, validate_coupon_step_1.validateCouponStep)({
44
- priceRule,
39
+ priceRule: priceRule,
45
40
  code: input.code,
46
- cart,
41
+ cart: cart,
47
42
  customerId: input.customerId,
48
43
  });
49
- (0, workflows_sdk_1.when)(validationResult, ({ hasError }) => {
50
- return hasError;
51
- }).then(() => {
44
+ (0, workflows_sdk_1.when)(validationResult, ({ hasError }) => hasError).then(() => {
52
45
  (0, throw_error_step_1.throwErrorStep)({ errorMessage: validationResult.message }).config({
53
46
  name: "throw-error-validate-coupon",
54
47
  });
55
48
  });
49
+ // ----------------------------------
50
+ // 4. Hook for max cap % (extensible logic)
51
+ // ----------------------------------
52
+ const setDiscountMaxCapPercent = (0, workflows_sdk_1.createHook)("setDiscountMaxCapPercent", { priceRule }, { resultValidator: zod_1.z.object({ discountMaxCapPercent: zod_1.z.number() }) });
53
+ const setDiscountMaxCapPercentResult = setDiscountMaxCapPercent.getResult();
54
+ // ----------------------------------
55
+ // 5. Calculate discount
56
+ // ----------------------------------
56
57
  const calculateDiscountResult = (0, apply_coupon_step_1.calculateDiscount)({
57
- priceRule,
58
+ priceRule: priceRule,
58
59
  code: input.code,
59
- cart,
60
+ cart: cart,
60
61
  });
61
- (0, workflows_sdk_1.when)(calculateDiscountResult, ({ hasError }) => {
62
- return hasError;
63
- }).then(() => {
62
+ (0, workflows_sdk_1.when)(calculateDiscountResult, ({ hasError }) => hasError).then(() => {
64
63
  (0, throw_error_step_1.throwErrorStep)({ errorMessage: calculateDiscountResult.message }).config({
65
64
  name: "throw-error-calculate-discount",
66
65
  });
67
66
  });
67
+ // ----------------------------------
68
+ // 6. Return result
69
+ // ----------------------------------
68
70
  return new workflows_sdk_1.WorkflowResponse({
69
71
  discount: calculateDiscountResult.discount,
70
72
  isApplied: calculateDiscountResult.isApplied,
71
73
  message: calculateDiscountResult.message,
72
74
  adjustmentLineItems: calculateDiscountResult.adjustmentLineItems,
75
+ isMaxCapHit: calculateDiscountResult.isMaxCapHit,
76
+ applicablePaymentMode: calculateDiscountResult.applicablePaymentMode,
73
77
  });
74
78
  });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2NhbGN1bGF0ZS1jb3Vwb24tZGlzY291bnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBQzNDLDREQUFnRTtBQUdoRSxtRUFBOEQ7QUFDOUQsK0VBQTRFO0FBQzVFLHFGQUFnRjtBQUNoRiw4Q0FBaUQ7QUFFcEMsUUFBQSwrQkFBK0IsR0FBRyxJQUFBLDhCQUFjLEVBQzNELDJCQUEyQixFQUMzQixDQUFDLEtBQXlFLEVBQUUsRUFBRTtJQUM1RSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDN0MsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixNQUFNLEVBQUU7WUFDTixHQUFHO1lBQ0gsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixnQ0FBZ0M7WUFDaEMsYUFBYTtTQUNkO1FBQ0QsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRTtLQUNsRCxDQUFDLENBQUM7SUFFSCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDeEMsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUU7WUFDTixHQUFHO1lBQ0gsU0FBUztZQUNULGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIsb0NBQW9DO1lBQ3BDLHNEQUFzRDtTQUN2RDtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1FBQzlCLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFaEMsTUFBTSxJQUFJLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDOUMsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBCLE9BQU87WUFDTCxHQUFHLElBQUk7WUFDUCxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQ3hCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsSUFBSSxtQkFBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2xFLElBQUksRUFBRTtTQUNSLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sU0FBUyxHQUFHLElBQUEseUJBQVMsRUFDekIsRUFBRSxVQUFVLEVBQUUsRUFDZCxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQTBCLENBQzNELENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLElBQUEseUNBQWtCLEVBQUM7UUFDMUMsU0FBUztRQUNULElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixJQUFJO1FBQ0osVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO0tBQzdCLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtRQUN0QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1gsSUFBQSxpQ0FBYyxFQUFDLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2hFLElBQUksRUFBRSw2QkFBNkI7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLHVCQUF1QixHQUFHLElBQUEscUNBQWlCLEVBQUM7UUFDaEQsU0FBUztRQUNULElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixJQUFJO0tBQ0wsQ0FBQyxDQUFDO0lBRUgsSUFBQSxvQkFBSSxFQUFDLHVCQUF1QixFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQzdDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWCxJQUFBLGlDQUFjLEVBQUMsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDdkUsSUFBSSxFQUFFLGdDQUFnQztTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixRQUFRLEVBQUUsdUJBQXVCLENBQUMsUUFBUTtRQUMxQyxTQUFTLEVBQUUsdUJBQXVCLENBQUMsU0FBUztRQUM1QyxPQUFPLEVBQUUsdUJBQXVCLENBQUMsT0FBTztRQUN4QyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQyxtQkFBbUI7S0FDakUsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2NhbGN1bGF0ZS1jb3Vwb24tZGlzY291bnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBTTJDO0FBQzNDLDZCQUF3QjtBQVF4Qiw4Q0FBaUQ7QUFDakQsbUVBQThEO0FBQzlELCtFQUE0RTtBQUM1RSxxRkFBZ0Y7QUFDaEYsOEVBQTJFO0FBRTlELFFBQUEsK0JBQStCLEdBQUcsSUFBQSw4QkFBYyxFQUMzRCwyQkFBMkIsRUFDM0IsQ0FBQyxLQW9CQSxFQUFFLEVBQUU7SUFDSCxxQ0FBcUM7SUFDckMsc0RBQXNEO0lBQ3RELHFDQUFxQztJQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFBLG1EQUF3QixFQUFDO1FBQ3pDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixNQUFNLEVBQUU7WUFDTixHQUFHO1lBQ0gsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixnQ0FBZ0M7WUFDaEMsYUFBYTtTQUNkO1FBQ0QsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRTtLQUN4QixDQUFDLENBQUM7SUFFSCxxQ0FBcUM7SUFDckMsc0NBQXNDO0lBQ3RDLHFDQUFxQztJQUNyQyxNQUFNLElBQUksR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1FBQ3hELE9BQU87WUFDTCxHQUFHLElBQUk7WUFDUCxLQUFLLEVBQ0gsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQ2pCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsSUFBSSxtQkFBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2xFLElBQUksRUFBRTtTQUNWLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILHFDQUFxQztJQUNyQyxxQkFBcUI7SUFDckIscUNBQXFDO0lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSx5Q0FBa0IsRUFBQztRQUMxQyxTQUFTLEVBQUUsU0FBZ0I7UUFDM0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ2hCLElBQUksRUFBRSxJQUFXO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtLQUM3QixDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFJLEVBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQzNELElBQUEsaUNBQWMsRUFBQyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNoRSxJQUFJLEVBQUUsNkJBQTZCO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgscUNBQXFDO0lBQ3JDLDJDQUEyQztJQUMzQyxxQ0FBcUM7SUFDckMsTUFBTSx3QkFBd0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLDBCQUEwQixFQUMxQixFQUFFLFNBQVMsRUFBRSxFQUNiLEVBQUUsZUFBZSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQ3JFLENBQUM7SUFFRixNQUFNLDhCQUE4QixHQUFHLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRTVFLHFDQUFxQztJQUNyQyx3QkFBd0I7SUFDeEIscUNBQXFDO0lBQ3JDLE1BQU0sdUJBQXVCLEdBQUcsSUFBQSxxQ0FBaUIsRUFBQztRQUNoRCxTQUFTLEVBQUUsU0FBZ0I7UUFDM0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ2hCLElBQUksRUFBRSxJQUFXO0tBQ2xCLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFBQyx1QkFBdUIsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDbEUsSUFBQSxpQ0FBYyxFQUFDLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3ZFLElBQUksRUFBRSxnQ0FBZ0M7U0FDdkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxxQ0FBcUM7SUFDckMsbUJBQW1CO0lBQ25CLHFDQUFxQztJQUNyQyxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsUUFBUSxFQUFFLHVCQUF1QixDQUFDLFFBQVE7UUFDMUMsU0FBUyxFQUFFLHVCQUF1QixDQUFDLFNBQVM7UUFDNUMsT0FBTyxFQUFFLHVCQUF1QixDQUFDLE9BQU87UUFDeEMsbUJBQW1CLEVBQUUsdUJBQXVCLENBQUMsbUJBQW1CO1FBQ2hFLFdBQVcsRUFBRSx1QkFBdUIsQ0FBQyxXQUFXO1FBQ2hELHFCQUFxQixFQUFFLHVCQUF1QixDQUFDLHFCQUFxQjtLQUNyRSxDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchPriceRuleByCodeStep = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const redis_utils_1 = require("../../../../lib/redis-utils");
7
+ /**
8
+ * Fetches a discount price rule by code.
9
+ * Input: { code: string }
10
+ * Output: { priceRule: any }
11
+ */
12
+ exports.fetchPriceRuleByCodeStep = (0, workflows_sdk_1.createStep)("fetch-price-rule-by-code", async (input, { container }) => {
13
+ // console.time(`fetchPriceRuleByCode-${input.code}`);
14
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
15
+ const cache = container.resolve(utils_1.Modules.CACHE);
16
+ const key = (0, redis_utils_1.buildRedisKey)("discount_price_rule", input);
17
+ // console.time(`fetchPriceRuleByCode-cache-${input.code}`);
18
+ let priceRule = await cache.get(key);
19
+ // console.timeEnd(`fetchPriceRuleByCode-cache-${input.code}`);
20
+ if (priceRule) {
21
+ // console.timeEnd(`fetchPriceRuleByCode-${input.code}`);
22
+ return new workflows_sdk_1.StepResponse(priceRule);
23
+ }
24
+ // console.time(`fetchPriceRuleByCode-db-${input.code}`);
25
+ const { data: priceRules } = await query.graph({
26
+ entity: "discount_price_rule",
27
+ fields: input.fields,
28
+ filters: { discount_codes: { code: input.code } },
29
+ ...(input.pagination && { pagination: input.pagination }),
30
+ });
31
+ // console.timeEnd(`fetchPriceRuleByCode-db-${input.code}`);
32
+ await cache.set(key, priceRules[0], redis_utils_1.CACHE_VALIDATION_TIMES.PRICE_RULE);
33
+ // console.timeEnd(`fetchPriceRuleByCode-${input.code}`);
34
+ return new workflows_sdk_1.StepResponse(priceRules[0] || null);
35
+ });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcHJpY2UtcnVsZS1ieS1jb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kaXNjb3VudC9jYWxjdWxhdGUtY291cG9uLWRpc2NvdW50L3N0ZXAvZmV0Y2gtcHJpY2UtcnVsZS1ieS1jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUErRTtBQUMvRSxxRUFBNkU7QUFDN0UsNkRBR3FDO0FBR3JDOzs7O0dBSUc7QUFDVSxRQUFBLHdCQUF3QixHQUFHLElBQUEsMEJBQVUsRUFDaEQsMEJBQTBCLEVBQzFCLEtBQUssRUFDSCxLQUF3RSxFQUN4RSxFQUFFLFNBQVMsRUFBRSxFQUNiLEVBQUU7SUFDRixzREFBc0Q7SUFDdEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUvQyxNQUFNLEdBQUcsR0FBRyxJQUFBLDJCQUFhLEVBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsNERBQTREO0lBQzVELElBQUksU0FBUyxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQywrREFBK0Q7SUFFL0QsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLHlEQUF5RDtRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQseURBQXlEO0lBQ3pELE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzdDLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1FBQ3BCLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDakQsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0tBQzFELENBQUMsQ0FBQztJQUNILDREQUE0RDtJQUU1RCxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxvQ0FBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV2RSx5REFBeUQ7SUFDekQsT0FBTyxJQUFJLDRCQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FDRixDQUFDIn0=
@@ -9,7 +9,8 @@ exports.getCartEligibleCouponsWorkflow = (0, workflows_sdk_1.createWorkflow)("ge
9
9
  const getCartEligibleCoupons = (0, get_cart_eligible_coupon_1.getCartEligibleCouponsStep)({
10
10
  cart_id: input.cart_id,
11
11
  customerId: input.customerId,
12
+ cart: input.cart,
12
13
  });
13
14
  return new workflows_sdk_1.WorkflowResponse(getCartEligibleCoupons);
14
15
  });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2dldC1jYXJ0LWVsaWdpYmxlLWNvdXBvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTJDO0FBRTNDLHdFQUFtRTtBQUNuRSw4RUFBNkU7QUFFaEUsUUFBQSw4QkFBOEIsR0FBRyxJQUFBLDhCQUFjLEVBQzFELDJCQUEyQixFQUMzQixDQUFDLEtBQStDLEVBQUUsRUFBRTtJQUVsRCxJQUFBLHlDQUFrQixFQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLE1BQU0sc0JBQXNCLEdBQUcsSUFBQSxxREFBMEIsRUFBQztRQUN4RCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO0tBQzdCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3RELENBQUMsQ0FDRixDQUFDIn0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2dldC1jYXJ0LWVsaWdpYmxlLWNvdXBvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTJDO0FBRTNDLHdFQUFtRTtBQUNuRSw4RUFBNkU7QUFRaEUsUUFBQSw4QkFBOEIsR0FBRyxJQUFBLDhCQUFjLEVBQzFELDJCQUEyQixFQUMzQixDQUFDLEtBbUJBLEVBQUUsRUFBRTtJQUNILElBQUEseUNBQWtCLEVBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFL0MsTUFBTSxzQkFBc0IsR0FBRyxJQUFBLHFEQUEwQixFQUFDO1FBQ3hELE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7UUFDNUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0tBQ2pCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3RELENBQUMsQ0FDRixDQUFDIn0=
@@ -6,41 +6,64 @@ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
6
  const calculate_coupon_discount_1 = require("../../calculate-coupon-discount");
7
7
  exports.getCartEligibleCouponsStep = (0, workflows_sdk_1.createStep)("get-cart-eligible-coupons-step", async (input, { container }) => {
8
8
  const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
9
+ // 1. Fetch price rules
9
10
  const { data: priceRules } = await query.graph({
10
11
  entity: "discount_price_rule",
11
- fields: ["*", "product_variants.*", "product_categories.*", "product_categories.products.*"],
12
+ fields: [
13
+ "*",
14
+ "product_variants.*",
15
+ "product_categories.*",
16
+ "product_categories.products.*",
17
+ ],
12
18
  filters: {
13
19
  $and: [
14
20
  { visibility: true },
15
21
  { prefix: { $eq: null } },
16
22
  { status: "ACTIVE" },
17
- ]
23
+ ],
18
24
  },
19
25
  });
26
+ // 2. Evaluate discounts
20
27
  const discounts = await Promise.allSettled(priceRules.map(async (priceRule) => {
21
- let code = priceRule.discount_code || undefined;
22
- const { result: { discount }, errors, } = await (0, calculate_coupon_discount_1.calculateCouponDiscountWorkflow)(container).run({
28
+ const code = priceRule.discount_code || undefined;
29
+ if (!code) {
30
+ return {
31
+ discount: 0,
32
+ code,
33
+ priceRule,
34
+ errorMessage: "Coupon code is required",
35
+ };
36
+ }
37
+ const { result, errors } = await (0, calculate_coupon_discount_1.calculateCouponDiscountWorkflow)(container).run({
23
38
  input: {
24
39
  cart_id: input.cart_id,
25
- code: code,
40
+ cart: input.cart,
41
+ code,
26
42
  customerId: input.customerId,
27
43
  },
28
44
  throwOnError: false,
29
45
  });
30
46
  let errorMessage = "";
31
- if (!discount || errors?.[0]?.error?.message) {
32
- errorMessage = errors?.[0]?.error?.message || "Cart is not eligible for this coupon";
47
+ if (!result?.discount || errors?.[0]?.error?.message) {
48
+ errorMessage =
49
+ errors?.[0]?.error?.message ||
50
+ "Cart is not eligible for this coupon";
33
51
  }
34
- return { discount: discount || 0, code, priceRule, errorMessage };
52
+ return {
53
+ discount: result?.discount || 0,
54
+ code,
55
+ priceRule,
56
+ errorMessage,
57
+ };
35
58
  }));
36
59
  function isFulfilledWithPositiveDiscount(r) {
37
- // after `status === "fulfilled"` narrows, `r.value` is safe to touch
38
60
  return r.status === "fulfilled";
39
61
  }
62
+ // 4. Sort eligible rules by discount amount
40
63
  const eligiblePriceRules = discounts
41
64
  .filter(isFulfilledWithPositiveDiscount)
42
65
  // @ts-ignore
43
66
  .map(r => r.value).sort((a, b) => b.discount - a.discount);
44
67
  return new workflows_sdk_1.StepResponse(eligiblePriceRules);
45
68
  });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNhcnQtZWxpZ2libGUtY291cG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kaXNjb3VudC9nZXQtY2FydC1lbGlnaWJsZS1jb3Vwb25zL3N0ZXAvZ2V0LWNhcnQtZWxpZ2libGUtY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFzRTtBQUN0RSxxRUFBNkU7QUFHN0UsK0VBQWtGO0FBU3JFLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSwwQkFBVSxFQUNsRCxnQ0FBZ0MsRUFDaEMsS0FBSyxFQUNILEtBQStDLEVBQy9DLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDN0MsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsK0JBQStCLENBQUM7UUFDNUYsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFO2dCQUNKLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTtnQkFDcEIsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3pCLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRTthQUNyQjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxTQUFTLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUN4QyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRTtRQUNqQyxJQUFJLElBQUksR0FBRyxTQUFTLENBQUMsYUFBYSxJQUFJLFNBQVMsQ0FBQztRQUVoRCxNQUFNLEVBQ0osTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQ3BCLE1BQU0sR0FDUCxHQUFHLE1BQU0sSUFBQSwyREFBK0IsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDdkQsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2FBQzdCO1lBQ0QsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBRXRCLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzdDLFlBQVksR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLHNDQUFzQyxDQUFDO1FBQ3ZGLENBQUM7UUFFRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUNwRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBRUYsU0FBUywrQkFBK0IsQ0FDdEMsQ0FBdUM7UUFFdkMscUVBQXFFO1FBQ3JFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUdELE1BQU0sa0JBQWtCLEdBQXFCLFNBQVM7U0FDbkQsTUFBTSxDQUFDLCtCQUErQixDQUFDO1FBQ3hDLGFBQWE7U0FDWixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0QsT0FBTyxJQUFJLDRCQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQ0YsQ0FBQyJ9
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNhcnQtZWxpZ2libGUtY291cG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kaXNjb3VudC9nZXQtY2FydC1lbGlnaWJsZS1jb3Vwb25zL3N0ZXAvZ2V0LWNhcnQtZWxpZ2libGUtY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFzRTtBQUN0RSxxRUFBNkU7QUFHN0UsK0VBQWtGO0FBZXJFLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSwwQkFBVSxFQUNsRCxnQ0FBZ0MsRUFDaEMsS0FBSyxFQUNILEtBbUJDLEVBQ0QsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSx1QkFBdUI7SUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDN0MsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixNQUFNLEVBQUU7WUFDTixHQUFHO1lBQ0gsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0QiwrQkFBK0I7U0FDaEM7UUFDRCxPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUU7Z0JBQ0osRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFO2dCQUNwQixFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDekIsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO2FBQ3JCO1NBQ0Y7S0FDRixDQUFDLENBQUM7SUFFSCx3QkFBd0I7SUFDeEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUN4QyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRTtRQUNqQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsYUFBYSxJQUFJLFNBQVMsQ0FBQztRQUVsRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPO2dCQUNMLFFBQVEsRUFBRSxDQUFDO2dCQUNYLElBQUk7Z0JBQ0osU0FBUztnQkFDVCxZQUFZLEVBQUUseUJBQXlCO2FBQ3hDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FDdEIsTUFBTSxJQUFBLDJEQUErQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNuRCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLElBQUk7Z0JBQ0osVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2FBQzdCO1lBQ0QsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQyxDQUFDO1FBRUwsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNyRCxZQUFZO2dCQUNWLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPO29CQUMzQixzQ0FBc0MsQ0FBQztRQUMzQyxDQUFDO1FBRUQsT0FBTztZQUNMLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxJQUFJLENBQUM7WUFDL0IsSUFBSTtZQUNKLFNBQVM7WUFDVCxZQUFZO1NBQ2IsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFFRixTQUFTLCtCQUErQixDQUN0QyxDQUF1QztRQUV2QyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsTUFBTSxrQkFBa0IsR0FBcUIsU0FBUztTQUNuRCxNQUFNLENBQUMsK0JBQStCLENBQUM7UUFDeEMsYUFBYTtTQUNaLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU3RCxPQUFPLElBQUksNEJBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FDRixDQUFDIn0=
@@ -50,7 +50,7 @@ exports.removeCouponStep = (0, workflows_sdk_1.createStep)("remove-coupon", asyn
50
50
  const { discount } = previousCartMetaData || {};
51
51
  // console.time(`removeCoupon-update-cart-metadata-${input.cart.id}-${input.code || 'all'}`);
52
52
  await cartService.updateCarts(input.cart.id, {
53
- metadata: { code: null },
53
+ metadata: { code: null, discount: null },
54
54
  });
55
55
  // console.timeEnd(`removeCoupon-update-cart-metadata-${input.cart.id}-${input.code || 'all'}`);
56
56
  // console.timeEnd(`removeCoupon-${input.cart.id}-${input.code || 'all'}`);
@@ -82,4 +82,4 @@ exports.removeCouponStep = (0, workflows_sdk_1.createStep)("remove-coupon", asyn
82
82
  metadata: { ...input.previousCartMetaData },
83
83
  });
84
84
  });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvdXBvbi1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kaXNjb3VudC9yZW1vdmUtY291cG9uL3N0ZXAvcmVtb3ZlLWNvdXBvbi1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHFEQUErRTtBQUMvRSxxRUFBNkU7QUFDN0UsNkRBQWdFO0FBR25ELFFBQUEsZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUN4QyxlQUFlLEVBQ2YsS0FBSyxFQUNILEtBR0MsRUFDRCxFQUFFLFNBQVMsRUFBRSxFQUNiLEVBQUU7SUFDRix3RUFBd0U7SUFDeEUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLFdBQVcsR0FBdUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEUsTUFBTSxlQUFlLEdBQW9CLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkJBQWUsQ0FBQyxDQUFDO0lBRTVFLDBGQUEwRjtJQUMxRixNQUFNLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVELE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFO2dCQUNKLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdELEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJ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
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvdXBvbi1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kaXNjb3VudC9yZW1vdmUtY291cG9uL3N0ZXAvcmVtb3ZlLWNvdXBvbi1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHFEQUErRTtBQUMvRSxxRUFBNkU7QUFDN0UsNkRBQWdFO0FBR25ELFFBQUEsZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUN4QyxlQUFlLEVBQ2YsS0FBSyxFQUNILEtBR0MsRUFDRCxFQUFFLFNBQVMsRUFBRSxFQUNiLEVBQUU7SUFDRix3RUFBd0U7SUFDeEUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLFdBQVcsR0FBdUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEUsTUFBTSxlQUFlLEdBQW9CLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkJBQWUsQ0FBQyxDQUFDO0lBRTVFLDBGQUEwRjtJQUMxRixNQUFNLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVELE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFO2dCQUNKLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdELEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJ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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devx-commerce/plugin-discounts-svaraa",
3
- "version": "0.0.2-beta.4",
3
+ "version": "0.0.2-beta.6",
4
4
  "description": "Plugin for discounts for Svaraa.",
5
5
  "author": "devx-commerce (https://devxcommerce.com)",
6
6
  "license": "MIT",