@medusajs/promotion 2.6.2-snapshot-20250328151043 → 2.7.0-preview-20250411080918
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/dist/services/promotion-module.d.ts.map +1 -1
- package/dist/services/promotion-module.js +115 -83
- package/dist/services/promotion-module.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/compute-actions/buy-get.d.ts.map +1 -1
- package/dist/utils/compute-actions/buy-get.js +81 -46
- package/dist/utils/compute-actions/buy-get.js.map +1 -1
- package/dist/utils/compute-actions/line-items.js +43 -15
- package/dist/utils/compute-actions/line-items.js.map +1 -1
- package/dist/utils/validations/promotion-rule.d.ts.map +1 -1
- package/dist/utils/validations/promotion-rule.js +46 -45
- package/dist/utils/validations/promotion-rule.js.map +1 -1
- package/package.json +4 -4
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"promotion-module.d.ts","sourceRoot":"","sources":["../../src/services/promotion-module.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"promotion-module.d.ts","sourceRoot":"","sources":["../../src/services/promotion-module.ts"],"names":[],"mappings":"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"}
|
@@ -42,24 +42,25 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
42
42
|
return joiner_config_1.joinerConfig;
|
43
43
|
}
|
44
44
|
listActivePromotions(filters, config, sharedContext) {
|
45
|
+
// Ensure we share the same now date across all filters
|
46
|
+
const now = new Date();
|
45
47
|
const activeFilters = {
|
48
|
+
status: utils_1.PromotionStatus.ACTIVE,
|
46
49
|
$or: [
|
47
50
|
{
|
48
|
-
status: utils_1.PromotionStatus.ACTIVE,
|
49
51
|
campaign_id: null,
|
50
52
|
...filters,
|
51
53
|
},
|
52
54
|
{
|
53
|
-
status: utils_1.PromotionStatus.ACTIVE,
|
54
55
|
...filters,
|
55
56
|
campaign: {
|
56
57
|
...filters?.campaign,
|
57
58
|
$and: [
|
58
59
|
{
|
59
|
-
$or: [{ starts_at: null }, { starts_at: { $lte:
|
60
|
+
$or: [{ starts_at: null }, { starts_at: { $lte: now } }],
|
60
61
|
},
|
61
62
|
{
|
62
|
-
$or: [{ ends_at: null }, { ends_at: { $gt:
|
63
|
+
$or: [{ ends_at: null }, { ends_at: { $gt: now } }],
|
63
64
|
},
|
64
65
|
],
|
65
66
|
},
|
@@ -95,11 +96,15 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
95
96
|
if (!campaignBudgetData) {
|
96
97
|
continue;
|
97
98
|
}
|
98
|
-
|
99
|
+
// Calculate the new budget value
|
100
|
+
const newUsedValue = utils_1.MathBN.add(campaignBudgetData.used ?? 0, computedAction.amount);
|
99
101
|
if (campaignBudget.limit &&
|
100
|
-
utils_1.MathBN.gt(
|
102
|
+
utils_1.MathBN.gt(newUsedValue, campaignBudget.limit)) {
|
101
103
|
continue;
|
102
104
|
}
|
105
|
+
else {
|
106
|
+
campaignBudgetData.used = newUsedValue;
|
107
|
+
}
|
103
108
|
campaignBudgetMap.set(campaignBudget.id, campaignBudgetData);
|
104
109
|
}
|
105
110
|
if (campaignBudget.type === utils_1.CampaignBudgetType.USAGE) {
|
@@ -107,17 +112,25 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
107
112
|
if (promotionAlreadyUsed) {
|
108
113
|
continue;
|
109
114
|
}
|
110
|
-
const
|
111
|
-
|
112
|
-
used: utils_1.MathBN.add(campaignBudget.used ?? 0, 1),
|
113
|
-
};
|
115
|
+
const newUsedValue = utils_1.MathBN.add(campaignBudget.used ?? 0, 1);
|
116
|
+
// Check if it exceeds the limit and cap it if necessary
|
114
117
|
if (campaignBudget.limit &&
|
115
|
-
utils_1.MathBN.gt(
|
116
|
-
|
118
|
+
utils_1.MathBN.gt(newUsedValue, campaignBudget.limit)) {
|
119
|
+
campaignBudgetMap.set(campaignBudget.id, {
|
120
|
+
id: campaignBudget.id,
|
121
|
+
used: campaignBudget.limit,
|
122
|
+
});
|
123
|
+
}
|
124
|
+
else {
|
125
|
+
campaignBudgetMap.set(campaignBudget.id, {
|
126
|
+
id: campaignBudget.id,
|
127
|
+
used: newUsedValue,
|
128
|
+
});
|
117
129
|
}
|
118
|
-
campaignBudgetMap.set(campaignBudget.id, campaignBudgetData);
|
119
130
|
promotionCodeUsageMap.set(promotion.code, true);
|
120
131
|
}
|
132
|
+
}
|
133
|
+
if (campaignBudgetMap.size > 0) {
|
121
134
|
const campaignBudgetsData = [];
|
122
135
|
for (const [_, campaignBudgetData] of campaignBudgetMap) {
|
123
136
|
campaignBudgetsData.push(campaignBudgetData);
|
@@ -153,7 +166,9 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
153
166
|
if (!campaignBudgetData) {
|
154
167
|
continue;
|
155
168
|
}
|
156
|
-
|
169
|
+
// Calculate new used value and ensure it doesn't go below 0
|
170
|
+
const newUsedValue = utils_1.MathBN.sub(campaignBudgetData.used ?? 0, computedAction.amount);
|
171
|
+
campaignBudgetData.used = utils_1.MathBN.lt(newUsedValue, 0) ? 0 : newUsedValue;
|
157
172
|
campaignBudgetMap.set(campaignBudget.id, campaignBudgetData);
|
158
173
|
}
|
159
174
|
if (campaignBudget.type === utils_1.CampaignBudgetType.USAGE) {
|
@@ -161,12 +176,17 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
161
176
|
if (promotionAlreadyUsed) {
|
162
177
|
continue;
|
163
178
|
}
|
179
|
+
// Calculate new used value and ensure it doesn't go below 0
|
180
|
+
const newUsedValue = utils_1.MathBN.sub(campaignBudget.used ?? 0, 1);
|
181
|
+
const usedValue = utils_1.MathBN.lt(newUsedValue, 0) ? 0 : newUsedValue;
|
164
182
|
campaignBudgetMap.set(campaignBudget.id, {
|
165
183
|
id: campaignBudget.id,
|
166
|
-
used:
|
184
|
+
used: usedValue,
|
167
185
|
});
|
168
186
|
promotionCodeUsageMap.set(promotion.code, true);
|
169
187
|
}
|
188
|
+
}
|
189
|
+
if (campaignBudgetMap.size > 0) {
|
170
190
|
const campaignBudgetsData = [];
|
171
191
|
for (const [_, campaignBudgetData] of campaignBudgetMap) {
|
172
192
|
campaignBudgetsData.push(campaignBudgetData);
|
@@ -178,51 +198,45 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
178
198
|
const { prevent_auto_promotions: preventAutoPromotions } = options;
|
179
199
|
const computedActions = [];
|
180
200
|
const { items = [], shipping_methods: shippingMethods = [] } = applicationContext;
|
181
|
-
const appliedItemCodes = [];
|
182
|
-
const appliedShippingCodes = [];
|
183
201
|
const codeAdjustmentMap = new Map();
|
202
|
+
// Pre-process items and shipping methods to build adjustment map efficiently
|
203
|
+
for (const item of items) {
|
204
|
+
if (!item.adjustments?.length)
|
205
|
+
continue;
|
206
|
+
for (const adjustment of item.adjustments) {
|
207
|
+
if (!(0, utils_1.isString)(adjustment.code))
|
208
|
+
continue;
|
209
|
+
if (!codeAdjustmentMap.has(adjustment.code)) {
|
210
|
+
codeAdjustmentMap.set(adjustment.code, { items: [], shipping: [] });
|
211
|
+
}
|
212
|
+
codeAdjustmentMap.get(adjustment.code).items.push(adjustment);
|
213
|
+
}
|
214
|
+
}
|
215
|
+
for (const shippingMethod of shippingMethods) {
|
216
|
+
if (!shippingMethod.adjustments?.length)
|
217
|
+
continue;
|
218
|
+
for (const adjustment of shippingMethod.adjustments) {
|
219
|
+
if (!(0, utils_1.isString)(adjustment.code))
|
220
|
+
continue;
|
221
|
+
if (!codeAdjustmentMap.has(adjustment.code)) {
|
222
|
+
codeAdjustmentMap.set(adjustment.code, { items: [], shipping: [] });
|
223
|
+
}
|
224
|
+
codeAdjustmentMap.get(adjustment.code).shipping.push(adjustment);
|
225
|
+
}
|
226
|
+
}
|
227
|
+
const appliedCodes = Array.from(codeAdjustmentMap.keys());
|
184
228
|
const methodIdPromoValueMap = new Map();
|
185
|
-
// Keeps a map of all elgible items in the buy section and its eligible quantity
|
186
|
-
const eligibleBuyItemMap = new Map();
|
187
|
-
// Keeps a map of all elgible items in the target section and its eligible quantity
|
188
|
-
const eligibleTargetItemMap = new Map();
|
189
229
|
const automaticPromotions = preventAutoPromotions
|
190
230
|
? []
|
191
231
|
: await this.listActivePromotions({ is_automatic: true }, { select: ["code"] }, sharedContext);
|
192
|
-
// Promotions we need to apply includes all the codes that are passed as an argument
|
193
|
-
// to this method, along with any automatic promotions that can be applied to the context
|
194
232
|
const automaticPromotionCodes = automaticPromotions.map((p) => p.code);
|
195
233
|
const promotionCodesToApply = [
|
196
234
|
...promotionCodes,
|
197
235
|
...automaticPromotionCodes,
|
236
|
+
...appliedCodes,
|
198
237
|
];
|
199
|
-
|
200
|
-
|
201
|
-
if ((0, utils_1.isString)(adjustment.code)) {
|
202
|
-
const adjustments = codeAdjustmentMap.get(adjustment.code) || [];
|
203
|
-
adjustments.push(adjustment);
|
204
|
-
codeAdjustmentMap.set(adjustment.code, adjustments);
|
205
|
-
appliedItemCodes.push(adjustment.code);
|
206
|
-
}
|
207
|
-
});
|
208
|
-
});
|
209
|
-
shippingMethods.forEach((shippingMethod) => {
|
210
|
-
shippingMethod.adjustments?.forEach((adjustment) => {
|
211
|
-
if ((0, utils_1.isString)(adjustment.code)) {
|
212
|
-
const adjustments = codeAdjustmentMap.get(adjustment.code) || [];
|
213
|
-
adjustments.push(adjustment);
|
214
|
-
codeAdjustmentMap.set(adjustment.code, adjustments);
|
215
|
-
appliedShippingCodes.push(adjustment.code);
|
216
|
-
}
|
217
|
-
});
|
218
|
-
});
|
219
|
-
const promotions = await this.listActivePromotions({
|
220
|
-
code: [
|
221
|
-
...promotionCodesToApply,
|
222
|
-
...appliedItemCodes,
|
223
|
-
...appliedShippingCodes,
|
224
|
-
],
|
225
|
-
}, {
|
238
|
+
const uniquePromotionCodes = Array.from(new Set(promotionCodesToApply));
|
239
|
+
const promotions = await this.listActivePromotions({ code: uniquePromotionCodes }, {
|
226
240
|
take: null,
|
227
241
|
order: { application_method: { value: "DESC" } },
|
228
242
|
relations: [
|
@@ -236,29 +250,31 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
236
250
|
"campaign",
|
237
251
|
"campaign.budget",
|
238
252
|
],
|
239
|
-
});
|
253
|
+
}, sharedContext);
|
240
254
|
const existingPromotionsMap = new Map(promotions.map((promotion) => [promotion.code, promotion]));
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
+
for (const [code, adjustments] of codeAdjustmentMap.entries()) {
|
256
|
+
for (const adjustment of adjustments.items) {
|
257
|
+
computedActions.push({
|
258
|
+
action: utils_1.ComputedActions.REMOVE_ITEM_ADJUSTMENT,
|
259
|
+
adjustment_id: adjustment.id,
|
260
|
+
code,
|
261
|
+
});
|
262
|
+
}
|
263
|
+
for (const adjustment of adjustments.shipping) {
|
264
|
+
computedActions.push({
|
265
|
+
action: utils_1.ComputedActions.REMOVE_SHIPPING_METHOD_ADJUSTMENT,
|
266
|
+
adjustment_id: adjustment.id,
|
267
|
+
code,
|
268
|
+
});
|
269
|
+
}
|
255
270
|
}
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
.filter((p) => promotionCodesToApply.includes(p.code))
|
271
|
+
const sortedPromotionsToApply = promotions
|
272
|
+
.filter((p) => promotionCodes.includes(p.code) ||
|
273
|
+
automaticPromotionCodes.includes(p.code))
|
260
274
|
.sort(_utils_1.ComputeActionUtils.sortByBuyGetType);
|
261
|
-
|
275
|
+
const eligibleBuyItemMap = new Map();
|
276
|
+
const eligibleTargetItemMap = new Map();
|
277
|
+
for (const promotionToApply of sortedPromotionsToApply) {
|
262
278
|
const promotion = existingPromotionsMap.get(promotionToApply.code);
|
263
279
|
const { application_method: applicationMethod, rules: promotionRules = [], } = promotion;
|
264
280
|
if (!applicationMethod) {
|
@@ -272,7 +288,7 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
272
288
|
const computedActionsForItems = _utils_1.ComputeActionUtils.getComputedActionsForBuyGet(promotion, applicationContext[utils_1.ApplicationMethodTargetType.ITEMS], methodIdPromoValueMap, eligibleBuyItemMap, eligibleTargetItemMap);
|
273
289
|
computedActions.push(...computedActionsForItems);
|
274
290
|
}
|
275
|
-
if (promotion.type === utils_1.PromotionType.STANDARD) {
|
291
|
+
else if (promotion.type === utils_1.PromotionType.STANDARD) {
|
276
292
|
const isTargetOrder = applicationMethod.target_type === utils_1.ApplicationMethodTargetType.ORDER;
|
277
293
|
const isTargetItems = applicationMethod.target_type === utils_1.ApplicationMethodTargetType.ITEMS;
|
278
294
|
const isTargetShipping = applicationMethod.target_type ===
|
@@ -316,7 +332,13 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
316
332
|
const promotionsData = [];
|
317
333
|
const applicationMethodsData = [];
|
318
334
|
const campaignsData = [];
|
319
|
-
const
|
335
|
+
const campaignIds = data
|
336
|
+
.filter((d) => d.campaign_id)
|
337
|
+
.map((d) => d.campaign_id)
|
338
|
+
.filter((id) => (0, utils_1.isString)(id));
|
339
|
+
const existingCampaigns = campaignIds.length > 0
|
340
|
+
? await this.campaignService_.list({ id: campaignIds }, { relations: ["budget"] }, sharedContext)
|
341
|
+
: [];
|
320
342
|
const promotionCodeApplicationMethodDataMap = new Map();
|
321
343
|
const promotionCodeRulesDataMap = new Map();
|
322
344
|
const methodTargetRulesMap = new Map();
|
@@ -390,21 +412,32 @@ class PromotionModuleService extends (0, utils_1.MedusaService)({
|
|
390
412
|
methodBuyRulesMap.set(promotion.id, buyRulesData);
|
391
413
|
}
|
392
414
|
}
|
393
|
-
|
415
|
+
if (promotionCodeRulesDataMap.has(promotion.code)) {
|
416
|
+
await this.createPromotionRulesAndValues_(promotionCodeRulesDataMap.get(promotion.code) || [], "promotions", promotion, sharedContext);
|
417
|
+
}
|
394
418
|
}
|
395
|
-
const createdApplicationMethods =
|
396
|
-
|
419
|
+
const createdApplicationMethods = applicationMethodsData.length > 0
|
420
|
+
? await this.applicationMethodService_.create(applicationMethodsData, sharedContext)
|
421
|
+
: [];
|
422
|
+
const createdCampaigns = campaignsData.length > 0
|
423
|
+
? await this.createCampaigns(campaignsData, sharedContext)
|
424
|
+
: [];
|
397
425
|
for (const campaignData of campaignsData) {
|
398
426
|
const promotions = campaignData.promotions;
|
399
427
|
const campaign = createdCampaigns.find((c) => c.campaign_identifier === campaignData.campaign_identifier);
|
400
|
-
if (
|
401
|
-
|
428
|
+
if (campaign && promotions && promotions.length) {
|
429
|
+
await this.addPromotionsToCampaign({ id: campaign.id, promotion_ids: promotions.map((p) => p.id) }, sharedContext);
|
402
430
|
}
|
403
|
-
await this.addPromotionsToCampaign({ id: campaign.id, promotion_ids: promotions.map((p) => p.id) }, sharedContext);
|
404
431
|
}
|
405
432
|
for (const applicationMethod of createdApplicationMethods) {
|
406
|
-
|
407
|
-
|
433
|
+
const targetRules = methodTargetRulesMap.get(applicationMethod.promotion.id);
|
434
|
+
if (targetRules && targetRules.length > 0) {
|
435
|
+
await this.createPromotionRulesAndValues_(targetRules, "method_target_rules", applicationMethod, sharedContext);
|
436
|
+
}
|
437
|
+
const buyRules = methodBuyRulesMap.get(applicationMethod.promotion.id);
|
438
|
+
if (buyRules && buyRules.length > 0) {
|
439
|
+
await this.createPromotionRulesAndValues_(buyRules, "method_buy_rules", applicationMethod, sharedContext);
|
440
|
+
}
|
408
441
|
}
|
409
442
|
return createdPromotions;
|
410
443
|
}
|
@@ -744,15 +777,14 @@ __decorate([
|
|
744
777
|
__metadata("design:returntype", Promise)
|
745
778
|
], PromotionModuleService.prototype, "listActivePromotions", null);
|
746
779
|
__decorate([
|
747
|
-
(0, utils_1.
|
748
|
-
__param(1, (0, utils_1.MedusaContext)()),
|
780
|
+
(0, utils_1.InjectTransactionManager)(),
|
749
781
|
__param(1, (0, utils_1.MedusaContext)()),
|
750
782
|
__metadata("design:type", Function),
|
751
783
|
__metadata("design:paramtypes", [Array, Object]),
|
752
784
|
__metadata("design:returntype", Promise)
|
753
785
|
], PromotionModuleService.prototype, "registerUsage", null);
|
754
786
|
__decorate([
|
755
|
-
(0, utils_1.
|
787
|
+
(0, utils_1.InjectTransactionManager)(),
|
756
788
|
__param(1, (0, utils_1.MedusaContext)()),
|
757
789
|
__metadata("design:type", Function),
|
758
790
|
__metadata("design:paramtypes", [Array, Object]),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"promotion-module.js","sourceRoot":"","sources":["../../src/services/promotion-module.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"promotion-module.js","sourceRoot":"","sources":["../../src/services/promotion-module.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"root":["../src/index.ts","../src/joiner-config.ts","../src/migrations/
|
1
|
+
{"root":["../src/index.ts","../src/joiner-config.ts","../src/migrations/migration20240227120221.ts","../src/migrations/migration20240617102917.ts","../src/migrations/migration20240624153824.ts","../src/migrations/migration20241211061114.ts","../src/migrations/migration20250113094144.ts","../src/migrations/migration20250120110700.ts","../src/migrations/migration20250226130616.ts","../src/models/application-method.ts","../src/models/campaign-budget.ts","../src/models/campaign.ts","../src/models/index.ts","../src/models/promotion-rule-value.ts","../src/models/promotion-rule.ts","../src/models/promotion.ts","../src/schema/index.ts","../src/services/index.ts","../src/services/promotion-module.ts","../src/types/application-method.ts","../src/types/campaign-budget.ts","../src/types/campaign.ts","../src/types/index.ts","../src/types/promotion-rule-value.ts","../src/types/promotion-rule.ts","../src/types/promotion.ts","../src/utils/index.ts","../src/utils/compute-actions/buy-get.ts","../src/utils/compute-actions/index.ts","../src/utils/compute-actions/line-items.ts","../src/utils/compute-actions/shipping-methods.ts","../src/utils/compute-actions/usage.ts","../src/utils/validations/application-method.ts","../src/utils/validations/index.ts","../src/utils/validations/promotion-rule.ts"],"version":"5.6.2"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"buy-get.d.ts","sourceRoot":"","sources":["../../../src/utils/compute-actions/buy-get.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACf,MAAM,2BAA2B,CAAA;AAWlC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,cAAc,CAAA;CACzB,CAAA;AAyBD,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,cAAc,CAAC,YAAY,EACtC,YAAY,EAAE,qBAAqB,EAAE,EACrC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAClD,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC/C,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,GACjD,cAAc,CAAC,cAAc,EAAE,
|
1
|
+
{"version":3,"file":"buy-get.d.ts","sourceRoot":"","sources":["../../../src/utils/compute-actions/buy-get.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACf,MAAM,2BAA2B,CAAA;AAWlC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,cAAc,CAAA;CACzB,CAAA;AAyBD,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,cAAc,CAAC,YAAY,EACtC,YAAY,EAAE,qBAAqB,EAAE,EACrC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAClD,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC/C,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,GACjD,cAAc,CAAC,cAAc,EAAE,CAqOjC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,cAmDpC"}
|
@@ -19,20 +19,32 @@ function filterItemsByPromotionRules(itemsContext, rules) {
|
|
19
19
|
}
|
20
20
|
function getComputedActionsForBuyGet(promotion, itemsContext, methodIdPromoValueMap, eligibleBuyItemMap, eligibleTargetItemMap) {
|
21
21
|
const computedActions = [];
|
22
|
-
const minimumBuyQuantity = utils_1.MathBN.convert(promotion.application_method?.buy_rules_min_quantity ?? 0);
|
23
|
-
const itemsMap = new Map(itemsContext.map((i) => [i.id, i]));
|
24
22
|
if (!itemsContext) {
|
25
23
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `"items" should be present as an array in the context to compute actions`);
|
26
24
|
}
|
25
|
+
if (!itemsContext?.length) {
|
26
|
+
return computedActions;
|
27
|
+
}
|
28
|
+
const minimumBuyQuantity = utils_1.MathBN.convert(promotion.application_method?.buy_rules_min_quantity ?? 0);
|
29
|
+
const itemsMap = new Map(itemsContext.map((i) => [i.id, i]));
|
30
|
+
if (utils_1.MathBN.lte(minimumBuyQuantity, 0) ||
|
31
|
+
!promotion.application_method?.buy_rules?.length) {
|
32
|
+
return computedActions;
|
33
|
+
}
|
27
34
|
const eligibleBuyItems = filterItemsByPromotionRules(itemsContext, promotion.application_method?.buy_rules);
|
35
|
+
if (!eligibleBuyItems.length) {
|
36
|
+
return computedActions;
|
37
|
+
}
|
28
38
|
const eligibleBuyItemQuantity = utils_1.MathBN.sum(...eligibleBuyItems.map((item) => item.quantity));
|
29
39
|
/*
|
30
40
|
Get the total quantity of items where buy rules apply. If the total sum of eligible items
|
31
41
|
does not match up to the minimum buy quantity set on the promotion, return early.
|
32
42
|
*/
|
33
43
|
if (utils_1.MathBN.gt(minimumBuyQuantity, eligibleBuyItemQuantity)) {
|
34
|
-
return
|
44
|
+
return computedActions;
|
35
45
|
}
|
46
|
+
const eligibleItemsByPromotion = [];
|
47
|
+
let accumulatedQuantity = utils_1.MathBN.convert(0);
|
36
48
|
/*
|
37
49
|
Eligibility of a BuyGet promotion can span across line items. Once an item has been chosen
|
38
50
|
as eligible, we can't use this item or its partial remaining quantity when we apply the promotion on
|
@@ -41,83 +53,106 @@ function getComputedActionsForBuyGet(promotion, itemsContext, methodIdPromoValue
|
|
41
53
|
We build the map here to use when we apply promotions on the target items.
|
42
54
|
*/
|
43
55
|
for (const eligibleBuyItem of eligibleBuyItems) {
|
44
|
-
const eligibleItemsByPromotion = eligibleBuyItemMap.get(promotion.code) || [];
|
45
|
-
const accumulatedQuantity = eligibleItemsByPromotion.reduce((acc, item) => utils_1.MathBN.sum(acc, item.quantity), utils_1.MathBN.convert(0));
|
46
|
-
// If we have reached the minimum buy quantity from the eligible items for this promotion,
|
47
|
-
// we can break early and continue to applying the target items
|
48
56
|
if (utils_1.MathBN.gte(accumulatedQuantity, minimumBuyQuantity)) {
|
49
57
|
break;
|
50
58
|
}
|
51
|
-
const
|
52
|
-
.filter((buy) => buy.item_id === eligibleBuyItem.id)
|
53
|
-
.map((b) => b.quantity));
|
54
|
-
const reservableQuantity = utils_1.MathBN.min(eligibleBuyItem.quantity, utils_1.MathBN.sub(minimumBuyQuantity, eligibleQuantity));
|
55
|
-
// If we have reached the required minimum quantity, we break the loop early
|
59
|
+
const reservableQuantity = utils_1.MathBN.min(eligibleBuyItem.quantity, utils_1.MathBN.sub(minimumBuyQuantity, accumulatedQuantity));
|
56
60
|
if (utils_1.MathBN.lte(reservableQuantity, 0)) {
|
57
|
-
|
61
|
+
continue;
|
58
62
|
}
|
59
63
|
eligibleItemsByPromotion.push({
|
60
64
|
item_id: eligibleBuyItem.id,
|
61
65
|
quantity: utils_1.MathBN.min(eligibleBuyItem.quantity, reservableQuantity).toNumber(),
|
62
66
|
});
|
63
|
-
|
67
|
+
accumulatedQuantity = utils_1.MathBN.add(accumulatedQuantity, reservableQuantity);
|
64
68
|
}
|
65
|
-
|
69
|
+
// Store the eligible buy items for this promotion code in the map
|
70
|
+
eligibleBuyItemMap.set(promotion.code, eligibleItemsByPromotion);
|
71
|
+
// If we couldn't accumulate enough items to meet the minimum buy quantity, return early
|
72
|
+
if (utils_1.MathBN.lt(accumulatedQuantity, minimumBuyQuantity)) {
|
73
|
+
return computedActions;
|
74
|
+
}
|
75
|
+
// Get the number of target items that should receive the discount
|
66
76
|
const targetQuantity = utils_1.MathBN.convert(promotion.application_method?.apply_to_quantity ?? 0);
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
77
|
+
// If no target quantity is specified, return early
|
78
|
+
if (utils_1.MathBN.lte(targetQuantity, 0)) {
|
79
|
+
return computedActions;
|
80
|
+
}
|
81
|
+
// Find all items that match the target rules criteria
|
82
|
+
const eligibleTargetItems = filterItemsByPromotionRules(itemsContext, promotion.application_method?.target_rules);
|
83
|
+
// If no items match the target rules, return early
|
84
|
+
if (!eligibleTargetItems.length) {
|
85
|
+
return computedActions;
|
86
|
+
}
|
87
|
+
// Track quantities of items that can't be used as targets because they were used in buy rules
|
88
|
+
const inapplicableQuantityMap = new Map();
|
89
|
+
// Build map of quantities that are ineligible as targets because they were used to satisfy buy rules
|
90
|
+
for (const buyItem of eligibleItemsByPromotion) {
|
91
|
+
const currentValue = inapplicableQuantityMap.get(buyItem.item_id) || utils_1.MathBN.convert(0);
|
92
|
+
inapplicableQuantityMap.set(buyItem.item_id, utils_1.MathBN.add(currentValue, buyItem.quantity));
|
93
|
+
}
|
94
|
+
// Track items eligible for receiving the discount and total quantity that can be discounted
|
95
|
+
const targetItemsByPromotion = [];
|
96
|
+
let targetableQuantity = utils_1.MathBN.convert(0);
|
97
|
+
// Find items eligible for discount, excluding quantities used in buy rules
|
75
98
|
for (const eligibleTargetItem of eligibleTargetItems) {
|
76
|
-
|
77
|
-
|
78
|
-
.filter((buy) => buy.item_id === eligibleTargetItem.id)
|
79
|
-
.map((b) => b.quantity));
|
99
|
+
// Calculate how much of this item's quantity can receive the discount
|
100
|
+
const inapplicableQuantity = inapplicableQuantityMap.get(eligibleTargetItem.id) || utils_1.MathBN.convert(0);
|
80
101
|
const applicableQuantity = utils_1.MathBN.sub(eligibleTargetItem.quantity, inapplicableQuantity);
|
81
|
-
|
82
|
-
|
83
|
-
|
102
|
+
if (utils_1.MathBN.lte(applicableQuantity, 0)) {
|
103
|
+
continue;
|
104
|
+
}
|
105
|
+
// Calculate how many more items we need to fulfill target quantity
|
106
|
+
const remainingNeeded = utils_1.MathBN.sub(targetQuantity, targetableQuantity);
|
107
|
+
const fulfillableQuantity = utils_1.MathBN.min(remainingNeeded, applicableQuantity);
|
84
108
|
if (utils_1.MathBN.lte(fulfillableQuantity, 0)) {
|
85
109
|
continue;
|
86
110
|
}
|
87
|
-
|
111
|
+
// Add this item to eligible targets
|
88
112
|
targetItemsByPromotion.push({
|
89
113
|
item_id: eligibleTargetItem.id,
|
90
|
-
quantity:
|
114
|
+
quantity: fulfillableQuantity.toNumber(),
|
91
115
|
});
|
92
|
-
|
116
|
+
targetableQuantity = utils_1.MathBN.add(targetableQuantity, fulfillableQuantity);
|
117
|
+
// If we've found enough items to fulfill target quantity, stop looking
|
118
|
+
if (utils_1.MathBN.gte(targetableQuantity, targetQuantity)) {
|
119
|
+
break;
|
120
|
+
}
|
93
121
|
}
|
94
|
-
|
95
|
-
|
96
|
-
// If we
|
97
|
-
if (utils_1.MathBN.lt(
|
98
|
-
return
|
122
|
+
// Store eligible target items for this promotion
|
123
|
+
eligibleTargetItemMap.set(promotion.code, targetItemsByPromotion);
|
124
|
+
// If we couldn't find enough eligible target items, return early
|
125
|
+
if (utils_1.MathBN.lt(targetableQuantity, targetQuantity)) {
|
126
|
+
return computedActions;
|
99
127
|
}
|
128
|
+
// Track remaining quantity to apply discount to and get discount percentage
|
100
129
|
let remainingQtyToApply = utils_1.MathBN.convert(targetQuantity);
|
130
|
+
const applicablePercentage = promotion.application_method?.value ?? 100;
|
131
|
+
// Apply discounts to eligible target items
|
101
132
|
for (const targetItem of targetItemsByPromotion) {
|
133
|
+
if (utils_1.MathBN.lte(remainingQtyToApply, 0)) {
|
134
|
+
break;
|
135
|
+
}
|
102
136
|
const item = itemsMap.get(targetItem.item_id);
|
103
137
|
const appliedPromoValue = methodIdPromoValueMap.get(item.id) ?? utils_1.MathBN.convert(0);
|
104
138
|
const multiplier = utils_1.MathBN.min(targetItem.quantity, remainingQtyToApply);
|
105
|
-
|
106
|
-
const
|
139
|
+
// Calculate discount amount based on item price and applicable percentage
|
140
|
+
const pricePerUnit = utils_1.MathBN.div(item.subtotal, item.quantity);
|
141
|
+
const applicableAmount = utils_1.MathBN.mult(pricePerUnit, multiplier);
|
107
142
|
const amount = utils_1.MathBN.mult(applicableAmount, applicablePercentage).div(100);
|
108
|
-
|
109
|
-
|
110
|
-
break;
|
111
|
-
}
|
112
|
-
else {
|
113
|
-
remainingQtyToApply = newRemainingQtyToApply;
|
143
|
+
if (utils_1.MathBN.lte(amount, 0)) {
|
144
|
+
continue;
|
114
145
|
}
|
146
|
+
remainingQtyToApply = utils_1.MathBN.sub(remainingQtyToApply, multiplier);
|
147
|
+
// Check if applying this discount would exceed promotion budget
|
115
148
|
const budgetExceededAction = (0, usage_1.computeActionForBudgetExceeded)(promotion, amount);
|
116
149
|
if (budgetExceededAction) {
|
117
150
|
computedActions.push(budgetExceededAction);
|
118
151
|
continue;
|
119
152
|
}
|
153
|
+
// Track total promotional value applied to this item
|
120
154
|
methodIdPromoValueMap.set(item.id, utils_1.MathBN.add(appliedPromoValue, amount).toNumber());
|
155
|
+
// Add computed discount action
|
121
156
|
computedActions.push({
|
122
157
|
action: utils_1.ComputedActions.ADD_ITEM_ADJUSTMENT,
|
123
158
|
item_id: item.id,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"buy-get.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/buy-get.ts"],"names":[],"mappings":";;AA2CA,
|
1
|
+
{"version":3,"file":"buy-get.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/buy-get.ts"],"names":[],"mappings":"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"}
|
@@ -24,27 +24,43 @@ function getComputedActionsForOrder(promotion, itemApplicationContext, methodIdP
|
|
24
24
|
}
|
25
25
|
function applyPromotionToItems(promotion, items, appliedPromotionsMap, allocationOverride) {
|
26
26
|
const { application_method: applicationMethod } = promotion;
|
27
|
+
if (!applicationMethod) {
|
28
|
+
return [];
|
29
|
+
}
|
27
30
|
const allocation = applicationMethod?.allocation || allocationOverride;
|
31
|
+
const target = applicationMethod?.target_type;
|
32
|
+
if (!items?.length || !target) {
|
33
|
+
return [];
|
34
|
+
}
|
28
35
|
const computedActions = [];
|
29
36
|
const applicableItems = getValidItemsForPromotion(items, promotion);
|
30
|
-
|
37
|
+
if (!applicableItems.length) {
|
38
|
+
return computedActions;
|
39
|
+
}
|
31
40
|
const isTargetShippingMethod = target === utils_1.ApplicationMethodTargetType.SHIPPING_METHODS;
|
32
41
|
const isTargetLineItems = target === utils_1.ApplicationMethodTargetType.ITEMS;
|
33
42
|
const isTargetOrder = target === utils_1.ApplicationMethodTargetType.ORDER;
|
43
|
+
const promotionValue = applicationMethod?.value ?? 0;
|
44
|
+
const maxQuantity = isTargetShippingMethod
|
45
|
+
? 1
|
46
|
+
: applicationMethod?.max_quantity;
|
34
47
|
let lineItemsTotal = utils_1.MathBN.convert(0);
|
35
48
|
if (allocation === utils_1.ApplicationMethodAllocation.ACROSS) {
|
36
49
|
lineItemsTotal = applicableItems.reduce((acc, item) => utils_1.MathBN.sub(utils_1.MathBN.add(acc, item.subtotal), appliedPromotionsMap.get(item.id) ?? 0), utils_1.MathBN.convert(0));
|
50
|
+
if (utils_1.MathBN.lte(lineItemsTotal, 0)) {
|
51
|
+
return computedActions;
|
52
|
+
}
|
37
53
|
}
|
38
54
|
for (const item of applicableItems) {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
: applicationMethod?.max_quantity;
|
55
|
+
if (utils_1.MathBN.lte(item.subtotal, 0)) {
|
56
|
+
continue;
|
57
|
+
}
|
43
58
|
if (isTargetShippingMethod) {
|
44
59
|
item.quantity = 1;
|
45
60
|
}
|
61
|
+
const appliedPromoValue = appliedPromotionsMap.get(item.id) ?? 0;
|
46
62
|
const amount = (0, utils_1.calculateAdjustmentAmountFromPromotion)(item, {
|
47
|
-
value:
|
63
|
+
value: promotionValue,
|
48
64
|
applied_value: appliedPromoValue,
|
49
65
|
max_quantity: maxQuantity,
|
50
66
|
type: applicationMethod?.type,
|
@@ -67,7 +83,7 @@ function applyPromotionToItems(promotion, items, appliedPromotionsMap, allocatio
|
|
67
83
|
code: promotion.code,
|
68
84
|
});
|
69
85
|
}
|
70
|
-
if (isTargetShippingMethod) {
|
86
|
+
else if (isTargetShippingMethod) {
|
71
87
|
computedActions.push({
|
72
88
|
action: utils_1.ComputedActions.ADD_SHIPPING_METHOD_ADJUSTMENT,
|
73
89
|
shipping_method_id: item.id,
|
@@ -79,14 +95,26 @@ function applyPromotionToItems(promotion, items, appliedPromotionsMap, allocatio
|
|
79
95
|
return computedActions;
|
80
96
|
}
|
81
97
|
function getValidItemsForPromotion(items, promotion) {
|
98
|
+
if (!items?.length || !promotion?.application_method) {
|
99
|
+
return [];
|
100
|
+
}
|
82
101
|
const isTargetShippingMethod = promotion.application_method?.target_type === utils_1.ApplicationMethodTargetType.SHIPPING_METHODS;
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
102
|
+
const targetRules = promotion.application_method?.target_rules ?? [];
|
103
|
+
const hasTargetRules = targetRules.length > 0;
|
104
|
+
if (isTargetShippingMethod && !hasTargetRules) {
|
105
|
+
return items.filter((item) => item && "subtotal" in item && utils_1.MathBN.gt(item.subtotal, 0));
|
106
|
+
}
|
107
|
+
return items.filter((item) => {
|
108
|
+
if (!item || !("subtotal" in item) || utils_1.MathBN.lte(item.subtotal, 0)) {
|
109
|
+
return false;
|
110
|
+
}
|
111
|
+
if (!isTargetShippingMethod && !("quantity" in item)) {
|
112
|
+
return false;
|
113
|
+
}
|
114
|
+
if (!hasTargetRules) {
|
115
|
+
return true;
|
116
|
+
}
|
117
|
+
return (0, validations_1.areRulesValidForContext)(promotion?.application_method?.target_rules, item, utils_1.ApplicationMethodTargetType.ITEMS);
|
118
|
+
});
|
91
119
|
}
|
92
120
|
//# sourceMappingURL=line-items.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"line-items.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/line-items.ts"],"names":[],"mappings":";;AA6BA,gEAcC;AAED,oFAQC;AAED,gEAWC;AA7DD,qDAQkC;AAClC,gDAAwD;AACxD,mCAAwD;AAExD,SAAS,eAAe,CACtB,UAAkB,EAClB,OAAwD;IAExD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,KAAK,CAAC,YAAY,EAC9B,IAAI,UAAU,mEAAmE,CAClF,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAgB,0BAA0B,CACxC,SAAsC,EACtC,KAA4D,EAC5D,oBAAyC,EACzC,kBAAsD;IAEtD,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAE/B,OAAO,qBAAqB,CAC1B,SAAS,EACT,KAAK,EACL,oBAAoB,EACpB,kBAAkB,CACnB,CAAA;AACH,CAAC;AAED,SAAgB,oCAAoC,CAClD,SAAsC,EACtC,eAAiF,EACjF,oBAAyC;IAEzC,eAAe,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAA;IAEpD,OAAO,qBAAqB,CAAC,SAAS,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAA;AAChF,CAAC;AAED,SAAgB,0BAA0B,CACxC,SAAsC,EACtC,sBAA2D,EAC3D,qBAA0C;IAE1C,OAAO,0BAA0B,CAC/B,SAAS,EACT,sBAAsB,CAAC,mCAAU,CAAC,KAAK,CAAC,EACxC,qBAAqB,EACrB,mCAA2B,CAAC,MAAM,CACnC,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAsC,EACtC,KAEoE,EACpE,oBAAiD,EACjD,kBAAsD;IAEtD,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAA;
|
1
|
+
{"version":3,"file":"line-items.js","sourceRoot":"","sources":["../../../src/utils/compute-actions/line-items.ts"],"names":[],"mappings":"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"}
|
@@ -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,
|
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,CA2CT;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,CAsCT"}
|
@@ -28,62 +28,63 @@ 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
|
+
if (!rules?.length) {
|
32
|
+
return true;
|
33
|
+
}
|
34
|
+
const isItemScope = contextScope === utils_1.ApplicationMethodTargetType.ITEMS;
|
35
|
+
const isShippingScope = contextScope === utils_1.ApplicationMethodTargetType.SHIPPING_METHODS;
|
31
36
|
return rules.every((rule) => {
|
32
|
-
|
33
|
-
|
37
|
+
if (!rule.attribute || !rule.values?.length) {
|
38
|
+
return false;
|
39
|
+
}
|
40
|
+
const validRuleValues = rule.values
|
41
|
+
.filter((v) => (0, utils_1.isString)(v.value))
|
42
|
+
.map((v) => v.value);
|
43
|
+
if (!validRuleValues.length) {
|
34
44
|
return false;
|
35
45
|
}
|
36
|
-
|
37
|
-
|
46
|
+
let ruleAttribute = rule.attribute;
|
47
|
+
if (isItemScope) {
|
48
|
+
ruleAttribute = ruleAttribute.replace(`${utils_1.ApplicationMethodTargetType.ITEMS}.`, "");
|
49
|
+
}
|
50
|
+
else if (isShippingScope) {
|
51
|
+
ruleAttribute = ruleAttribute.replace(`${utils_1.ApplicationMethodTargetType.SHIPPING_METHODS}.`, "");
|
52
|
+
}
|
53
|
+
const valuesToCheck = (0, utils_1.pickValueFromObject)(ruleAttribute, context);
|
54
|
+
return evaluateRuleValueCondition(validRuleValues, rule.operator, valuesToCheck);
|
38
55
|
});
|
39
56
|
}
|
40
57
|
/*
|
41
|
-
|
42
|
-
|
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.
|
58
|
+
Optimized evaluateRuleValueCondition by using early returns and cleaner approach
|
59
|
+
for evaluating rule conditions.
|
50
60
|
*/
|
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
61
|
function evaluateRuleValueCondition(ruleValues, operator, ruleValuesToCheck) {
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
if (!
|
62
|
+
const valuesToCheck = Array.isArray(ruleValuesToCheck)
|
63
|
+
? ruleValuesToCheck
|
64
|
+
: [ruleValuesToCheck];
|
65
|
+
if (!valuesToCheck.length) {
|
65
66
|
return false;
|
66
67
|
}
|
67
|
-
|
68
|
-
|
69
|
-
|
68
|
+
switch (operator) {
|
69
|
+
case "in":
|
70
|
+
case "eq": {
|
71
|
+
const ruleValueSet = new Set(ruleValues);
|
72
|
+
return valuesToCheck.every((val) => ruleValueSet.has(`${val}`));
|
70
73
|
}
|
71
|
-
|
72
|
-
|
74
|
+
case "ne": {
|
75
|
+
const ruleValueSet = new Set(ruleValues);
|
76
|
+
return valuesToCheck.every((val) => !ruleValueSet.has(`${val}`));
|
73
77
|
}
|
74
|
-
|
75
|
-
return ruleValues.some((
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
return
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
}
|
86
|
-
return false;
|
87
|
-
});
|
78
|
+
case "gt":
|
79
|
+
return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.gt(val, ruleVal)));
|
80
|
+
case "gte":
|
81
|
+
return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.gte(val, ruleVal)));
|
82
|
+
case "lt":
|
83
|
+
return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.lt(val, ruleVal)));
|
84
|
+
case "lte":
|
85
|
+
return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.lte(val, ruleVal)));
|
86
|
+
default:
|
87
|
+
return false;
|
88
|
+
}
|
88
89
|
}
|
89
90
|
//# sourceMappingURL=promotion-rule.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"promotion-rule.js","sourceRoot":"","sources":["../../../src/utils/validations/promotion-rule.ts"],"names":[],"mappings":";;AAgBA,0EAkCC;AAED,
|
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": "2.
|
3
|
+
"version": "2.7.0-preview-20250411080918",
|
4
4
|
"description": "Medusa Promotion module",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
@@ -36,8 +36,8 @@
|
|
36
36
|
"orm:cache:clear": " MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm cache:clear"
|
37
37
|
},
|
38
38
|
"devDependencies": {
|
39
|
-
"@medusajs/framework": "2.
|
40
|
-
"@medusajs/test-utils": "2.
|
39
|
+
"@medusajs/framework": "2.7.0-preview-20250411080918",
|
40
|
+
"@medusajs/test-utils": "2.7.0-preview-20250411080918",
|
41
41
|
"@mikro-orm/cli": "6.4.3",
|
42
42
|
"@mikro-orm/core": "6.4.3",
|
43
43
|
"@mikro-orm/migrations": "6.4.3",
|
@@ -50,7 +50,7 @@
|
|
50
50
|
"typescript": "^5.6.2"
|
51
51
|
},
|
52
52
|
"peerDependencies": {
|
53
|
-
"@medusajs/framework": "2.
|
53
|
+
"@medusajs/framework": "2.7.0-preview-20250411080918",
|
54
54
|
"@mikro-orm/core": "6.4.3",
|
55
55
|
"@mikro-orm/migrations": "6.4.3",
|
56
56
|
"@mikro-orm/postgresql": "6.4.3",
|