@medusajs/promotion 3.0.0-snapshot-20250410112222 → 3.0.0-snapshot-20251104004624

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.
Files changed (133) hide show
  1. package/dist/migrations/Migration20240227120221.d.ts +1 -1
  2. package/dist/migrations/Migration20240227120221.d.ts.map +1 -1
  3. package/dist/migrations/Migration20240227120221.js +1 -1
  4. package/dist/migrations/Migration20240227120221.js.map +1 -1
  5. package/dist/migrations/Migration20240617102917.d.ts +1 -1
  6. package/dist/migrations/Migration20240617102917.d.ts.map +1 -1
  7. package/dist/migrations/Migration20240617102917.js +1 -1
  8. package/dist/migrations/Migration20240617102917.js.map +1 -1
  9. package/dist/migrations/Migration20240624153824.d.ts +1 -1
  10. package/dist/migrations/Migration20240624153824.d.ts.map +1 -1
  11. package/dist/migrations/Migration20240624153824.js +1 -1
  12. package/dist/migrations/Migration20240624153824.js.map +1 -1
  13. package/dist/migrations/Migration20241211061114.d.ts +1 -1
  14. package/dist/migrations/Migration20241211061114.d.ts.map +1 -1
  15. package/dist/migrations/Migration20241211061114.js +1 -1
  16. package/dist/migrations/Migration20241211061114.js.map +1 -1
  17. package/dist/migrations/Migration20250113094144.d.ts +1 -1
  18. package/dist/migrations/Migration20250113094144.d.ts.map +1 -1
  19. package/dist/migrations/Migration20250113094144.js +1 -1
  20. package/dist/migrations/Migration20250113094144.js.map +1 -1
  21. package/dist/migrations/Migration20250120110700.d.ts +1 -1
  22. package/dist/migrations/Migration20250120110700.d.ts.map +1 -1
  23. package/dist/migrations/Migration20250120110700.js +1 -1
  24. package/dist/migrations/Migration20250120110700.js.map +1 -1
  25. package/dist/migrations/Migration20250226130616.d.ts +1 -1
  26. package/dist/migrations/Migration20250226130616.d.ts.map +1 -1
  27. package/dist/migrations/Migration20250226130616.js +1 -1
  28. package/dist/migrations/Migration20250226130616.js.map +1 -1
  29. package/dist/migrations/Migration20250508081510.d.ts +6 -0
  30. package/dist/migrations/Migration20250508081510.d.ts.map +1 -0
  31. package/dist/migrations/Migration20250508081510.js +14 -0
  32. package/dist/migrations/Migration20250508081510.js.map +1 -0
  33. package/dist/migrations/Migration20250828075407.d.ts +6 -0
  34. package/dist/migrations/Migration20250828075407.d.ts.map +1 -0
  35. package/dist/migrations/Migration20250828075407.js +34 -0
  36. package/dist/migrations/Migration20250828075407.js.map +1 -0
  37. package/dist/migrations/Migration20250909083125.d.ts +6 -0
  38. package/dist/migrations/Migration20250909083125.d.ts.map +1 -0
  39. package/dist/migrations/Migration20250909083125.js +25 -0
  40. package/dist/migrations/Migration20250909083125.js.map +1 -0
  41. package/dist/migrations/Migration20250916120552.d.ts +6 -0
  42. package/dist/migrations/Migration20250916120552.d.ts.map +1 -0
  43. package/dist/migrations/Migration20250916120552.js +14 -0
  44. package/dist/migrations/Migration20250916120552.js.map +1 -0
  45. package/dist/migrations/Migration20250917143818.d.ts +6 -0
  46. package/dist/migrations/Migration20250917143818.d.ts.map +1 -0
  47. package/dist/migrations/Migration20250917143818.js +18 -0
  48. package/dist/migrations/Migration20250917143818.js.map +1 -0
  49. package/dist/migrations/Migration20250919122137.d.ts +6 -0
  50. package/dist/migrations/Migration20250919122137.d.ts.map +1 -0
  51. package/dist/migrations/Migration20250919122137.js +14 -0
  52. package/dist/migrations/Migration20250919122137.js.map +1 -0
  53. package/dist/migrations/Migration20251006000000.d.ts +6 -0
  54. package/dist/migrations/Migration20251006000000.d.ts.map +1 -0
  55. package/dist/migrations/Migration20251006000000.js +16 -0
  56. package/dist/migrations/Migration20251006000000.js.map +1 -0
  57. package/dist/models/application-method.d.ts +183 -24
  58. package/dist/models/application-method.d.ts.map +1 -1
  59. package/dist/models/campaign-budget-usage.d.ts +268 -0
  60. package/dist/models/campaign-budget-usage.d.ts.map +1 -0
  61. package/dist/models/campaign-budget-usage.js +31 -0
  62. package/dist/models/campaign-budget-usage.js.map +1 -0
  63. package/dist/models/campaign-budget.d.ts +82 -24
  64. package/dist/models/campaign-budget.d.ts.map +1 -1
  65. package/dist/models/campaign-budget.js +17 -1
  66. package/dist/models/campaign-budget.js.map +1 -1
  67. package/dist/models/campaign.d.ts +63 -24
  68. package/dist/models/campaign.d.ts.map +1 -1
  69. package/dist/models/index.d.ts +1 -0
  70. package/dist/models/index.d.ts.map +1 -1
  71. package/dist/models/index.js +3 -1
  72. package/dist/models/index.js.map +1 -1
  73. package/dist/models/promotion-rule-value.d.ts +360 -19
  74. package/dist/models/promotion-rule-value.d.ts.map +1 -1
  75. package/dist/models/promotion-rule-value.js +17 -2
  76. package/dist/models/promotion-rule-value.js.map +1 -1
  77. package/dist/models/promotion-rule.d.ts +182 -23
  78. package/dist/models/promotion-rule.d.ts.map +1 -1
  79. package/dist/models/promotion-rule.js +13 -0
  80. package/dist/models/promotion-rule.js.map +1 -1
  81. package/dist/models/promotion.d.ts +59 -6
  82. package/dist/models/promotion.d.ts.map +1 -1
  83. package/dist/models/promotion.js +7 -0
  84. package/dist/models/promotion.js.map +1 -1
  85. package/dist/schema/index.d.ts +1 -1
  86. package/dist/schema/index.d.ts.map +1 -1
  87. package/dist/schema/index.js +1 -0
  88. package/dist/schema/index.js.map +1 -1
  89. package/dist/services/promotion-module.d.ts +420 -77
  90. package/dist/services/promotion-module.d.ts.map +1 -1
  91. package/dist/services/promotion-module.js +345 -116
  92. package/dist/services/promotion-module.js.map +1 -1
  93. package/dist/tsconfig.tsbuildinfo +1 -1
  94. package/dist/types/campaign-budget.d.ts +10 -0
  95. package/dist/types/campaign-budget.d.ts.map +1 -1
  96. package/dist/utils/compute-actions/build-promotion-rule-query-filter-from-context.d.ts +12 -0
  97. package/dist/utils/compute-actions/build-promotion-rule-query-filter-from-context.d.ts.map +1 -0
  98. package/dist/utils/compute-actions/build-promotion-rule-query-filter-from-context.js +188 -0
  99. package/dist/utils/compute-actions/build-promotion-rule-query-filter-from-context.js.map +1 -0
  100. package/dist/utils/compute-actions/buy-get.d.ts +3 -2
  101. package/dist/utils/compute-actions/buy-get.d.ts.map +1 -1
  102. package/dist/utils/compute-actions/buy-get.js +251 -84
  103. package/dist/utils/compute-actions/buy-get.js.map +1 -1
  104. package/dist/utils/compute-actions/index.d.ts +1 -0
  105. package/dist/utils/compute-actions/index.d.ts.map +1 -1
  106. package/dist/utils/compute-actions/index.js +1 -0
  107. package/dist/utils/compute-actions/index.js.map +1 -1
  108. package/dist/utils/compute-actions/line-items.d.ts +3 -4
  109. package/dist/utils/compute-actions/line-items.d.ts.map +1 -1
  110. package/dist/utils/compute-actions/line-items.js +74 -40
  111. package/dist/utils/compute-actions/line-items.js.map +1 -1
  112. package/dist/utils/compute-actions/shipping-methods.d.ts +4 -3
  113. package/dist/utils/compute-actions/shipping-methods.d.ts.map +1 -1
  114. package/dist/utils/compute-actions/shipping-methods.js +20 -6
  115. package/dist/utils/compute-actions/shipping-methods.js.map +1 -1
  116. package/dist/utils/compute-actions/sort-by-price.d.ts +4 -0
  117. package/dist/utils/compute-actions/sort-by-price.d.ts.map +1 -0
  118. package/dist/utils/compute-actions/sort-by-price.js +16 -0
  119. package/dist/utils/compute-actions/sort-by-price.js.map +1 -0
  120. package/dist/utils/compute-actions/usage.d.ts +14 -2
  121. package/dist/utils/compute-actions/usage.d.ts.map +1 -1
  122. package/dist/utils/compute-actions/usage.js +27 -2
  123. package/dist/utils/compute-actions/usage.js.map +1 -1
  124. package/dist/utils/index.js +17 -7
  125. package/dist/utils/index.js.map +1 -1
  126. package/dist/utils/validations/application-method.d.ts.map +1 -1
  127. package/dist/utils/validations/application-method.js +15 -0
  128. package/dist/utils/validations/application-method.js.map +1 -1
  129. package/dist/utils/validations/promotion-rule.d.ts +3 -2
  130. package/dist/utils/validations/promotion-rule.d.ts.map +1 -1
  131. package/dist/utils/validations/promotion-rule.js +52 -45
  132. package/dist/utils/validations/promotion-rule.js.map +1 -1
  133. package/package.json +15 -28
@@ -1 +1 @@
1
- {"version":3,"file":"line-items.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/line-items.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"line-items.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/line-items.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { BigNumberInput, PromotionTypes } from "@medusajs/framework/types";
1
+ import { BigNumberInput, InferEntityType, PromotionTypes } from "@medusajs/framework/types";
2
2
  import { ApplicationMethodTargetType } from "@medusajs/framework/utils";
3
- export declare function getComputedActionsForShippingMethods(promotion: PromotionTypes.PromotionDTO, shippingMethodApplicationContext: PromotionTypes.ComputeActionContext[ApplicationMethodTargetType.SHIPPING_METHODS], methodIdPromoValueMap: Map<string, number>): PromotionTypes.ComputeActions[];
4
- export declare function applyPromotionToShippingMethods(promotion: PromotionTypes.PromotionDTO, shippingMethods: PromotionTypes.ComputeActionContext[ApplicationMethodTargetType.SHIPPING_METHODS], methodIdPromoValueMap: Map<string, BigNumberInput>): PromotionTypes.ComputeActions[];
3
+ import { Promotion } from "../../models";
4
+ export declare function getComputedActionsForShippingMethods(promotion: PromotionTypes.PromotionDTO | InferEntityType<typeof Promotion>, shippingMethodApplicationContext: PromotionTypes.ComputeActionContext[ApplicationMethodTargetType.SHIPPING_METHODS], methodIdPromoValueMap: Map<string, number>): PromotionTypes.ComputeActions[];
5
+ export declare function applyPromotionToShippingMethods(promotion: PromotionTypes.PromotionDTO | InferEntityType<typeof Promotion>, shippingMethods: PromotionTypes.ComputeActionContext[ApplicationMethodTargetType.SHIPPING_METHODS], methodIdPromoValueMap: Map<string, BigNumberInput>): PromotionTypes.ComputeActions[];
5
6
  //# sourceMappingURL=shipping-methods.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shipping-methods.d.ts","sourceRoot":"","sources":["../../../src/utils/compute-actions/shipping-methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAEL,2BAA2B,EAK5B,MAAM,2BAA2B,CAAA;AAIlC,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,cAAc,CAAC,YAAY,EACtC,gCAAgC,EAAE,cAAc,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EACnH,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,cAAc,CAAC,cAAc,EAAE,CA8BjC;AAED,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,cAAc,CAAC,YAAY,EACtC,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EAClG,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GACjD,cAAc,CAAC,cAAc,EAAE,CAyHjC"}
1
+ {"version":3,"file":"shipping-methods.d.ts","sourceRoot":"","sources":["../../../src/utils/compute-actions/shipping-methods.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACf,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAEL,2BAA2B,EAK5B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAKnC,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,cAAc,CAAC,YAAY,GAAG,eAAe,CAAC,OAAO,SAAS,CAAC,EAC1E,gCAAgC,EAAE,cAAc,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EACnH,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,cAAc,CAAC,cAAc,EAAE,CAqCjC;AAED,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,cAAc,CAAC,YAAY,GAAG,eAAe,CAAC,OAAO,SAAS,CAAC,EAC1E,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EAClG,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GACjD,cAAc,CAAC,cAAc,EAAE,CAuIjC"}
@@ -4,9 +4,10 @@ exports.getComputedActionsForShippingMethods = getComputedActionsForShippingMeth
4
4
  exports.applyPromotionToShippingMethods = applyPromotionToShippingMethods;
5
5
  const utils_1 = require("@medusajs/framework/utils");
6
6
  const validations_1 = require("../validations");
7
+ const sort_by_price_1 = require("./sort-by-price");
7
8
  const usage_1 = require("./usage");
8
9
  function getComputedActionsForShippingMethods(promotion, shippingMethodApplicationContext, methodIdPromoValueMap) {
9
- const applicableShippingItems = [];
10
+ let applicableShippingItems = [];
10
11
  if (!shippingMethodApplicationContext) {
11
12
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `"shipping_methods" should be present as an array in the context for computeActions`);
12
13
  }
@@ -17,14 +18,25 @@ function getComputedActionsForShippingMethods(promotion, shippingMethodApplicati
17
18
  }
18
19
  applicableShippingItems.push(shippingMethodContext);
19
20
  }
21
+ const allocation = promotion.application_method?.allocation;
22
+ if (allocation === utils_1.ApplicationMethodAllocation.ONCE) {
23
+ applicableShippingItems = applicableShippingItems.sort(sort_by_price_1.sortShippingLineByPriceAscending);
24
+ }
20
25
  return applyPromotionToShippingMethods(promotion, applicableShippingItems, methodIdPromoValueMap);
21
26
  }
22
27
  function applyPromotionToShippingMethods(promotion, shippingMethods, methodIdPromoValueMap) {
23
28
  const { application_method: applicationMethod } = promotion;
24
29
  const allocation = applicationMethod?.allocation;
25
30
  const computedActions = [];
26
- if (allocation === utils_1.ApplicationMethodAllocation.EACH) {
31
+ const maxQuantity = applicationMethod?.max_quantity ?? 0;
32
+ let remainingQuota = maxQuantity;
33
+ if (allocation === utils_1.ApplicationMethodAllocation.EACH ||
34
+ allocation === utils_1.ApplicationMethodAllocation.ONCE) {
27
35
  for (const method of shippingMethods) {
36
+ if (allocation === utils_1.ApplicationMethodAllocation.ONCE &&
37
+ remainingQuota <= 0) {
38
+ break;
39
+ }
28
40
  if (!method.subtotal) {
29
41
  continue;
30
42
  }
@@ -44,6 +56,9 @@ function applyPromotionToShippingMethods(promotion, shippingMethods, methodIdPro
44
56
  continue;
45
57
  }
46
58
  methodIdPromoValueMap.set(method.id, utils_1.MathBN.add(appliedPromoValue, amount));
59
+ if (allocation === utils_1.ApplicationMethodAllocation.ONCE) {
60
+ remainingQuota -= 1;
61
+ }
47
62
  computedActions.push({
48
63
  action: utils_1.ComputedActions.ADD_SHIPPING_METHOD_ADJUSTMENT,
49
64
  shipping_method_id: method.id,
@@ -65,12 +80,11 @@ function applyPromotionToShippingMethods(promotion, shippingMethods, methodIdPro
65
80
  continue;
66
81
  }
67
82
  const promotionValue = applicationMethod?.value ?? 0;
68
- const applicableTotal = method.subtotal;
69
83
  const appliedPromoValue = methodIdPromoValueMap.get(method.id) ?? 0;
70
- const div = utils_1.MathBN.eq(totalApplicableValue, 0) ? 1 : totalApplicableValue;
71
- let applicablePromotionValue = utils_1.MathBN.sub(utils_1.MathBN.mult(utils_1.MathBN.div(applicableTotal, div), promotionValue), appliedPromoValue);
84
+ const applicableTotal = utils_1.MathBN.sub(method.subtotal, appliedPromoValue);
85
+ let applicablePromotionValue = utils_1.MathBN.mult(utils_1.MathBN.div(applicableTotal, totalApplicableValue), promotionValue);
72
86
  if (applicationMethod?.type === utils_1.ApplicationMethodType.PERCENTAGE) {
73
- applicablePromotionValue = utils_1.MathBN.sub(utils_1.MathBN.mult(utils_1.MathBN.div(promotionValue, 100), applicableTotal), appliedPromoValue);
87
+ applicablePromotionValue = utils_1.MathBN.mult(utils_1.MathBN.div(promotionValue, 100), applicableTotal);
74
88
  }
75
89
  const amount = utils_1.MathBN.min(applicablePromotionValue, applicableTotal);
76
90
  if (utils_1.MathBN.lte(amount, 0)) {
@@ -1 +1 @@
1
- {"version":3,"file":"shipping-methods.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/shipping-methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shipping-methods.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/shipping-methods.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ComputeActionItemLine, ComputeActionShippingLine } from "@medusajs/types";
2
+ export declare function sortLineItemByPriceAscending(a: ComputeActionItemLine, b: ComputeActionItemLine): 1 | -1;
3
+ export declare function sortShippingLineByPriceAscending(a: ComputeActionShippingLine, b: ComputeActionShippingLine): 1 | -1;
4
+ //# sourceMappingURL=sort-by-price.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-by-price.d.ts","sourceRoot":"","sources":["../../../src/utils/compute-actions/sort-by-price.ts"],"names":[],"mappings":"AACA,OAAO,EACH,qBAAqB,EACrB,yBAAyB,EAC5B,MAAM,iBAAiB,CAAA;AAExB,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,qBAAqB,EACxB,CAAC,EAAE,qBAAqB,UAKzB;AAED,wBAAgB,gCAAgC,CAC9C,CAAC,EAAE,yBAAyB,EAC5B,CAAC,EAAE,yBAAyB,UAK7B"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortLineItemByPriceAscending = sortLineItemByPriceAscending;
4
+ exports.sortShippingLineByPriceAscending = sortShippingLineByPriceAscending;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ function sortLineItemByPriceAscending(a, b) {
7
+ const priceA = utils_1.MathBN.div(a.subtotal, a.quantity);
8
+ const priceB = utils_1.MathBN.div(b.subtotal, b.quantity);
9
+ return utils_1.MathBN.lt(priceA, priceB) ? -1 : 1;
10
+ }
11
+ function sortShippingLineByPriceAscending(a, b) {
12
+ const priceA = a.subtotal ?? 0;
13
+ const priceB = b.subtotal ?? 0;
14
+ return utils_1.MathBN.lt(priceA, priceB) ? -1 : 1;
15
+ }
16
+ //# sourceMappingURL=sort-by-price.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-by-price.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/sort-by-price.ts"],"names":[],"mappings":";;AAMA,oEAOC;AAED,4EAOC;AAtBD,qDAAkD;AAMlD,SAAgB,4BAA4B,CAC1C,CAAwB,EACxB,CAAwB;IAExB,MAAM,MAAM,GAAG,cAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,cAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IACjD,OAAO,cAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3C,CAAC;AAED,SAAgB,gCAAgC,CAC9C,CAA4B,EAC5B,CAA4B;IAE5B,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAA;IAC9B,OAAO,cAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3C,CAAC"}
@@ -1,3 +1,15 @@
1
- import { BigNumberInput, CampaignBudgetExceededAction, PromotionDTO } from "@medusajs/framework/types";
2
- export declare function computeActionForBudgetExceeded(promotion: PromotionDTO, amount: BigNumberInput): CampaignBudgetExceededAction | void;
1
+ import { BigNumberInput, CampaignBudgetExceededAction, CampaignBudgetUsageContext, CampaignBudgetUsageDTO, ComputeActionContext, InferEntityType, PromotionDTO } from "@medusajs/framework/types";
2
+ import { Promotion } from "../../models";
3
+ /**
4
+ * Compute the action for a budget exceeded.
5
+ * @param promotion - the promotion being applied
6
+ * @param amount - amount can be:
7
+ * 1. discounted amount in case of spend budget
8
+ * 2. number of times the promotion has been used in case of usage budget
9
+ * 3. number of times the promotion has been used by a specific attribute value in case of use_by_attribute budget
10
+ * @param attributeUsage - the attribute usage in case of use_by_attribute budget
11
+ * @returns the exceeded action if the budget is exceeded, otherwise undefined
12
+ */
13
+ export declare function computeActionForBudgetExceeded(promotion: PromotionDTO | InferEntityType<typeof Promotion>, amount: BigNumberInput, attributeUsage?: CampaignBudgetUsageDTO): CampaignBudgetExceededAction | void;
14
+ export declare function getBudgetUsageContextFromComputeActionContext(computeActionContext: ComputeActionContext): CampaignBudgetUsageContext;
3
15
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/utils/compute-actions/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,YAAY,EACb,MAAM,2BAA2B,CAAA;AAOlC,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,cAAc,GACrB,4BAA4B,GAAG,IAAI,CAmBrC"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/utils/compute-actions/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACb,MAAM,2BAA2B,CAAA;AAMlC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,YAAY,GAAG,eAAe,CAAC,OAAO,SAAS,CAAC,EAC3D,MAAM,EAAE,cAAc,EACtB,cAAc,CAAC,EAAE,sBAAsB,GACtC,4BAA4B,GAAG,IAAI,CA6BrC;AAED,wBAAgB,6CAA6C,CAC3D,oBAAoB,EAAE,oBAAoB,GACzC,0BAA0B,CAS5B"}
@@ -1,13 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.computeActionForBudgetExceeded = computeActionForBudgetExceeded;
4
+ exports.getBudgetUsageContextFromComputeActionContext = getBudgetUsageContextFromComputeActionContext;
4
5
  const utils_1 = require("@medusajs/framework/utils");
5
- function computeActionForBudgetExceeded(promotion, amount) {
6
+ /**
7
+ * Compute the action for a budget exceeded.
8
+ * @param promotion - the promotion being applied
9
+ * @param amount - amount can be:
10
+ * 1. discounted amount in case of spend budget
11
+ * 2. number of times the promotion has been used in case of usage budget
12
+ * 3. number of times the promotion has been used by a specific attribute value in case of use_by_attribute budget
13
+ * @param attributeUsage - the attribute usage in case of use_by_attribute budget
14
+ * @returns the exceeded action if the budget is exceeded, otherwise undefined
15
+ */
16
+ function computeActionForBudgetExceeded(promotion, amount, attributeUsage) {
6
17
  const campaignBudget = promotion.campaign?.budget;
7
18
  if (!campaignBudget) {
8
19
  return;
9
20
  }
10
- const campaignBudgetUsed = campaignBudget.used ?? 0;
21
+ if (campaignBudget.type === utils_1.CampaignBudgetType.USE_BY_ATTRIBUTE &&
22
+ !attributeUsage) {
23
+ return;
24
+ }
25
+ const campaignBudgetUsed = attributeUsage
26
+ ? attributeUsage.used
27
+ : campaignBudget.used ?? 0;
11
28
  const totalUsed = campaignBudget.type === utils_1.CampaignBudgetType.SPEND
12
29
  ? utils_1.MathBN.add(campaignBudgetUsed, amount)
13
30
  : utils_1.MathBN.add(campaignBudgetUsed, 1);
@@ -18,4 +35,12 @@ function computeActionForBudgetExceeded(promotion, amount) {
18
35
  };
19
36
  }
20
37
  }
38
+ function getBudgetUsageContextFromComputeActionContext(computeActionContext) {
39
+ return {
40
+ customer_id: computeActionContext.customer_id ??
41
+ computeActionContext.customer?.id ??
42
+ null,
43
+ customer_email: computeActionContext.email ?? null,
44
+ };
45
+ }
21
46
  //# sourceMappingURL=usage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/usage.ts"],"names":[],"mappings":";;AAWA,wEAsBC;AA5BD,qDAIkC;AAElC,SAAgB,8BAA8B,CAC5C,SAAuB,EACvB,MAAsB;IAEtB,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEjD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IAED,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,IAAI,CAAC,CAAA;IACnD,MAAM,SAAS,GACb,cAAc,CAAC,IAAI,KAAK,0BAAkB,CAAC,KAAK;QAC9C,CAAC,CAAC,cAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACxC,CAAC,CAAC,cAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;IAEvC,IAAI,cAAc,CAAC,KAAK,IAAI,cAAM,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO;YACL,MAAM,EAAE,uBAAe,CAAC,wBAAwB;YAChD,IAAI,EAAE,SAAS,CAAC,IAAK;SACtB,CAAA;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/usage.ts"],"names":[],"mappings":";;AA0BA,wEAiCC;AAED,sGAWC;AA/DD,qDAIkC;AAGlC;;;;;;;;;GASG;AACH,SAAgB,8BAA8B,CAC5C,SAA2D,EAC3D,MAAsB,EACtB,cAAuC;IAEvC,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEjD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IAED,IACE,cAAc,CAAC,IAAI,KAAK,0BAAkB,CAAC,gBAAgB;QAC3D,CAAC,cAAc,EACf,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,kBAAkB,GAAG,cAAc;QACvC,CAAC,CAAC,cAAc,CAAC,IAAI;QACrB,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,CAAA;IAE5B,MAAM,SAAS,GACb,cAAc,CAAC,IAAI,KAAK,0BAAkB,CAAC,KAAK;QAC9C,CAAC,CAAC,cAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACxC,CAAC,CAAC,cAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;IAEvC,IAAI,cAAc,CAAC,KAAK,IAAI,cAAM,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO;YACL,MAAM,EAAE,uBAAe,CAAC,wBAAwB;YAChD,IAAI,EAAE,SAAS,CAAC,IAAK;SACtB,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAgB,6CAA6C,CAC3D,oBAA0C;IAE1C,OAAO;QACL,WAAW,EACT,oBAAoB,CAAC,WAAW;YAC/B,oBAAoB,CAAC,QAAgB,EAAE,EAAE;YAC1C,IAAI;QACN,cAAc,EACX,oBAAoB,CAAC,KAAmC,IAAI,IAAI;KACpE,CAAA;AACH,CAAC"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAuD;AACvD,gDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAuD;AACvD,gDAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"application-method.d.ts","sourceRoot":"","sources":["../../../src/utils/validations/application-method.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAA;AAE/E,eAAO,MAAM,4BAA4B,EAAE,MAAM,EAGhD,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,EAG1C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,EAEhD,CAAA;AAED,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,0BAA0B,GAAG,0BAA0B,EAC7D,SAAS,EAAE,eAAe,CAAC,OAAO,SAAS,CAAC,QA4G7C"}
1
+ {"version":3,"file":"application-method.d.ts","sourceRoot":"","sources":["../../../src/utils/validations/application-method.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAA;AAE/E,eAAO,MAAM,4BAA4B,EAAE,MAAM,EAGhD,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,EAI1C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,EAGhD,CAAA;AAED,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,0BAA0B,GAAG,0BAA0B,EAC7D,SAAS,EAAE,eAAe,CAAC,OAAO,SAAS,CAAC,QA2I7C"}
@@ -10,9 +10,11 @@ exports.allowedAllocationTargetTypes = [
10
10
  exports.allowedAllocationTypes = [
11
11
  utils_1.ApplicationMethodAllocation.ACROSS,
12
12
  utils_1.ApplicationMethodAllocation.EACH,
13
+ utils_1.ApplicationMethodAllocation.ONCE,
13
14
  ];
14
15
  exports.allowedAllocationForQuantity = [
15
16
  utils_1.ApplicationMethodAllocation.EACH,
17
+ utils_1.ApplicationMethodAllocation.ONCE,
16
18
  ];
17
19
  function validateApplicationMethodAttributes(data, promotion) {
18
20
  const applicationMethod = promotion?.application_method || {};
@@ -36,6 +38,15 @@ function validateApplicationMethodAttributes(data, promotion) {
36
38
  if (!(0, utils_1.isPresent)(buyRulesMinQuantity)) {
37
39
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `buy_rules_min_quantity is a required field for Promotion type of ${utils_1.PromotionType.BUYGET}`);
38
40
  }
41
+ if (!(0, utils_1.isPresent)(maxQuantity)) {
42
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `application_method.max_quantity is a required field for Promotion type of ${utils_1.PromotionType.BUYGET}`);
43
+ }
44
+ if (!(0, utils_1.isPresent)(applyToQuantity)) {
45
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `application_method.apply_to_quantity is a required field for Promotion type of ${utils_1.PromotionType.BUYGET}`);
46
+ }
47
+ if (utils_1.MathBN.lt(maxQuantity, applyToQuantity)) {
48
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `max_quantity (${maxQuantity}) must be greater than or equal to apply_to_quantity (${applyToQuantity}) for BUYGET promotions.`);
49
+ }
39
50
  }
40
51
  if (allocation === utils_1.ApplicationMethodAllocation.ACROSS &&
41
52
  (0, utils_1.isPresent)(maxQuantity)) {
@@ -61,5 +72,9 @@ function validateApplicationMethodAttributes(data, promotion) {
61
72
  !(0, utils_1.isDefined)(maxQuantity)) {
62
73
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `application_method.max_quantity is required when application_method.allocation is '${exports.allowedAllocationForQuantity.join(" OR ")}'`);
63
74
  }
75
+ if (allocation === utils_1.ApplicationMethodAllocation.ONCE &&
76
+ targetType === utils_1.ApplicationMethodTargetType.ORDER) {
77
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `application_method.allocation 'once' is not compatible with target_type 'order'`);
78
+ }
64
79
  }
65
80
  //# sourceMappingURL=application-method.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application-method.js","sourceRoot":"","sources":["../../../src/utils/validations/application-method.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-method.js","sourceRoot":"","sources":["../../../src/utils/validations/application-method.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { ApplicationMethodTargetTypeValues, PromotionRuleDTO } from "@medusajs/framework/types";
1
+ import { ApplicationMethodTargetTypeValues, InferEntityType, PromotionRuleDTO } from "@medusajs/framework/types";
2
+ import { PromotionRule } from "../../models";
2
3
  import { CreatePromotionRuleDTO } from "../../types";
3
4
  export declare function validatePromotionRuleAttributes(promotionRulesData: CreatePromotionRuleDTO[]): void;
4
- export declare function areRulesValidForContext(rules: PromotionRuleDTO[], context: Record<string, any>, contextScope: ApplicationMethodTargetTypeValues): boolean;
5
+ export declare function areRulesValidForContext(rules: PromotionRuleDTO[] | InferEntityType<typeof PromotionRule>[], context: Record<string, any>, contextScope: ApplicationMethodTargetTypeValues): boolean;
5
6
  export declare function evaluateRuleValueCondition(ruleValues: string[], operator: string, ruleValuesToCheck: (string | number)[] | (string | number)): boolean;
6
7
  //# sourceMappingURL=promotion-rule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"promotion-rule.d.ts","sourceRoot":"","sources":["../../../src/utils/validations/promotion-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,gBAAgB,EAEjB,MAAM,2BAA2B,CAAA;AAUlC,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAA;AAE/C,wBAAgB,+BAA+B,CAC7C,kBAAkB,EAAE,sBAAsB,EAAE,QAiC7C;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EAAE,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,YAAY,EAAE,iCAAiC,GAC9C,OAAO,CAmBT;AAkCD,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,WA6C3D"}
1
+ {"version":3,"file":"promotion-rule.d.ts","sourceRoot":"","sources":["../../../src/utils/validations/promotion-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,eAAe,EACf,gBAAgB,EAEjB,MAAM,2BAA2B,CAAA;AAUlC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAA;AAE/C,wBAAgB,+BAA+B,CAC7C,kBAAkB,EAAE,sBAAsB,EAAE,QAiC7C;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EAAE,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,EAAE,EACnE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,YAAY,EAAE,iCAAiC,GAC9C,OAAO,CA8CT;AAMD,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GACzD,OAAO,CAyCT"}
@@ -28,62 +28,69 @@ function validatePromotionRuleAttributes(promotionRulesData) {
28
28
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, errors.join(", "));
29
29
  }
30
30
  function areRulesValidForContext(rules, context, contextScope) {
31
- return rules.every((rule) => {
32
- const validRuleValues = rule.values?.map((ruleValue) => ruleValue.value);
33
- if (!rule.attribute) {
31
+ if (!rules?.length) {
32
+ return true;
33
+ }
34
+ const isItemScope = contextScope === utils_1.ApplicationMethodTargetType.ITEMS;
35
+ const isShippingScope = contextScope === utils_1.ApplicationMethodTargetType.SHIPPING_METHODS;
36
+ return ("initialized" in rules ? [...rules] : rules).every((rule) => {
37
+ if (!rule.attribute || !rule.values?.length) {
38
+ return false;
39
+ }
40
+ const validRuleValues = [];
41
+ for (const value of rule.values) {
42
+ if ((0, utils_1.isString)(value.value)) {
43
+ validRuleValues.push(value.value);
44
+ }
45
+ }
46
+ if (!validRuleValues.length) {
34
47
  return false;
35
48
  }
36
- const valuesToCheck = (0, utils_1.pickValueFromObject)(fetchRuleAttributeForContext(rule.attribute, contextScope), context);
37
- return evaluateRuleValueCondition(validRuleValues.filter(utils_1.isString), rule.operator, valuesToCheck);
49
+ let ruleAttribute = rule.attribute;
50
+ if (isItemScope) {
51
+ ruleAttribute = ruleAttribute.replace(`${utils_1.ApplicationMethodTargetType.ITEMS}.`, "");
52
+ }
53
+ else if (isShippingScope) {
54
+ ruleAttribute = ruleAttribute.replace(`${utils_1.ApplicationMethodTargetType.SHIPPING_METHODS}.`, "");
55
+ }
56
+ const valuesToCheck = (0, utils_1.pickValueFromObject)(ruleAttribute, context);
57
+ return evaluateRuleValueCondition(validRuleValues, rule.operator, valuesToCheck);
38
58
  });
39
59
  }
40
60
  /*
41
- The context here can either be either:
42
- - a cart context
43
- - an item context under a cart
44
- - a shipping method context under a cart
45
-
46
- The rule's attributes are set from the perspective of the cart context. For example: items.product.id
47
-
48
- When the context here is item or shipping_method, we need to drop the "items."" or "shipping_method."
49
- from the rule attribute string to accurate pick the values from the context.
61
+ Optimized evaluateRuleValueCondition by using early returns and cleaner approach
62
+ for evaluating rule conditions.
50
63
  */
51
- function fetchRuleAttributeForContext(ruleAttribute, contextScope) {
52
- if (contextScope === utils_1.ApplicationMethodTargetType.ITEMS) {
53
- ruleAttribute = ruleAttribute.replace(`${utils_1.ApplicationMethodTargetType.ITEMS}.`, "");
54
- }
55
- if (contextScope === utils_1.ApplicationMethodTargetType.SHIPPING_METHODS) {
56
- ruleAttribute = ruleAttribute.replace(`${utils_1.ApplicationMethodTargetType.SHIPPING_METHODS}.`, "");
57
- }
58
- return ruleAttribute;
59
- }
60
64
  function evaluateRuleValueCondition(ruleValues, operator, ruleValuesToCheck) {
61
- if (!Array.isArray(ruleValuesToCheck)) {
62
- ruleValuesToCheck = [ruleValuesToCheck];
63
- }
64
- if (!ruleValuesToCheck.length) {
65
+ const valuesToCheck = Array.isArray(ruleValuesToCheck)
66
+ ? ruleValuesToCheck
67
+ : [ruleValuesToCheck];
68
+ if (!valuesToCheck.length) {
65
69
  return false;
66
70
  }
67
- return ruleValuesToCheck.every((ruleValueToCheck) => {
68
- if (operator === "in" || operator === "eq") {
69
- return ruleValues.some((ruleValue) => ruleValue === `${ruleValueToCheck}`);
70
- }
71
- if (operator === "ne") {
72
- return ruleValues.some((ruleValue) => ruleValue !== `${ruleValueToCheck}`);
73
- }
74
- if (operator === "gt") {
75
- return ruleValues.some((ruleValue) => utils_1.MathBN.convert(ruleValueToCheck).gt(utils_1.MathBN.convert(ruleValue)));
76
- }
77
- if (operator === "gte") {
78
- return ruleValues.some((ruleValue) => utils_1.MathBN.convert(ruleValueToCheck).gte(utils_1.MathBN.convert(ruleValue)));
71
+ switch (operator) {
72
+ case "eq": {
73
+ const ruleValueSet = new Set(ruleValues);
74
+ return valuesToCheck.every((val) => ruleValueSet.has(`${val}`));
79
75
  }
80
- if (operator === "lt") {
81
- return ruleValues.some((ruleValue) => utils_1.MathBN.convert(ruleValueToCheck).lt(utils_1.MathBN.convert(ruleValue)));
76
+ case "in": {
77
+ const ruleValueSet = new Set(ruleValues);
78
+ return valuesToCheck.some((val) => ruleValueSet.has(`${val}`));
82
79
  }
83
- if (operator === "lte") {
84
- return ruleValues.some((ruleValue) => utils_1.MathBN.convert(ruleValueToCheck).lte(utils_1.MathBN.convert(ruleValue)));
80
+ case "ne": {
81
+ const ruleValueSet = new Set(ruleValues);
82
+ return valuesToCheck.every((val) => !ruleValueSet.has(`${val}`));
85
83
  }
86
- return false;
87
- });
84
+ case "gt":
85
+ return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.gt(val, ruleVal)));
86
+ case "gte":
87
+ return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.gte(val, ruleVal)));
88
+ case "lt":
89
+ return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.lt(val, ruleVal)));
90
+ case "lte":
91
+ return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.lte(val, ruleVal)));
92
+ default:
93
+ return false;
94
+ }
88
95
  }
89
96
  //# sourceMappingURL=promotion-rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promotion-rule.js","sourceRoot":"","sources":["../../../src/utils/validations/promotion-rule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promotion-rule.js","sourceRoot":"","sources":["../../../src/utils/validations/promotion-rule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/promotion",
3
- "version": "3.0.0-snapshot-20250410112222",
3
+ "version": "3.0.0-snapshot-20251104004624",
4
4
  "description": "Medusa Promotion module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,36 +24,23 @@
24
24
  "author": "Medusa",
25
25
  "license": "MIT",
26
26
  "scripts": {
27
- "watch": "tsc --build --watch",
28
- "watch:test": "tsc --build tsconfig.spec.json --watch",
29
- "resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
30
- "build": "rimraf dist && tsc --build && npm run resolve:aliases",
31
- "test": "jest --runInBand --passWithNoTests --bail --forceExit -- src",
32
- "test:integration": "jest --forceExit ",
33
- "migration:initial": " MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial",
34
- "migration:create": " MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create",
35
- "migration:up": " MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up",
36
- "orm:cache:clear": " MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm cache:clear"
27
+ "watch": "yarn run -T tsc --build --watch",
28
+ "watch:test": "yarn run -T tsc --build tsconfig.spec.json --watch",
29
+ "resolve:aliases": "yarn run -T tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && yarn run -T tsc-alias -p tsconfig.resolved.json && yarn run -T rimraf tsconfig.resolved.json",
30
+ "build": "yarn run -T rimraf dist && yarn run -T tsc --build && npm run resolve:aliases",
31
+ "test": "../../../node_modules/.bin/jest --passWithNoTests --bail --forceExit --testPathPattern=src",
32
+ "test:integration": "../../../node_modules/.bin/jest --passWithNoTests --forceExit --testPathPattern=\"integration-tests/__tests__/.*\\.spec\\.ts\"",
33
+ "migration:initial": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts MIKRO_ORM_ALLOW_GLOBAL_CLI=true medusa-mikro-orm migration:create --initial",
34
+ "migration:create": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts MIKRO_ORM_ALLOW_GLOBAL_CLI=true medusa-mikro-orm migration:create",
35
+ "migration:up": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts MIKRO_ORM_ALLOW_GLOBAL_CLI=true medusa-mikro-orm migration:up",
36
+ "migration:down": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts MIKRO_ORM_ALLOW_GLOBAL_CLI=true medusa-mikro-orm migration:down",
37
+ "orm:cache:clear": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts MIKRO_ORM_ALLOW_GLOBAL_CLI=true medusa-mikro-orm cache:clear"
37
38
  },
38
39
  "devDependencies": {
39
- "@medusajs/framework": "3.0.0-snapshot-20250410112222",
40
- "@medusajs/test-utils": "3.0.0-snapshot-20250410112222",
41
- "@mikro-orm/cli": "6.4.3",
42
- "@mikro-orm/core": "6.4.3",
43
- "@mikro-orm/migrations": "6.4.3",
44
- "@mikro-orm/postgresql": "6.4.3",
45
- "@swc/core": "^1.7.28",
46
- "@swc/jest": "^0.2.36",
47
- "jest": "^29.7.0",
48
- "rimraf": "^3.0.2",
49
- "tsc-alias": "^1.8.6",
50
- "typescript": "^5.6.2"
40
+ "@medusajs/framework": "3.0.0-snapshot-20251104004624",
41
+ "@medusajs/test-utils": "3.0.0-snapshot-20251104004624"
51
42
  },
52
43
  "peerDependencies": {
53
- "@medusajs/framework": "3.0.0-snapshot-20250410112222",
54
- "@mikro-orm/core": "6.4.3",
55
- "@mikro-orm/migrations": "6.4.3",
56
- "@mikro-orm/postgresql": "6.4.3",
57
- "awilix": "^8.0.1"
44
+ "@medusajs/framework": "3.0.0-snapshot-20251104004624"
58
45
  }
59
46
  }