@devx-commerce/plugin-discounts-svaraa 0.0.1 → 0.0.2-beta.0

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.
@@ -12,7 +12,7 @@ async function POST(req, res) {
12
12
  },
13
13
  });
14
14
  if (!result) {
15
- return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to create discount price rule", 400));
15
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to apply coupon", 400));
16
16
  }
17
17
  return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result));
18
18
  }
@@ -21,4 +21,4 @@ async function POST(req, res) {
21
21
  return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
22
22
  }
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9hcHBseS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLG9CQXdCQztBQWhDRCwrREFJc0M7QUFDdEMsOEVBQWtGO0FBRzNFLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQXVELEVBQ3ZELEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsa0NBQW1CLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUMxRCxLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxHQUFHLENBQUMsYUFBYTtnQkFDcEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxJQUFJLFNBQVM7YUFDcEQ7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQUMsc0NBQXNDLEVBQUUsR0FBRyxDQUFDLENBQ2pFLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsb0NBQXFCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQyJ9
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9hcHBseS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLG9CQXFCQztBQTdCRCwrREFJc0M7QUFDdEMsOEVBQWtGO0FBRzNFLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQXVELEVBQ3ZELEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsa0NBQW1CLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUMxRCxLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxHQUFHLENBQUMsYUFBYTtnQkFDcEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxJQUFJLFNBQVM7YUFDcEQ7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLElBQUEsOEJBQWUsRUFBQyxHQUFHLEVBQUUsSUFBQSxrQ0FBbUIsRUFBQyx3QkFBd0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFFRCxPQUFPLElBQUEsOEJBQWUsRUFBQyxHQUFHLEVBQUUsSUFBQSxvQ0FBcUIsRUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsa0NBQW1CLEVBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7QUFDSCxDQUFDIn0=
@@ -6,10 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.applyCouponWorkflow = void 0;
7
7
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
8
8
  const core_flows_1 = require("@medusajs/medusa/core-flows");
9
+ const locking_1 = require("../../locking");
9
10
  const calculate_coupon_discount_1 = require("../calculate-coupon-discount");
10
11
  const remove_coupon_step_1 = require("../remove-coupon/step/remove-coupon-step");
11
12
  const generate_adjustment_line_item_1 = __importDefault(require("./steps/generate-adjustment-line-item"));
12
13
  exports.applyCouponWorkflow = (0, workflows_sdk_1.createWorkflow)("apply-coupon", (input) => {
14
+ (0, locking_1.acquireLockStep)({
15
+ key: input.cart_id,
16
+ timeout: 30000,
17
+ ttl: 120000,
18
+ });
13
19
  const response = calculate_coupon_discount_1.calculateCouponDiscountWorkflow.runAsStep({
14
20
  input: {
15
21
  code: input.code,
@@ -32,10 +38,11 @@ exports.applyCouponWorkflow = (0, workflows_sdk_1.createWorkflow)("apply-coupon"
32
38
  const cart = (0, workflows_sdk_1.transform)({ carts }, ({ carts }) => carts[0]);
33
39
  (0, remove_coupon_step_1.removeCouponStep)({ cart });
34
40
  (0, generate_adjustment_line_item_1.default)(response.adjustmentLineItems);
41
+ (0, locking_1.releaseLockStep)({ key: input.cart_id });
35
42
  return new workflows_sdk_1.WorkflowResponse({
36
43
  discount: response.discount,
37
44
  isApplied: response.isApplied,
38
45
  message: response.message,
39
46
  });
40
47
  });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FwcGx5LWNvdXBvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxRUFJMkM7QUFDM0MsNERBQWdFO0FBR2hFLDRFQUErRTtBQUMvRSxpRkFBNEU7QUFDNUUsMEdBQStFO0FBRWxFLFFBQUEsbUJBQW1CLEdBQUcsSUFBQSw4QkFBYyxFQUMvQyxjQUFjLEVBQ2QsQ0FBQyxLQUE2QixFQUFFLEVBQUU7SUFDaEMsTUFBTSxRQUFRLEdBQUcsMkRBQStCLENBQUMsU0FBUyxDQUFDO1FBQ3pELEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzdCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3hDLE1BQU0sRUFBRSxNQUFNO1FBQ2QsTUFBTSxFQUFFO1lBQ04sR0FBRztZQUNILFNBQVM7WUFDVCxpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLG9DQUFvQztTQUNyQztRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1FBQzlCLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFaEMsTUFBTSxJQUFJLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUzRCxJQUFBLHFDQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUUzQixJQUFBLHVDQUEwQixFQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXpELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDM0IsU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTO1FBQzdCLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztLQUMxQixDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FwcGx5LWNvdXBvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxRUFJMkM7QUFDM0MsNERBQWdFO0FBR2hFLDJDQUFpRTtBQUNqRSw0RUFBK0U7QUFDL0UsaUZBQTRFO0FBQzVFLDBHQUErRTtBQUVsRSxRQUFBLG1CQUFtQixHQUFHLElBQUEsOEJBQWMsRUFDL0MsY0FBYyxFQUNkLENBQUMsS0FBNkIsRUFBRSxFQUFFO0lBQ2hDLElBQUEseUJBQWUsRUFBQztRQUNkLEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLEVBQUUsS0FBSztRQUNkLEdBQUcsRUFBRSxNQUFNO0tBQ1osQ0FBQyxDQUFBO0lBRUYsTUFBTSxRQUFRLEdBQUcsMkRBQStCLENBQUMsU0FBUyxDQUFDO1FBQ3pELEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzdCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3hDLE1BQU0sRUFBRSxNQUFNO1FBQ2QsTUFBTSxFQUFFO1lBQ04sR0FBRztZQUNILFNBQVM7WUFDVCxpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLG9DQUFvQztTQUNyQztRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1FBQzlCLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFaEMsTUFBTSxJQUFJLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUzRCxJQUFBLHFDQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUUzQixJQUFBLHVDQUEwQixFQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXpELElBQUEseUJBQWUsRUFBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUV4QyxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO1FBQzNCLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztRQUM3QixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87S0FDMUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
@@ -6,7 +6,7 @@ const validators_1 = require("../../../../api/admin/discounts/validators");
6
6
  const utils_1 = require("../../../../lib/utils");
7
7
  function calculateCartTotal(cartItems) {
8
8
  return cartItems?.reduce((acc, item) => {
9
- const { variant, quantity = 1 } = item || {};
9
+ const { variant } = item || {};
10
10
  const { extended_variant } = variant || {};
11
11
  const { amount_eligible_for_discount = 0 } = extended_variant || {};
12
12
  return acc + Number(amount_eligible_for_discount);
@@ -46,11 +46,13 @@ function filterApplicableCartLineItems(cart, priceRule) {
46
46
  }
47
47
  exports.calculateDiscount = (0, workflows_sdk_1.createStep)("calculate-discount", async ({ priceRule, code, cart }, { container }) => {
48
48
  const logger = container.resolve("logger");
49
+ const query = container.resolve("query");
49
50
  logger.setLogLevel(process.env.LOG_LEVEL || "error");
50
51
  const { usage_limit_per_cart_type, usage_limit_per_cart_specific, get_flat_discount, buy_x, get_y, at_y, type, title, description, get_percent, max_discount, } = priceRule;
51
52
  const adjustmentLineItems = [];
52
53
  let totalDiscount = 0;
53
54
  let applicableCartLineItems = filterApplicableCartLineItems(cart, priceRule);
55
+ logger.debug("calculateDiscount[applicableCartLineItems]: " + JSON.stringify(applicableCartLineItems, null, 2));
54
56
  const totalApplicableProductsQty = applicableCartLineItems.reduce((acc, { quantity }) => acc + Number(quantity || 0), 0);
55
57
  let numberOfTimeCouponShouldApply = Math.min(totalApplicableProductsQty, usage_limit_per_cart_type ==
56
58
  validators_1.DiscountUsageLimitPerCartType.Values.ONLY_ONCE
@@ -66,29 +68,9 @@ exports.calculateDiscount = (0, workflows_sdk_1.createStep)("calculate-discount"
66
68
  switch (type) {
67
69
  case validators_1.DiscountType.Values.FIXED:
68
70
  totalDiscount = Math.min(get_flat_discount * numberOfTimeCouponShouldApply, cartTotal);
69
- logger.debug("Fixed[totalDiscount]: " + totalDiscount);
70
- remaining = (0, utils_1.toMinor)(totalDiscount);
71
- logger.debug("Fixed[remaining]: " + remaining);
72
- // await Promise.all(
73
- // applicableCartLineItems?.map(async (item: (typeof cart.items)[0]) => {
74
- // const ratio = Number(
75
- // (
76
- // Number(
77
- // item.variant.extended_variant
78
- // .amount_eligible_for_discount
79
- // ) / Number(cartTotal)
80
- // ).toFixed(2)
81
- // );
82
- // const discount = ratio * totalDiscount;
83
- // adjustmentLineItems.push({
84
- // amount: discount,
85
- // code: code,
86
- // description: title || description || "Discount",
87
- // item_id: item.id,
88
- // promotion_id: priceRule.id,
89
- // });
90
- // })
91
- // );
71
+ logger.debug("calculateDiscount[totalDiscount]: " + totalDiscount);
72
+ remaining = totalDiscount;
73
+ logger.debug("fixed[remaining]: " + remaining);
92
74
  for (const [idx, item] of applicableCartLineItems.entries()) {
93
75
  const isLast = idx === applicableCartLineItems.length - 1;
94
76
  const ratio = Number((Number(item.variant.extended_variant
@@ -110,26 +92,6 @@ exports.calculateDiscount = (0, workflows_sdk_1.createStep)("calculate-discount"
110
92
  break;
111
93
  case validators_1.DiscountType.Values.PERCENTAGE:
112
94
  totalDiscount = Math.min((get_percent * cartTotal) / 100, max_discount || Infinity);
113
- // await Promise.all(
114
- // applicableCartLineItems?.map(async (item: (typeof cart.items)[0]) => {
115
- // const ratio = Number(
116
- // (
117
- // Number(
118
- // item.variant.extended_variant
119
- // .amount_eligible_for_discount
120
- // ) / Number(cartTotal)
121
- // ).toFixed(2)
122
- // );
123
- // const discount = ratio * totalDiscount;
124
- // adjustmentLineItems.push({
125
- // amount: discount,
126
- // code: code,
127
- // description: title || description || "Discount",
128
- // item_id: item.id,
129
- // promotion_id: priceRule.id,
130
- // });
131
- // })
132
- // );
133
95
  remaining = totalDiscount;
134
96
  for (const [idx, item] of applicableCartLineItems.entries()) {
135
97
  const isLast = idx === applicableCartLineItems.length - 1;
@@ -172,19 +134,14 @@ exports.calculateDiscount = (0, workflows_sdk_1.createStep)("calculate-discount"
172
134
  break;
173
135
  iterator += t;
174
136
  totalDiscount +=
175
- t *
137
+ (0, utils_1.toTwoDecimal)(t *
176
138
  Number(item.variant.extended_variant
177
- .amount_eligible_for_discount);
139
+ .amount_eligible_for_discount) / Number(item.quantity || 1));
178
140
  adjustmentLineItems.push({
179
- amount:
180
- // t *
181
- // Number(
182
- // item.variant.extended_variant
183
- // .amount_eligible_for_discount
184
- // ),
185
- (0, utils_1.toTwoDecimal)(t *
141
+ free_quantity: t,
142
+ amount: (0, utils_1.toTwoDecimal)(t *
186
143
  Number(item.variant.extended_variant
187
- .amount_eligible_for_discount)),
144
+ .amount_eligible_for_discount) / Number(item.quantity || 1)),
188
145
  code,
189
146
  description: title || description || "Discount",
190
147
  item_id: item.id,
@@ -243,7 +200,7 @@ exports.calculateDiscount = (0, workflows_sdk_1.createStep)("calculate-discount"
243
200
  const unitsNeeded = buy_x * bxayTimes;
244
201
  const units = [];
245
202
  for (const item of applicableCartLineItems) {
246
- const unitPrice = item.variant.extended_variant.amount_eligible_for_discount;
203
+ const unitPrice = item.variant.extended_variant.amount_eligible_for_discount / Number(item.quantity || 1);
247
204
  for (let i = 0; i < (Number(item.quantity) || 1); i++) {
248
205
  units.push({ item, unitPrice: Number(unitPrice) });
249
206
  }
@@ -252,7 +209,7 @@ exports.calculateDiscount = (0, workflows_sdk_1.createStep)("calculate-discount"
252
209
  units.sort((a, b) => a.unitPrice - b.unitPrice);
253
210
  // 4) Pick the cheapest `unitsNeeded` units
254
211
  const selected = units.slice(0, unitsNeeded);
255
- logger.info("selected: " + JSON.stringify(selected, null, 2));
212
+ logger.info("selected: " + selected.length);
256
213
  // 5) Sum their original prices
257
214
  const sumPrices = selected.reduce((sum, u) => sum + u.unitPrice, 0);
258
215
  logger.info("sumPrices: " + sumPrices);
@@ -260,7 +217,7 @@ exports.calculateDiscount = (0, workflows_sdk_1.createStep)("calculate-discount"
260
217
  const totalOfItemsAfterDiscount = at_y * bxayTimes;
261
218
  logger.info("totalOfItemsAfterDiscount: " + totalOfItemsAfterDiscount);
262
219
  // 7) Total discount to allocate
263
- const totalBundleDiscount = sumPrices - totalOfItemsAfterDiscount;
220
+ const totalBundleDiscount = Math.max(sumPrices - totalOfItemsAfterDiscount, 0);
264
221
  logger.info("totalBundleDiscount: " + totalBundleDiscount);
265
222
  // 8) Group back by line-item to allocate proportionally
266
223
  const lineBuckets = {};
@@ -275,7 +232,7 @@ exports.calculateDiscount = (0, workflows_sdk_1.createStep)("calculate-discount"
275
232
  let allocated = 0;
276
233
  for (const [itemId, { sumPrices: lineSum }] of Object.entries(lineBuckets)) {
277
234
  const share = lineSum / sumPrices;
278
- const lineDiscount = Math.round(totalBundleDiscount * share * 100) / 100;
235
+ const lineDiscount = (0, utils_1.toTwoDecimal)(totalBundleDiscount * share);
279
236
  allocated += lineDiscount;
280
237
  logger.info("line items: " +
281
238
  {
@@ -302,10 +259,10 @@ exports.calculateDiscount = (0, workflows_sdk_1.createStep)("calculate-discount"
302
259
  }
303
260
  return new workflows_sdk_1.StepResponse({
304
261
  hasError: false,
305
- isApplied: true,
262
+ isApplied: totalDiscount > 0,
306
263
  discount: totalDiscount,
307
264
  adjustmentLineItems,
308
- message: "Coupon Applied Successfully",
265
+ message: totalDiscount > 0 ? "Coupon Applied Successfully" : "Coupon Not Applied",
309
266
  });
310
267
  });
311
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktY291cG9uLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FwcGx5LWNvdXBvbi9zdGVwcy9hcHBseS1jb3Vwb24tc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxxRUFBNkU7QUFFN0UsMkVBS29EO0FBRXBELGlEQUE4RDtBQTBCOUQsU0FBUyxrQkFBa0IsQ0FBQyxTQUFxQztJQUMvRCxPQUFPLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBMkIsRUFBRSxFQUFFO1FBQzVELE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0MsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxNQUFNLEVBQUUsNEJBQTRCLEdBQUcsQ0FBQyxFQUFFLEdBQ3hDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztRQUV6QixPQUFPLEdBQUcsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNwRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDO0FBRUQsU0FBUyw2QkFBNkIsQ0FDcEMsSUFlQyxFQUNELFNBR0M7SUFFRCxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFFM0QsSUFBSSx1QkFBdUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlDLElBQUksZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDN0IsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDaEUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENB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
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktY291cG9uLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FwcGx5LWNvdXBvbi9zdGVwcy9hcHBseS1jb3Vwb24tc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxxRUFBNkU7QUFFN0UsMkVBSW9EO0FBQ3BELGlEQUFxRDtBQTJCckQsU0FBUyxrQkFBa0IsQ0FBQyxTQUFxQztJQUMvRCxPQUFPLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBMkIsRUFBRSxFQUFFO1FBQzVELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDM0MsTUFBTSxFQUFFLDRCQUE0QixHQUFHLENBQUMsRUFBRSxHQUN4QyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7UUFFekIsT0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDcEQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQ3BDLElBZUMsRUFDRCxTQUdDO0lBRUQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLEdBQUcsU0FBUyxDQUFDO0lBRTNELElBQUksdUJBQXVCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5QyxJQUFJLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzdCLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2hFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENB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
@@ -5,13 +5,22 @@ const generateAdjustmentLineItem = (0, workflows_sdk_1.createStep)("generate-adj
5
5
  const cartService = container.resolve("cart");
6
6
  console.log("input", input);
7
7
  const adjustmentLineItems = await Promise.all(input.map(async (item) => {
8
- return await cartService.addLineItemAdjustments({
8
+ const adjustment = await cartService.addLineItemAdjustments({
9
9
  amount: item.amount,
10
10
  code: item.code,
11
11
  description: item.description,
12
12
  item_id: item.item_id,
13
13
  promotion_id: item.promotion_id,
14
14
  });
15
+ // we also need to update the free_quantity in the cart line item
16
+ const lineItem = await cartService.retrieveLineItem(item.item_id);
17
+ await cartService.updateLineItems(lineItem.id, {
18
+ metadata: {
19
+ ...lineItem.metadata,
20
+ ...(item?.free_quantity != undefined && item?.free_quantity != null && { free_quantity: item.free_quantity })
21
+ }
22
+ });
23
+ return adjustment;
15
24
  }));
16
25
  return new workflows_sdk_1.StepResponse(adjustmentLineItems, input.map((item) => item.item_id));
17
26
  }, async (input, { container }) => {
@@ -23,6 +32,13 @@ const generateAdjustmentLineItem = (0, workflows_sdk_1.createStep)("generate-adj
23
32
  filters: { item_id: { $in: input } },
24
33
  });
25
34
  await cartService.deleteLineItemAdjustments(cart_line_item_adjustment.map((item) => item.id));
35
+ await Promise.all(cart_line_item_adjustment.map(async (item) => {
36
+ const lineItem = await cartService.retrieveLineItem(item.item_id);
37
+ const { free_quantity, ...rest } = lineItem.metadata || {};
38
+ await cartService.updateLineItems(lineItem.id, {
39
+ metadata: { ...rest }
40
+ });
41
+ }));
26
42
  });
27
43
  exports.default = generateAdjustmentLineItem;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtYWRqdXN0bWVudC1saW5lLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FwcGx5LWNvdXBvbi9zdGVwcy9nZW5lcmF0ZS1hZGp1c3RtZW50LWxpbmUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFFQUE2RTtBQUc3RSxNQUFNLDBCQUEwQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsK0JBQStCLEVBQy9CLEtBQUssRUFDSCxLQU1HLEVBQ0gsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU5QyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUU1QixNQUFNLG1CQUFtQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDM0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdkIsT0FBTyxNQUFNLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztZQUM5QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUNyQixtQkFBbUIsRUFDbkIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNsQyxDQUFDO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzdCLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVELE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO0tBQ3JDLENBQUMsQ0FBQztJQUVILE1BQU0sV0FBVyxDQUFDLHlCQUF5QixDQUN6Qyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDakQsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDO0FBRUYsa0JBQWUsMEJBQTBCLENBQUMifQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtYWRqdXN0bWVudC1saW5lLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FwcGx5LWNvdXBvbi9zdGVwcy9nZW5lcmF0ZS1hZGp1c3RtZW50LWxpbmUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFFQUE2RTtBQUc3RSxNQUFNLDBCQUEwQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsK0JBQStCLEVBQy9CLEtBQUssRUFDSCxLQU9HLEVBQ0gsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU5QyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUU1QixNQUFNLG1CQUFtQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDM0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxVQUFVLEdBQUcsTUFBTSxXQUFXLENBQUMsc0JBQXNCLENBQUM7WUFDMUQsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUMsQ0FBQztRQUVILGtFQUFrRTtRQUNsRSxNQUFNLFFBQVEsR0FBRyxNQUFNLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEUsTUFBTSxXQUFXLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsUUFBUSxFQUFFO2dCQUNSLEdBQUcsUUFBUSxDQUFDLFFBQVE7Z0JBQ3BCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUUsYUFBYSxJQUFJLElBQUksSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDOUc7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUVwQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQ3JCLG1CQUFtQixFQUNuQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQ2xDLENBQUM7QUFDSixDQUFDLEVBQ0QsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDN0IsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDNUQsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDYixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7S0FDckMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxXQUFXLENBQUMseUJBQXlCLENBQ3pDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUNqRCxDQUFDO0lBRUYsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDN0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxFLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUUzRCxNQUFNLFdBQVcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUM3QyxRQUFRLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRTtTQUN0QixDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyxDQUNGLENBQUM7QUFFRixrQkFBZSwwQkFBMEIsQ0FBQyJ9
@@ -4,9 +4,12 @@ exports.autoApplyCouponStep = void 0;
4
4
  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
+ const remove_coupon_1 = require("../../remove-coupon");
7
8
  exports.autoApplyCouponStep = (0, workflows_sdk_1.createStep)("auto-apply-coupon", async (input, { container }) => {
8
- console.log("reached");
9
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));
10
13
  const { data: priceRules } = await query.graph({
11
14
  entity: "discount_price_rule",
12
15
  fields: ["*"],
@@ -43,6 +46,7 @@ exports.autoApplyCouponStep = (0, workflows_sdk_1.createStep)("auto-apply-coupon
43
46
  }));
44
47
  let currentDiscount = 0;
45
48
  let currentCode = "";
49
+ logger.debug("discounts: >>>>>>>>>> " + JSON.stringify(discounts, null, 2));
46
50
  discounts.forEach((discount) => {
47
51
  if (discount.status === "fulfilled") {
48
52
  if (currentDiscount > 0 && currentDiscount > discount.value.discount) {
@@ -52,41 +56,44 @@ exports.autoApplyCouponStep = (0, workflows_sdk_1.createStep)("auto-apply-coupon
52
56
  currentCode = discount.value.code || "";
53
57
  }
54
58
  });
55
- let moreCouponToTest = new Set();
59
+ const moreCouponToTest = [];
56
60
  const { data: [cart] } = await query.graph({
57
61
  entity: "cart",
58
62
  fields: ["*", "items.*", "items.adjustments.*"],
59
63
  filters: { id: { $eq: input.cart_id } },
60
64
  });
65
+ logger.debug("cart.items: " + JSON.stringify(cart.items, null, 2));
61
66
  for (const item of cart?.items) {
62
67
  for (const adjustmentLineItem of item.adjustments) {
63
- if (adjustmentLineItem.promotion_id) {
64
- moreCouponToTest.add({
65
- code: adjustmentLineItem.code,
66
- promotionId: adjustmentLineItem.promotion_id,
67
- });
68
- }
68
+ moreCouponToTest.push(adjustmentLineItem.code);
69
69
  }
70
70
  }
71
- for (const coupon of moreCouponToTest) {
71
+ logger.debug("moreCouponToTest: " + JSON.stringify(Array.from(new Set(moreCouponToTest)), null, 2));
72
+ for (const coupon of Array.from(new Set(moreCouponToTest))) {
72
73
  const { result: { discount }, } = await (0, calculate_coupon_discount_1.calculateCouponDiscountWorkflow)(container).run({
73
74
  input: {
74
75
  cart_id: input.cart_id,
75
- code: coupon.code,
76
+ code: coupon,
76
77
  customerId: input.customerId,
77
78
  },
78
79
  throwOnError: false
79
80
  });
80
81
  if (discount > currentDiscount) {
81
82
  currentDiscount = discount;
82
- currentCode = coupon.code || "";
83
+ currentCode = coupon || "";
83
84
  }
84
85
  }
85
- if (currentCode) {
86
+ if (!currentCode || !currentDiscount) {
87
+ await (0, remove_coupon_1.removeCouponWorkflow)(container).run({
88
+ input: { cart_id: input.cart_id, }
89
+ });
90
+ }
91
+ else if (currentCode) {
86
92
  const { result } = await (0, apply_coupon_1.applyCouponWorkflow)(container).run({
87
93
  input: {
88
94
  code: currentCode,
89
95
  cart_id: input.cart_id,
96
+ customerId: input.customerId,
90
97
  },
91
98
  });
92
99
  if (!result) {
@@ -108,4 +115,4 @@ exports.autoApplyCouponStep = (0, workflows_sdk_1.createStep)("auto-apply-coupon
108
115
  isApplied: false,
109
116
  });
110
117
  });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1hcHBseS1jb3Vwb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2F1dG8tYXBwbHktY291cG9uL3N0ZXBzL2F1dG8tYXBwbHktY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxxREFBeUQ7QUFDekQsK0VBQWtGO0FBRXJFLFFBQUEsbUJBQW1CLEdBQUcsSUFBQSwwQkFBVSxFQUMzQyxtQkFBbUIsRUFDbkIsS0FBSyxFQUFFLEtBQTJELEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ25GLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM3QyxNQUFNLEVBQUUscUJBQXFCO1FBQzdCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7S0FDOUIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxTQUFTLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUN4QyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRTtRQUNqQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNO1lBQUUsSUFBSSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUM7YUFDakQsQ0FBQztZQUNKLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUN4QyxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsTUFBTSxFQUFF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
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1hcHBseS1jb3Vwb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2F1dG8tYXBwbHktY291cG9uL3N0ZXBzL2F1dG8tYXBwbHktY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxxREFBeUQ7QUFDekQsK0VBQWtGO0FBQ2xGLHVEQUEyRDtBQUU5QyxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsbUJBQW1CLEVBQ25CLEtBQUssRUFBRSxLQUErQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2RSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsQ0FBQztJQUVyRCxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTVFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzdDLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTtLQUM5QixDQUFDLENBQUM7SUFFSCxNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQ3hDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1FBQ2pDLElBQUksSUFB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
@@ -4,7 +4,9 @@ exports.removeCouponStep = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
5
  exports.removeCouponStep = (0, workflows_sdk_1.createStep)("remove-coupon", async (input, { container }) => {
6
6
  const query = container.resolve("query");
7
+ const logger = container.resolve("logger");
7
8
  const cartService = container.resolve("cart");
9
+ const discountService = container.resolve("discount");
8
10
  const { data: cart_line_item_adjustment } = await query.graph({
9
11
  entity: "line_item_adjustment",
10
12
  fields: ["*"],
@@ -15,12 +17,31 @@ exports.removeCouponStep = (0, workflows_sdk_1.createStep)("remove-coupon", asyn
15
17
  ],
16
18
  },
17
19
  });
18
- await cartService.deleteLineItemAdjustments(cart_line_item_adjustment.map((item) => item.id));
19
- return new workflows_sdk_1.StepResponse(true, {
20
- prevData: cart_line_item_adjustment,
21
- });
20
+ logger.debug("removeCouponStep[cart_line_item_adjustment]" + JSON.stringify(cart_line_item_adjustment, null, 2));
21
+ // we need to handle two things here
22
+ // 1. remove only those adjustments which are in price rule and not others
23
+ // 2. remove free_quantity from the cart line item metadata
24
+ const adjustmentsOfPriceRules = (await Promise.all(cart_line_item_adjustment.map(async (item) => {
25
+ const priceRule = await discountService.retrieveDiscountPriceRule(item.promotion_id).catch(() => null);
26
+ return priceRule?.id ? item : null;
27
+ }))).filter((item) => item?.item_id);
28
+ logger.debug("removeCouponStep[adjustmentsOfPriceRules]" + JSON.stringify(adjustmentsOfPriceRules, null, 2));
29
+ // delete those cart line item adjustments only
30
+ await cartService.deleteLineItemAdjustments(adjustmentsOfPriceRules.map((item) => item.id));
31
+ const lineItemsFreeQuantities = await Promise.all(adjustmentsOfPriceRules.map(async (item) => {
32
+ const lineItem = await cartService.retrieveLineItem(item.item_id);
33
+ const { free_quantity, ...rest } = lineItem.metadata || {};
34
+ logger.debug("removeCouponStep[lineItem]" + JSON.stringify(lineItem, null, 2));
35
+ logger.debug("removeCouponStep[free_quantity]" + JSON.stringify(free_quantity, null, 2));
36
+ logger.debug("removeCouponStep[rest]" + JSON.stringify(rest, null, 2));
37
+ await cartService.updateLineItems(lineItem.id, { metadata: { ...rest } });
38
+ return { id: lineItem.id, free_quantity };
39
+ }));
40
+ return new workflows_sdk_1.StepResponse(true, { prevData: adjustmentsOfPriceRules, previousFreeQuantities: lineItemsFreeQuantities });
22
41
  }, async (input, { container }) => {
23
42
  const cartService = container.resolve("cart");
43
+ const logger = container.resolve("logger");
44
+ logger.debug("removeCouponStep reverting [input.prevData]" + JSON.stringify(input.prevData, null, 2));
24
45
  await cartService.addLineItemAdjustments(input.prevData.map((item) => ({
25
46
  amount: item.amount,
26
47
  code: item.code,
@@ -28,5 +49,18 @@ exports.removeCouponStep = (0, workflows_sdk_1.createStep)("remove-coupon", asyn
28
49
  item_id: item.item_id,
29
50
  promotion_id: item.promotion_id,
30
51
  })));
52
+ await Promise.all(input.previousFreeQuantities.map(async (item) => {
53
+ const lineItem = await cartService.retrieveLineItem(item.id);
54
+ logger.debug("removeCouponStep reverting [updateLineItems]" + JSON.stringify({
55
+ ...lineItem.metadata,
56
+ ...(item.free_quantity != undefined && item.free_quantity != null && { free_quantity: item.free_quantity })
57
+ }, null, 2));
58
+ await cartService.updateLineItems(lineItem.id, {
59
+ metadata: {
60
+ ...lineItem.metadata,
61
+ ...(item.free_quantity != undefined && item.free_quantity != null && { free_quantity: item.free_quantity })
62
+ }
63
+ });
64
+ }));
31
65
  });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvdXBvbi1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kaXNjb3VudC9yZW1vdmUtY291cG9uL3N0ZXAvcmVtb3ZlLWNvdXBvbi1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUE2RTtBQUVoRSxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDeEMsZUFBZSxFQUNmLEtBQUssRUFDSCxLQUdDLEVBQ0QsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTlDLE1BQU0sRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDNUQsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDYixPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUU7Z0JBQ0osRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUM5QztTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxXQUFXLENBQUMseUJBQXlCLENBQ3pDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUNqRCxDQUFDO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFO1FBQzVCLFFBQVEsRUFBRSx5QkFBeUI7S0FDcEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxFQUNELEtBQUssRUFBRSxLQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2xDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFOUMsTUFBTSxXQUFXLENBQUMsc0JBQXNCLENBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtRQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7UUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtLQUNoQyxDQUFDLENBQUMsQ0FDSixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvdXBvbi1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kaXNjb3VudC9yZW1vdmUtY291cG9uL3N0ZXAvcmVtb3ZlLWNvdXBvbi1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUE2RTtBQUdoRSxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDeEMsZUFBZSxFQUNmLEtBQUssRUFDSCxLQUdDLEVBQ0QsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsTUFBTSxlQUFlLEdBQW9CLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFdkUsTUFBTSxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1RCxNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRTtnQkFDSixFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM3RCxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFD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
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.acquireLockStep = exports.acquireLockStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const promises_1 = require("timers/promises");
7
+ exports.acquireLockStepId = "acquire-lock-step";
8
+ /**
9
+ * This step acquires a lock for a given key.
10
+ *
11
+ * @example
12
+ * const data = acquireLockStep({
13
+ * "key": "my-lock-key",
14
+ * "ttl": 60
15
+ * })
16
+ */
17
+ exports.acquireLockStep = (0, workflows_sdk_1.createStep)(exports.acquireLockStepId, async (data, { container }) => {
18
+ const keys = Array.isArray(data.key)
19
+ ? data.key
20
+ : (0, utils_1.isDefined)(data.key)
21
+ ? [data.key]
22
+ : [];
23
+ if (!keys.length) {
24
+ return new workflows_sdk_1.StepResponse(void 0);
25
+ }
26
+ const locking = container.resolve(utils_1.Modules.LOCKING);
27
+ const retryInterval = data.retryInterval ?? 0.3;
28
+ const tryUntil = Date.now() + (data.timeout ?? 0) * 1000;
29
+ while (true) {
30
+ try {
31
+ await locking.acquire(data.key, {
32
+ expire: data.ttl,
33
+ ownerId: data.ownerId,
34
+ provider: data.provider,
35
+ });
36
+ break;
37
+ }
38
+ catch (e) {
39
+ if (Date.now() >= tryUntil) {
40
+ throw e;
41
+ }
42
+ }
43
+ await (0, promises_1.setTimeout)(retryInterval * 1000);
44
+ }
45
+ return new workflows_sdk_1.StepResponse(void 0, {
46
+ keys,
47
+ ownerId: data.ownerId,
48
+ provider: data.provider,
49
+ });
50
+ }, async (data, { container }) => {
51
+ if (!data?.keys?.length) {
52
+ return;
53
+ }
54
+ const locking = container.resolve(utils_1.Modules.LOCKING);
55
+ await locking.release(data.keys, {
56
+ ownerId: data.ownerId,
57
+ provider: data.provider,
58
+ });
59
+ return new workflows_sdk_1.StepResponse();
60
+ });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNxdWlyZS1sb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9sb2NraW5nL2FjcXVpcmUtbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBOEQ7QUFDOUQscUVBQTRFO0FBQzVFLDhDQUE0QztBQWMvQixRQUFBLGlCQUFpQixHQUFHLG1CQUFtQixDQUFBO0FBQ3BEOzs7Ozs7OztHQVFHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsSUFBQSwwQkFBVSxFQUN2Qyx5QkFBaUIsRUFDakIsS0FBSyxFQUFFLElBQTBCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2xELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUc7UUFDVixDQUFDLENBQUMsSUFBQSxpQkFBUyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNaLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRWxELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFBO0lBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFBO0lBRXhELE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUM7WUFDSCxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QixDQUFDLENBQUE7WUFDRixNQUFLO1FBQ1AsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxDQUFDLENBQUE7WUFDVCxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sSUFBQSxxQkFBVSxFQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUIsSUFBSTtRQUNKLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7S0FDeEIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzVCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFbEQsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3JCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtLQUN4QixDQUFDLENBQUE7SUFFRixPQUFPLElBQUksNEJBQVksRUFBRSxDQUFBO0FBQzNCLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./acquire-lock"), exports);
18
+ __exportStar(require("./release-lock"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2xvY2tpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUE4QjtBQUM5QixpREFBOEIifQ==
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.releaseLockStep = exports.releaseLockStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ exports.releaseLockStepId = "release-lock-step";
7
+ /**
8
+ * This step releases a lock for a given key.
9
+ *
10
+ * @example
11
+ * const data = releaseLockStep({
12
+ * "key": "my-lock-key"
13
+ * })
14
+ */
15
+ exports.releaseLockStep = (0, workflows_sdk_1.createStep)(exports.releaseLockStepId, async (data, { container }) => {
16
+ const keys = Array.isArray(data.key)
17
+ ? data.key
18
+ : (0, utils_1.isDefined)(data.key)
19
+ ? [data.key]
20
+ : [];
21
+ if (!keys.length) {
22
+ return new workflows_sdk_1.StepResponse(true);
23
+ }
24
+ const locking = container.resolve(utils_1.Modules.LOCKING);
25
+ const released = await locking.release(keys, {
26
+ ownerId: data.ownerId,
27
+ provider: data.provider,
28
+ });
29
+ return new workflows_sdk_1.StepResponse(released);
30
+ });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS1sb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9sb2NraW5nL3JlbGVhc2UtbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBOEQ7QUFDOUQscUVBQTRFO0FBVy9ELFFBQUEsaUJBQWlCLEdBQUcsbUJBQW1CLENBQUE7QUFDcEQ7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsZUFBZSxHQUFHLElBQUEsMEJBQVUsRUFDdkMseUJBQWlCLEVBQ2pCLEtBQUssRUFBRSxJQUEwQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNsRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHO1FBQ1YsQ0FBQyxDQUFDLElBQUEsaUJBQVMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDWixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRU4sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQixPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtRQUMzQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO0tBQ3hCLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ25DLENBQUMsQ0FDRixDQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devx-commerce/plugin-discounts-svaraa",
3
- "version": "0.0.1",
3
+ "version": "0.0.2-beta.0",
4
4
  "description": "Plugin for discounts for Svaraa.",
5
5
  "author": "devx-commerce (https://devxcommerce.com)",
6
6
  "license": "MIT",