@devx-commerce/plugin-discounts-svaraa 0.0.2-beta.2 → 0.0.2-beta.21

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 (55) hide show
  1. package/.medusa/server/src/api/admin/discounts/validators.js +16 -1
  2. package/.medusa/server/src/api/middlewares.js +4 -1
  3. package/.medusa/server/src/api/pos/discounts/apply/route.js +151 -0
  4. package/.medusa/server/src/api/pos/discounts/apply-freebie/route.js +20 -0
  5. package/.medusa/server/src/api/pos/discounts/auto-apply/route.js +188 -0
  6. package/.medusa/server/src/api/pos/discounts/cart-eligible-coupons/[cart_id]/route.js +39 -0
  7. package/.medusa/server/src/api/pos/discounts/coupons/[id]/route.js +25 -0
  8. package/.medusa/server/src/api/pos/discounts/middlewares.js +99 -0
  9. package/.medusa/server/src/api/pos/discounts/offers-on-product/[variant_id]/route.js +19 -0
  10. package/.medusa/server/src/api/pos/discounts/price-rules/route.js +89 -0
  11. package/.medusa/server/src/api/pos/discounts/price-rules-list/route.js +54 -0
  12. package/.medusa/server/src/api/pos/discounts/remove/route.js +41 -0
  13. package/.medusa/server/src/api/pos/discounts/remove-store-discount/route.js +54 -0
  14. package/.medusa/server/src/api/pos/discounts/validators.js +358 -0
  15. package/.medusa/server/src/api/pos/discounts/verify-store-discount/route.js +394 -0
  16. package/.medusa/server/src/api/store/discounts/apply/route.js +126 -8
  17. package/.medusa/server/src/api/store/discounts/auto-apply/route.js +143 -80
  18. package/.medusa/server/src/api/store/discounts/cart-eligible-coupons/[cart_id]/route.js +23 -3
  19. package/.medusa/server/src/api/store/discounts/price-rules/route.js +65 -2
  20. package/.medusa/server/src/api/store/discounts/remove/route.js +23 -3
  21. package/.medusa/server/src/index.js +2 -1
  22. package/.medusa/server/src/lib/constant.js +126 -0
  23. package/.medusa/server/src/lib/helper.js +68 -0
  24. package/.medusa/server/src/lib/redis-utils.js +33 -0
  25. package/.medusa/server/src/lib/send-otp-helper.js +37 -0
  26. package/.medusa/server/src/lib/utils.js +11 -2
  27. package/.medusa/server/src/modules/discounts/migrations/Migration20250822052209.js +14 -0
  28. package/.medusa/server/src/modules/discounts/migrations/Migration20250825073038.js +14 -0
  29. package/.medusa/server/src/modules/discounts/migrations/Migration20250901083847.js +14 -0
  30. package/.medusa/server/src/modules/discounts/migrations/Migration20250918095658.js +14 -0
  31. package/.medusa/server/src/modules/discounts/models/price-rule.js +13 -1
  32. package/.medusa/server/src/modules/discounts/service.js +9 -7
  33. package/.medusa/server/src/subscribers/index.js +18 -0
  34. package/.medusa/server/src/subscribers/promocode-subscriber.js +77 -0
  35. package/.medusa/server/src/workflows/discount/add-more-code-in-price-rule/index.js +3 -3
  36. package/.medusa/server/src/workflows/discount/apply-coupon/index.js +36 -26
  37. package/.medusa/server/src/workflows/discount/apply-coupon/steps/apply-coupon-step.js +25 -187
  38. package/.medusa/server/src/workflows/discount/apply-coupon/steps/generate-adjustment-line-item.js +27 -9
  39. package/.medusa/server/src/workflows/discount/apply-coupon/steps/validate-coupon-step.js +3 -5
  40. package/.medusa/server/src/workflows/discount/auto-apply-coupon/steps/auto-apply-coupon.js +157 -87
  41. package/.medusa/server/src/workflows/discount/calculate-coupon-discount/index.js +36 -32
  42. package/.medusa/server/src/workflows/discount/calculate-coupon-discount/step/fetch-price-rule-by-code.js +36 -0
  43. package/.medusa/server/src/workflows/discount/create-discount-price-rule/steps/create-discount-price-rule-step.js +2 -2
  44. package/.medusa/server/src/workflows/discount/create-subscriber-to-discount-price-rule.js +10 -0
  45. package/.medusa/server/src/workflows/discount/get-cart-eligible-coupons/index.js +2 -1
  46. package/.medusa/server/src/workflows/discount/get-cart-eligible-coupons/step/get-cart-eligible-coupon.js +33 -10
  47. package/.medusa/server/src/workflows/discount/index.js +5 -1
  48. package/.medusa/server/src/workflows/discount/remove-coupon/index.js +22 -2
  49. package/.medusa/server/src/workflows/discount/remove-coupon/step/remove-coupon-step.js +45 -26
  50. package/.medusa/server/src/workflows/discount/rounded-cart-total/index.js +13 -0
  51. package/.medusa/server/src/workflows/discount/steps/rounded-cart-total.js +168 -0
  52. package/.medusa/server/src/workflows/discount/update-coupon-code-stats/index.js +12 -0
  53. package/.medusa/server/src/workflows/discount/update-coupon-code-stats/step/update-coupon-code-stats.js +52 -0
  54. package/.medusa/server/src/workflows/discount/update-discount-price-rule/index.js +1 -3
  55. package/package.json +4 -2
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapPromoToDiscountRule = mapPromoToDiscountRule;
4
+ function mapPromoToDiscountRule(promo, mappingIds = [], makeTypes = [], stockTypes = [], styleCodes = [], count = 0, code = "") {
5
+ const prefix = code?.toUpperCase().includes("BIRTH")
6
+ ? "BIRTH"
7
+ : code?.toUpperCase().includes("ANN")
8
+ ? "ANN"
9
+ : undefined;
10
+ return {
11
+ title: promo?.title || "",
12
+ description: promo?.promocode_description || "",
13
+ type: promo?.per_amt_on ? "FIXED" : "PERCENTAGE",
14
+ starts_at: new Date(promo.from_date).toISOString(),
15
+ ends_at: new Date(promo.to_date).toISOString(),
16
+ entry_date: new Date(promo.entry_date).toISOString(),
17
+ get_percent: promo?.per_amt_on ? undefined : promo?.per_amt_value ?? undefined,
18
+ get_flat_discount: promo?.per_amt_on ? promo?.per_amt_value : undefined,
19
+ code: "",
20
+ min_order_value: promo?.min_transaction_value ?? undefined,
21
+ min_order_qty: undefined,
22
+ max_discount: promo?.per_amt_on ? promo?.max_per_amt_value : 0,
23
+ usage_limit_per_customer_type: promo?.promocode_type_id == 0
24
+ ? "UNLIMITED"
25
+ : promo?.promocode_type_id == 1 ? "SPECIFIC" : promo?.promocode_type_id == 2
26
+ ? "ONLY_ONCE"
27
+ : "UNLIMITED",
28
+ usage_limit_per_customer_specific: promo?.promocode_type_id == 1 ? 1 : undefined,
29
+ usage_limit: promo?.promocode_type_id == 0
30
+ ? "UNLIMITED"
31
+ : promo?.promocode_type_id == 1 ? "SPECIFIC" : promo?.promocode_type_id == 2
32
+ ? "ONLY_ONCE"
33
+ : "UNLIMITED",
34
+ usage_limit_specific: promo?.promocode_type_id == 1 ? 1 : undefined,
35
+ usage_limit_per_cart_type: "ONLY_ONCE",
36
+ usage_limit_per_cart_specific: undefined,
37
+ status: new Date(promo?.to_date) < new Date()
38
+ ? "EXPIRED"
39
+ : new Date(promo?.from_date) > new Date()
40
+ ? "SCHEDULED"
41
+ : "ACTIVE",
42
+ promocode_type_id: promo?.promocode_type_id,
43
+ is_all_branch: promo?.is_all_branch ?? false,
44
+ is_category: promo?.is_category ?? false,
45
+ is_make_type: promo?.is_make_type ?? false,
46
+ is_style: promo?.is_style ?? false,
47
+ is_stock_type: promo?.is_stock_type ?? false,
48
+ is_birthday: !!(code?.toUpperCase().includes("BIRTH")),
49
+ is_anniversary: !!(code?.toUpperCase().includes("ANN")),
50
+ assign_branch_nos: promo?.assign_branch_nos ?? undefined,
51
+ visibility: true,
52
+ only_for_new_customer: false,
53
+ auto_apply: true,
54
+ applicable_on_bundle: false,
55
+ applies_on_components: undefined,
56
+ applies_on: "MRP",
57
+ applicable_category_ids: promo?.is_category ? mappingIds : [],
58
+ applicable_make_types: promo?.is_make_type ? makeTypes : [],
59
+ applicable_styles: promo?.is_style ? styleCodes : [],
60
+ applicable_stock_types: promo?.is_stock_type ? stockTypes : [],
61
+ buy_x: undefined,
62
+ get_y: undefined,
63
+ at_y: undefined,
64
+ prefix: undefined,
65
+ code_count: count,
66
+ };
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUErQ0Esd0RBMEVDO0FBMUVELFNBQWdCLHNCQUFzQixDQUNwQyxLQUFVLEVBQ1YsYUFBdUIsRUFBRSxFQUN6QixZQUFzQixFQUFFLEVBQ3hCLGFBQXVCLEVBQUUsRUFDekIsYUFBdUIsRUFBRSxFQUN6QixRQUFlLENBQUMsRUFDaEIsT0FBYyxFQUFFO0lBRWhCLE1BQU0sTUFBTSxHQUFzQixJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNuRSxDQUFDLENBQUMsT0FBTztRQUNULENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNuQyxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbEIsT0FBTztRQUNMLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekIsV0FBVyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsSUFBSSxFQUFFO1FBQy9DLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVk7UUFDaEQsU0FBUyxFQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUU7UUFDakQsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUU7UUFDOUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUU7UUFDcEQsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLGFBQWEsSUFB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
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CACHE_VALIDATION_TIMES = exports.buildRedisKey = void 0;
4
+ const buildRedisKey = (prefix, data) => {
5
+ const normalize = (obj) => {
6
+ if (obj === null || obj === undefined)
7
+ return String(obj);
8
+ if (typeof obj === "string" ||
9
+ typeof obj === "number" ||
10
+ typeof obj === "boolean")
11
+ return String(obj);
12
+ if (Array.isArray(obj)) {
13
+ return "[" + obj.map(normalize).join(",") + "]";
14
+ }
15
+ if (typeof obj === "object") {
16
+ const sortedKeys = Object.keys(obj).sort(); // sort for deterministic order
17
+ return ("{" +
18
+ sortedKeys.map((key) => `${key}:${normalize(obj[key])}`).join(",") +
19
+ "}");
20
+ }
21
+ throw new Error("Unsupported type in Redis key builder");
22
+ };
23
+ return `${prefix}:${normalize(data)}`;
24
+ };
25
+ exports.buildRedisKey = buildRedisKey;
26
+ exports.CACHE_VALIDATION_TIMES = {
27
+ PRICE_RULE: 600,
28
+ DISCOUNT_CODE: 3,
29
+ FREEBIE_RULE: 30,
30
+ ORDER: 30,
31
+ NON_NEGATIVE_ADJUSTMENT_LINE_ITEMS: 15,
32
+ };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JlZGlzLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFPLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFFLElBQVMsRUFBVSxFQUFFO0lBQ2pFLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBUSxFQUFVLEVBQUU7UUFDckMsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsSUFDRSxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQ3ZCLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFDdkIsT0FBTyxHQUFHLEtBQUssU0FBUztZQUV4QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLCtCQUErQjtZQUMzRSxPQUFPLENBQ0wsR0FBRztnQkFDSCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ2xFLEdBQUcsQ0FDSixDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUM7SUFFRixPQUFPLEdBQUcsTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ3hDLENBQUMsQ0FBQztBQXhCVyxRQUFBLGFBQWEsaUJBd0J4QjtBQUVXLFFBQUEsc0JBQXNCLEdBQUc7SUFDcEMsVUFBVSxFQUFFLEdBQUc7SUFDZixhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsRUFBRTtJQUNoQixLQUFLLEVBQUUsRUFBRTtJQUNULGtDQUFrQyxFQUFFLEVBQUU7Q0FDdkMsQ0FBQyJ9
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendOtpViaSNS = sendOtpViaSNS;
4
+ const client_sns_1 = require("@aws-sdk/client-sns");
5
+ async function sendOtpViaSNS(phone, code, options, logger) {
6
+ if (!options.snsOptions) {
7
+ logger.error("SNS options are required to send OTP");
8
+ return false;
9
+ }
10
+ logger.info("Sending SMS via SNS");
11
+ const { region, accessKeyId, secretAccessKey, template } = options.snsOptions;
12
+ // Validate required SNS options
13
+ if (!region || !accessKeyId || !secretAccessKey || !template) {
14
+ logger.error("Missing required SNS configuration options");
15
+ return false;
16
+ }
17
+ const message = template.replaceAll("{passCode}", code);
18
+ const client = new client_sns_1.SNSClient({
19
+ region,
20
+ credentials: { accessKeyId, secretAccessKey },
21
+ });
22
+ try {
23
+ const command = new client_sns_1.PublishCommand({
24
+ Message: message,
25
+ PhoneNumber: phone,
26
+ });
27
+ console.log(`Sending SMS via SNS command: ${JSON.stringify(command)}`);
28
+ await client.send(command);
29
+ logger.info(`SMS sent successfully to ${phone}`);
30
+ return true;
31
+ }
32
+ catch (error) {
33
+ logger.error("Error sending SMS via SNS: ", error);
34
+ return false;
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1vdHAtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZW5kLW90cC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxzQ0F3Q0M7QUE1Q0Qsb0RBQWdFO0FBSXpELEtBQUssVUFBVSxhQUFhLENBQ2pDLEtBQWEsRUFDYixJQUFZLEVBQ1osT0FBWSxFQUNaLE1BQWM7SUFFZCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUNyRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDbkMsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFFOUUsZ0NBQWdDO0lBQ2hDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3RCxNQUFNLENBQUMsS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDM0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxzQkFBUyxDQUFDO1FBQzNCLE1BQU07UUFDTixXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFO0tBQzlDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLElBQUksMkJBQWMsQ0FBQztZQUNqQyxPQUFPLEVBQUUsT0FBTztZQUNoQixXQUFXLEVBQUUsS0FBSztTQUNuQixDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RSxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDIn0=
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toMajor = exports.toMinor = exports.toTwoDecimal = exports.ProductType = void 0;
3
+ exports.getISTMonthDay = exports.toMajor = exports.toMinor = exports.toTwoDecimal = exports.ProductType = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.ProductType = zod_1.z.enum(["SINGLE", "FREEBIE", "BYOB", "COMBO"]);
6
6
  const toTwoDecimal = (value) => {
@@ -11,4 +11,13 @@ const toMinor = (n) => Math.round(n * 100);
11
11
  exports.toMinor = toMinor;
12
12
  const toMajor = (n) => (0, exports.toTwoDecimal)(n / 100);
13
13
  exports.toMajor = toMajor;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUVYLFFBQUEsV0FBVyxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBR25FLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDNUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUZXLFFBQUEsWUFBWSxnQkFFdkI7QUFFSyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFBN0MsUUFBQSxPQUFPLFdBQXNDO0FBQ25ELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFBLG9CQUFZLEVBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQS9DLFFBQUEsT0FBTyxXQUF3QyJ9
14
+ const getISTMonthDay = (date) => {
15
+ const d = new Date(date);
16
+ return d.toLocaleDateString("en-CA", {
17
+ timeZone: "Asia/Kolkata",
18
+ month: "2-digit",
19
+ day: "2-digit",
20
+ }); // "MM-DD"
21
+ };
22
+ exports.getISTMonthDay = getISTMonthDay;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUVYLFFBQUEsV0FBVyxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBR25FLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDNUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUZXLFFBQUEsWUFBWSxnQkFFdkI7QUFFSyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFBN0MsUUFBQSxPQUFPLFdBQXNDO0FBQ25ELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFBLG9CQUFZLEVBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQS9DLFFBQUEsT0FBTyxXQUF3QztBQUdyRCxNQUFPLGNBQWMsR0FBRyxDQUFDLElBQW1CLEVBQUMsRUFBRTtJQUNwRCxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixPQUFPLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7UUFDbkMsUUFBUSxFQUFFLGNBQWM7UUFDeEIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsR0FBRyxFQUFFLFNBQVM7S0FDZixDQUFDLENBQUMsQ0FBQyxVQUFVO0FBQ2hCLENBQUMsQ0FBQTtBQVBhLFFBQUEsY0FBYyxrQkFPM0IifQ==
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20250822052209 = void 0;
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
+ class Migration20250822052209 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`alter table if exists "discount_price_rule" add column if not exists "promocode_type_id" integer not null, add column if not exists "is_all_branch" boolean not null, add column if not exists "assign_branch_nos" text null, add column if not exists "thumbnail" text null;`);
8
+ }
9
+ async down() {
10
+ this.addSql(`alter table if exists "discount_price_rule" drop column if exists "promocode_type_id", drop column if exists "is_all_branch", drop column if exists "assign_branch_nos", drop column if exists "thumbnail";`);
11
+ }
12
+ }
13
+ exports.Migration20250822052209 = Migration20250822052209;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA4MjIwNTIyMDkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDgyMjA1MjIwOS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsK1FBQStRLENBQUMsQ0FBQztJQUMvUixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2TUFBNk0sQ0FBQyxDQUFDO0lBQzdOLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20250825073038 = void 0;
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
+ class Migration20250825073038 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`alter table if exists "discount_price_rule" add column if not exists "term_and_conditions" text null;`);
8
+ }
9
+ async down() {
10
+ this.addSql(`alter table if exists "discount_price_rule" drop column if exists "term_and_conditions";`);
11
+ }
12
+ }
13
+ exports.Migration20250825073038 = Migration20250825073038;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA4MjUwNzMwMzguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDgyNTA3MzAzOC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsdUdBQXVHLENBQUMsQ0FBQztJQUN2SCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQywwRkFBMEYsQ0FBQyxDQUFDO0lBQzFHLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20250901083847 = void 0;
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
+ class Migration20250901083847 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`alter table if exists "discount_price_rule" add column if not exists "is_category" boolean null, add column if not exists "is_make_type" boolean null, add column if not exists "is_style" boolean null, add column if not exists "is_stock_type" boolean null, add column if not exists "is_birthday" boolean null, add column if not exists "is_anniversary" boolean null;`);
8
+ }
9
+ async down() {
10
+ this.addSql(`alter table if exists "discount_price_rule" drop column if exists "is_category", drop column if exists "is_make_type", drop column if exists "is_style", drop column if exists "is_stock_type", drop column if exists "is_birthday", drop column if exists "is_anniversary";`);
11
+ }
12
+ }
13
+ exports.Migration20250901083847 = Migration20250901083847;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA5MDEwODM4NDcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDkwMTA4Mzg0Ny50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOFdBQThXLENBQUMsQ0FBQztJQUM5WCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw4UUFBOFEsQ0FBQyxDQUFDO0lBQzlSLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20250918095658 = void 0;
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
+ class Migration20250918095658 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`alter table if exists "discount_price_rule" add column if not exists "entry_date" timestamptz not null;`);
8
+ }
9
+ async down() {
10
+ this.addSql(`alter table if exists "discount_price_rule" drop column if exists "entry_date";`);
11
+ }
12
+ }
13
+ exports.Migration20250918095658 = Migration20250918095658;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA5MTgwOTU2NTguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kaXNjb3VudHMvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDkxODA5NTY1OC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMseUdBQXlHLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpRkFBaUYsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
@@ -9,15 +9,27 @@ const DiscountPriceRule = utils_1.model.define("discount_price_rule", {
9
9
  id: utils_1.model.id().primaryKey(),
10
10
  title: utils_1.model.text().searchable().nullable(),
11
11
  description: utils_1.model.text().nullable(),
12
+ promocode_type_id: utils_1.model.number(),
12
13
  type: utils_1.model.enum(["FIXED", "PERCENTAGE", "BXGY", "BXAY"]),
13
14
  starts_at: utils_1.model.dateTime(),
14
15
  ends_at: utils_1.model.dateTime().nullable(),
16
+ entry_date: utils_1.model.dateTime(),
15
17
  status: utils_1.model.enum(["ACTIVE", "EXPIRED", "SCHEDULED", "DEACTIVATED"]),
16
18
  applies_on: utils_1.model.enum(["MRP", "PRICE"]), //MRP: extended cost, PRICE: medusa variant price / extended variant mrp
17
19
  applies_on_components: utils_1.model.enum(["MAKING_AMOUNT", "MAKING_RATE"]).nullable(),
18
20
  min_order_value: utils_1.model.float().nullable(),
19
21
  min_order_qty: utils_1.model.number().nullable(),
20
22
  max_discount: utils_1.model.float().nullable(),
23
+ is_all_branch: utils_1.model.boolean(),
24
+ is_category: utils_1.model.boolean().nullable(),
25
+ is_make_type: utils_1.model.boolean().nullable(),
26
+ is_style: utils_1.model.boolean().nullable(),
27
+ is_stock_type: utils_1.model.boolean().nullable(),
28
+ is_birthday: utils_1.model.boolean().nullable(),
29
+ is_anniversary: utils_1.model.boolean().nullable(),
30
+ assign_branch_nos: utils_1.model.text().nullable(),
31
+ thumbnail: utils_1.model.text().nullable(),
32
+ term_and_conditions: utils_1.model.text().nullable(),
21
33
  usage_limit_per_customer_type: utils_1.model.enum([
22
34
  "ONLY_ONCE",
23
35
  "UNLIMITED",
@@ -51,4 +63,4 @@ const DiscountPriceRule = utils_1.model.define("discount_price_rule", {
51
63
  }),
52
64
  });
53
65
  exports.default = DiscountPriceRule;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rpc2NvdW50cy9tb2RlbHMvcHJpY2UtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHFEQUFrRDtBQUVsRCxvRUFBMkM7QUFFM0MsTUFBTSxpQkFBaUIsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFO0lBQzVELEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLEtBQUssRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNDLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekQsU0FBUyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUU7SUFDM0IsT0FBTyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsTUFBTSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNyRSxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLHdFQUF3RTtJQUNsSCxxQkFBcUIsRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzlFLGVBQWUsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pDLGFBQWEsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLFlBQVksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLDZCQUE2QixFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUM7UUFDeEMsV0FBVztRQUNYLFdBQVc7UUFDWCxVQUFVO0tBQ1gsQ0FBQztJQUNGLGlDQUFpQyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUQsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQy9ELG9CQUFvQixFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0MseUJBQXlCLEVBQUUsYUFBSztTQUM3QixJQUFJLENBQUM7UUFDSiwwQ0FBMEM7UUFDMUMsV0FBVztRQUNYLFdBQVc7UUFDWCxVQUFVO0tBQ1gsQ0FBQztTQUNELFFBQVEsRUFBRTtJQUNiLDZCQUE2QixFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFeEQsV0FBVyxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDckMsaUJBQWlCLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUUzQyxVQUFVLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDMUMscUJBQXFCLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDckQsVUFBVSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzFDLG9CQUFvQixFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBRXBELEtBQUssRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLEtBQUssRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLElBQUksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBRTlCLE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLFVBQVUsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUVyQyxjQUFjLEVBQUUsYUFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBWSxFQUFFO1FBQ2hELFFBQVEsRUFBRSxZQUFZO0tBQ3ZCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxrQkFBZSxpQkFBaUIsQ0FBQyJ9
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rpc2NvdW50cy9tb2RlbHMvcHJpY2UtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHFEQUFrRDtBQUVsRCxvRUFBMkM7QUFFM0MsTUFBTSxpQkFBaUIsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFO0lBQzVELEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLEtBQUssRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNDLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDakMsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RCxTQUFTLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRTtJQUMzQixPQUFPLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyxVQUFVLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3JFLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsd0VBQXdFO0lBQ2xILHFCQUFxQixFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFD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
@@ -48,12 +48,13 @@ class DiscountService extends (0, utils_1.MedusaService)({
48
48
  return await Promise.all(priceRules.map(async (priceRule) => {
49
49
  if (priceRule.prefix)
50
50
  return priceRule;
51
- const [{ code }] = await this.listDiscountCodes({
51
+ const data = await this.listDiscountCodes({
52
52
  price_rule_id: priceRule.id,
53
- });
53
+ ...((priceRule.usage_limit_per_customer_type === "SPECIFIC" || priceRule.usage_limit_per_customer_type === "ONLY_ONCE") && { usage_count: 0 }),
54
+ }, { order: { created_at: "DESC" } });
54
55
  return {
55
56
  ...priceRule,
56
- discount_code: code,
57
+ discount_code: data?.[0]?.code || '',
57
58
  };
58
59
  }));
59
60
  }
@@ -64,12 +65,13 @@ class DiscountService extends (0, utils_1.MedusaService)({
64
65
  const updatedPriceRules = await Promise.all(priceRules.map(async (priceRule) => {
65
66
  if (priceRule.prefix)
66
67
  return priceRule;
67
- const [{ code }] = await this.listDiscountCodes({
68
+ const data = await this.listDiscountCodes({
68
69
  price_rule_id: priceRule.id,
69
- });
70
+ ...((priceRule.usage_limit_per_customer_type === "SPECIFIC" || priceRule.usage_limit_per_customer_type === "ONLY_ONCE") && { usage_count: 0 }),
71
+ }, { order: { created_at: "DESC" } });
70
72
  return {
71
73
  ...priceRule,
72
- discount_code: code,
74
+ discount_code: data?.[0]?.code || '',
73
75
  };
74
76
  }));
75
77
  return [updatedPriceRules, metadata];
@@ -95,4 +97,4 @@ __decorate([
95
97
  __metadata("design:returntype", Promise)
96
98
  ], DiscountService.prototype, "listAndCountDiscountPriceRules", null);
97
99
  exports.default = DiscountService;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rpc2NvdW50cy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EscURBSW1DO0FBR25DLDJFQUFrRDtBQUNsRCx5RUFBZ0Q7QUFDaEQscUVBQStFO0FBRS9FLE1BQU0sZUFBZ0IsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDMUMsaUJBQWlCLEVBQWpCLG9CQUFpQjtJQUNqQixZQUFZLEVBQVosdUJBQVk7SUFDWixXQUFXLEVBQVgsc0JBQVc7Q0FDWixDQUFDO0lBQ0E7Ozs7T0FJRztJQUVHLEFBQU4sS0FBSyxDQUFDLGtCQUFrQixDQUN0QixXQUFtQixFQUNuQixLQUFhLEVBQ0ksVUFBa0MsRUFBRTtRQUVyRCxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUUzQixnREFBZ0Q7UUFDaEQsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxDQUM5Qjs7OztPQUlDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYTtJQUNQLEFBQU4sS0FBSyxDQUFDLHNCQUFzQixDQUMxQixPQUFhLEVBQ2IsTUFBb0MsRUFDbkIsYUFBbUM7UUFFcEQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBRXZCLE1BQU0sVUFBVSxHQUFHLE1BQU0sS0FBSyxDQUFDLHNCQUFzQixDQUNuRCxPQUFPLEVBQ1AsTUFBTSxFQUNOLGFBQWEsQ0FDZCxDQUFDO1FBRUYsT0FBTyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3RCLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ2pDLElBQUksU0FBUyxDQUFDLE1BQU07Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFFdkMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO2FBQzVCLENBQUMsQ0FBQztZQUVILE9BQU87Z0JBQ0wsR0FBRyxTQUFTO2dCQUNaLGFBQWEsRUFBRSxJQUFJO2FBQ3BCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7SUFDUCxBQUFOLEtBQUssQ0FBQyw4QkFBOEIsQ0FDbEMsT0FBYSxFQUNiLE1BQW9DLEVBQ25CLGFBQW1DO1FBRXBELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUV2QixNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxHQUFHLE1BQU0sS0FBSyxDQUFDLDhCQUE4QixDQUN2RSxPQUFPLEVBQ1AsTUFBTSxFQUNOLGFBQWEsQ0FDZCxDQUFDO1FBRUYsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3pDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ2pDLElBQUksU0FBUyxDQUFDLE1BQU07Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFFdkMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO2FBQzVCLENBQUMsQ0FBQztZQUVILE9BQU87Z0JBQ0wsR0FBRyxTQUFTO2dCQUNaLGFBQWEsRUFBRSxJQUFJO2FBQ3BCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsT0FBTyxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQW5GTztJQURMLElBQUEscUJBQWEsR0FBRTtJQUliLFdBQUEsSUFBQSxxQkFBYSxHQUFFLENBQUE7Ozs7eURBaUJqQjtBQUdLO0lBR0gsV0FBQSxJQUFBLHFCQUFhLEdBQUUsQ0FBQTs7Ozs2REF3QmpCO0FBR0s7SUFHSCxXQUFBLElBQUEscUJBQWEsR0FBRSxDQUFBOzs7O3FFQTBCakI7QUFHSCxrQkFBZSxlQUFlLENBQUMifQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2Rpc2NvdW50cy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EscURBSW1DO0FBR25DLDJFQUFrRDtBQUNsRCx5RUFBZ0Q7QUFDaEQscUVBQStFO0FBRS9FLE1BQU0sZUFBZ0IsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDMUMsaUJBQWlCLEVBQWpCLG9CQUFpQjtJQUNqQixZQUFZLEVBQVosdUJBQVk7SUFDWixXQUFXLEVBQVgsc0JBQVc7Q0FDWixDQUFDO0lBQ0E7Ozs7T0FJRztJQUVHLEFBQU4sS0FBSyxDQUFDLGtCQUFrQixDQUN0QixXQUFtQixFQUNuQixLQUFhLEVBQ0ksVUFBa0MsRUFBRTtRQUVyRCxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUUzQixnREFBZ0Q7UUFDaEQsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxDQUM5Qjs7OztPQUlDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYTtJQUNQLEFBQU4sS0FBSyxDQUFDLHNCQUFzQixDQUMxQixPQUFhLEVBQ2IsTUFBb0MsRUFDbkIsYUFBbUM7UUFFcEQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBRXZCLE1BQU0sVUFBVSxHQUFHLE1BQU0sS0FBSyxDQUFDLHNCQUFzQixDQUNuRCxPQUFPLEVBQ1AsTUFBTSxFQUNOLGFBQWEsQ0FDZCxDQUFDO1FBRUYsT0FBTyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3RCLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ2pDLElBQUksU0FBUyxDQUFDLE1BQU07Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFFdkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3hDLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRTtnQkFDM0IsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLDZCQUE2QixLQUFLLFVBQVUsSUFBSSxTQUFTLENBQUMsNkJBQTZCLEtBQUssV0FBVyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDL0ksRUFBQyxFQUFDLEtBQUssRUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsRUFBQyxDQUFDLENBQUM7WUFFakMsT0FBTztnQkFDTCxHQUFHLFNBQVM7Z0JBQ1osYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFO2FBQ3JDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7SUFDUCxBQUFOLEtBQUssQ0FBQyw4QkFBOEIsQ0FDbEMsT0FBYSxFQUNiLE1BQW9DLEVBQ25CLGFBQW1DO1FBRXBELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUV2QixNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxHQUFHLE1BQU0sS0FBSyxDQUFDLDhCQUE4QixDQUN2RSxPQUFPLEVBQ1AsTUFBTSxFQUNOLGFBQWEsQ0FDZCxDQUFDO1FBRUYsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3pDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ2pDLElBQUksU0FBUyxDQUFDLE1BQU07Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFFdkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3hDLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRTtnQkFDM0IsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLDZCQUE2QixLQUFLLFVBQVUsSUFBSSxTQUFTLENBQUMsNkJBQTZCLEtBQUssV0FBVyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDL0ksRUFBQyxFQUFDLEtBQUssRUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsRUFBQyxDQUFDLENBQUM7WUFDakMsT0FBTztnQkFDTCxHQUFHLFNBQVM7Z0JBQ1osYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFO2FBQ3JDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsT0FBTyxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQXBGTztJQURMLElBQUEscUJBQWEsR0FBRTtJQUliLFdBQUEsSUFBQSxxQkFBYSxHQUFFLENBQUE7Ozs7eURBaUJqQjtBQUdLO0lBR0gsV0FBQSxJQUFBLHFCQUFhLEdBQUUsQ0FBQTs7Ozs2REF5QmpCO0FBR0s7SUFHSCxXQUFBLElBQUEscUJBQWEsR0FBRSxDQUFBOzs7O3FFQTBCakI7QUFHSCxrQkFBZSxlQUFlLENBQUMifQ==
@@ -0,0 +1,18 @@
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("./promocode-subscriber"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUF1QyJ9
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = promocodeMasterHandler;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ const helper_1 = require("../lib/helper");
7
+ const discounts_1 = require("../modules/discounts");
8
+ const create_subscriber_to_discount_price_rule_1 = require("../workflows/discount/create-subscriber-to-discount-price-rule");
9
+ async function promocodeMasterHandler({ event, container, }) {
10
+ const { operation, data } = event.data;
11
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
12
+ const discountService = container.resolve(discounts_1.DISCOUNT_MODULE);
13
+ switch (operation) {
14
+ case "create": {
15
+ await Promise.all(data.map(async (promo) => {
16
+ const { data: promoCodeSeries } = await query.graph({
17
+ entity: "promocode_series_master",
18
+ fields: ["id", "promocode", "promocode_master_id", "is_block", "promocode_series_id"],
19
+ filters: {
20
+ promocode_master_id: promo.id,
21
+ promocode_id: promo.promocode_id,
22
+ is_block: false
23
+ },
24
+ });
25
+ const { data: promoCodeCate } = await query.graph({
26
+ entity: "promocode_on",
27
+ fields: ["id", "grp_no", "make_type_code", "stock_type_code", "style_code"],
28
+ filters: {
29
+ promocode_master_id: promo.id,
30
+ promocode_id: promo.promocode_id,
31
+ },
32
+ });
33
+ const cateIds = [...new Set(promoCodeCate.map((cate) => Number(cate.grp_no)))];
34
+ const makeTypes = [...new Set(promoCodeCate.map((cate) => cate.make_type_code))];
35
+ const stockTypes = [...new Set(promoCodeCate.map((cate) => cate.stock_type_code))];
36
+ const styleCodes = [...new Set(promoCodeCate.map((cate) => cate.style_code))];
37
+ const { data: categoryData } = cateIds.length
38
+ ? await query.graph({
39
+ entity: "category_master",
40
+ fields: ["id", "mapping_id", "grp_no"],
41
+ filters: {
42
+ grp_no: { $in: cateIds },
43
+ },
44
+ })
45
+ : { data: [] };
46
+ const mappingIds = categoryData.map((cate) => cate.mapping_id);
47
+ if (new Date(promo.to_date) >= new Date()) {
48
+ const input = (0, helper_1.mapPromoToDiscountRule)(promo, mappingIds, makeTypes, stockTypes, styleCodes, promoCodeSeries?.length, promoCodeSeries?.[0].promocode);
49
+ const { result: discountPriceRule } = await (0, create_subscriber_to_discount_price_rule_1.createSubScriberToDiscountPriceRuleWorkflow)(container).run({
50
+ input,
51
+ throwOnError: true,
52
+ });
53
+ await Promise.all(promoCodeSeries.map(async (series) => {
54
+ await discountService.createDiscountCodes({ code: series?.promocode || "", price_rule_id: discountPriceRule.id });
55
+ }));
56
+ }
57
+ else {
58
+ throw new Error(`Promo code "${promo.promocode_description}" has expired.`);
59
+ }
60
+ console.log("✅ Promo codes created:", promo.promocode_description);
61
+ }));
62
+ break;
63
+ }
64
+ case "update":
65
+ console.log("✏️ Promocode updated:", data);
66
+ break;
67
+ case "delete":
68
+ console.log("🗑️ Promocode deleted:", data);
69
+ break;
70
+ default:
71
+ console.log("⚠️ Unknown operation:", operation, data);
72
+ }
73
+ }
74
+ exports.config = {
75
+ event: "promocode_master",
76
+ };
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW9jb2RlLXN1YnNjcmliZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcHJvbW9jb2RlLXN1YnNjcmliZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EseUNBK0VDO0FBdkZELHFEQUFzRTtBQUN0RSwwQ0FBdUQ7QUFFdkQsb0RBQXVEO0FBQ3ZELDZIQUV3RTtBQUV6RCxLQUFLLFVBQVUsc0JBQXNCLENBQUMsRUFDRSxLQUFLLEVBQ0wsU0FBUyxHQUN3QztJQUN0RyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUE7SUFDdEMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFrQiwyQkFBZSxDQUFDLENBQUM7SUFDNUUsUUFBUSxTQUFTLEVBQUUsQ0FBQztRQUNsQixLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFFZCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBRXZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO29CQUNsRCxNQUFNLEVBQUUseUJBQXlCO29CQUNqQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFDLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQztvQkFDcEYsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFO3dCQUM3QixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7d0JBQ2hDLFFBQVEsRUFBQyxLQUFLO3FCQUNmO2lCQUNGLENBQUMsQ0FBQztnQkFDSCxNQUFNLEVBQUUs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
@@ -9,8 +9,8 @@ const add_bulk_codes_to_rule_1 = require("../create-bulk-discount/steps/add-bulk
9
9
  exports.addMoreCodesToPriceRuleWorkflow = (0, workflows_sdk_1.createWorkflow)("add-more-codes-to-price-rule", (input) => {
10
10
  const validate = (0, workflows_sdk_1.createHook)("validate", { input });
11
11
  const { data: priceRules } = (0, core_flows_1.useQueryGraphStep)({
12
- entity: "discount_price_rule",
13
- fields: ["prefix", "id"],
12
+ entity: "form_responses",
13
+ fields: ["*", "id"],
14
14
  filters: { id: input.price_rule_id },
15
15
  options: { throwIfKeyNotFound: true },
16
16
  });
@@ -25,4 +25,4 @@ exports.addMoreCodesToPriceRuleWorkflow = (0, workflows_sdk_1.createWorkflow)("a
25
25
  });
26
26
  return new workflows_sdk_1.WorkflowResponse({ message: "Codes addition to price rule started" }, { hooks: [validate] });
27
27
  });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FkZC1tb3JlLWNvZGUtaW4tcHJpY2UtcnVsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBc0Q7QUFDdEQscUVBSzJDO0FBQzNDLDREQUFnRTtBQUdoRSxtRUFBOEQ7QUFDOUQsaUdBQThGO0FBRWpGLFFBQUEsK0JBQStCLEdBQUcsSUFBQSw4QkFBYyxFQUMzRCw4QkFBOEIsRUFDOUIsQ0FDRSxLQUVDLEVBQ0QsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUM3QyxNQUFNLEVBQUUscUJBQXFCO1FBQzdCLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7UUFDeEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUU7UUFDcEMsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFO0tBQ3RDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFDRiw0Q0FBNEMsRUFDNUMsVUFBVSxFQUNWLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUEsaUJBQVMsRUFBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FDcEQsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1YsSUFBQSxpQ0FBYyxFQUFDO1lBQ2IsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSwrQ0FBc0IsRUFBQztRQUNyQixXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDN0IsY0FBYyxFQUFFLEtBQUssQ0FBQyxLQUFLO0tBQzVCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FDekIsRUFBRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsRUFDbkQsRUFBRSxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQVUsRUFBRSxDQUMvQixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FkZC1tb3JlLWNvZGUtaW4tcHJpY2UtcnVsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBc0Q7QUFDdEQscUVBSzJDO0FBQzNDLDREQUFnRTtBQUdoRSxtRUFBOEQ7QUFDOUQsaUdBQThGO0FBRWpGLFFBQUEsK0JBQStCLEdBQUcsSUFBQSw4QkFBYyxFQUMzRCw4QkFBOEIsRUFDOUIsQ0FDRSxLQUVDLEVBQ0QsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO1FBQ3hCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBQyxJQUFJLENBQUM7UUFDbEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUU7UUFDcEMsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFO0tBQ3RDLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFDRiw0Q0FBNEMsRUFDNUMsVUFBVSxFQUNWLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUEsaUJBQVMsRUFBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FDcEQsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1YsSUFBQSxpQ0FBYyxFQUFDO1lBQ2IsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSwrQ0FBc0IsRUFBQztRQUNyQixXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDN0IsY0FBYyxFQUFFLEtBQUssQ0FBQyxLQUFLO0tBQzVCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FDekIsRUFBRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsRUFDbkQsRUFBRSxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQVUsRUFBRSxDQUMvQixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.applyCouponWorkflow = void 0;
7
7
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
8
- const core_flows_1 = require("@medusajs/medusa/core-flows");
9
8
  const locking_1 = require("../../locking");
10
9
  const calculate_coupon_discount_1 = require("../calculate-coupon-discount");
11
10
  const remove_coupon_step_1 = require("../remove-coupon/step/remove-coupon-step");
@@ -16,33 +15,44 @@ exports.applyCouponWorkflow = (0, workflows_sdk_1.createWorkflow)("apply-coupon"
16
15
  timeout: 30000,
17
16
  ttl: 120000,
18
17
  });
19
- const response = calculate_coupon_discount_1.calculateCouponDiscountWorkflow.runAsStep({
20
- input: {
21
- code: input.code,
22
- cart_id: input.cart_id,
23
- customerId: input.customerId,
24
- },
18
+ // Run discount calc only if response not provided
19
+ const response = (0, workflows_sdk_1.when)({ input }, ({ input }) => {
20
+ return !input.calculateCouponDiscountResponse;
21
+ }).then(() => {
22
+ return calculate_coupon_discount_1.calculateCouponDiscountWorkflow.runAsStep({
23
+ input: {
24
+ cart: input.cart,
25
+ code: input.code,
26
+ cart_id: input.cart_id,
27
+ customerId: input.customerId,
28
+ },
29
+ });
25
30
  });
26
- const { data: carts } = (0, core_flows_1.useQueryGraphStep)({
27
- entity: "cart",
28
- fields: [
29
- "*",
30
- "items.*",
31
- "items.variant.*",
32
- "items.variant.prices.*",
33
- "items.variant.extended_variant.mrp",
34
- ],
35
- filters: { id: input.cart_id },
36
- options: { throwIfKeyNotFound: true },
37
- }).config({ name: "get-cart" });
38
- const cart = (0, workflows_sdk_1.transform)({ carts }, ({ carts }) => carts[0]);
39
- (0, remove_coupon_step_1.removeCouponStep)({ cart });
40
- (0, generate_adjustment_line_item_1.default)(response.adjustmentLineItems);
31
+ // Choose either pre-passed response or workflow response
32
+ const { discount, isApplied, message, adjustmentLineItems, } = (0, workflows_sdk_1.transform)({
33
+ response,
34
+ calculateCouponDiscountResponse: input.calculateCouponDiscountResponse,
35
+ }, ({ response, calculateCouponDiscountResponse }) => {
36
+ if (calculateCouponDiscountResponse) {
37
+ return calculateCouponDiscountResponse;
38
+ }
39
+ return response;
40
+ });
41
+ // Always clear existing coupons first
42
+ (0, remove_coupon_step_1.removeCouponStep)({ cart: input.cart });
43
+ // Add new adjustments
44
+ (0, generate_adjustment_line_item_1.default)(adjustmentLineItems);
41
45
  (0, locking_1.releaseLockStep)({ key: input.cart_id });
46
+ // Hook for external extensions
47
+ const couponApplied = (0, workflows_sdk_1.createHook)("couponApplied", {
48
+ cart: input.cart,
49
+ });
42
50
  return new workflows_sdk_1.WorkflowResponse({
43
- discount: response.discount,
44
- isApplied: response.isApplied,
45
- message: response.message,
51
+ discount,
52
+ isApplied,
53
+ message,
54
+ }, {
55
+ hooks: [couponApplied],
46
56
  });
47
57
  });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FwcGx5LWNvdXBvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxRUFJMkM7QUFDM0MsNERBQWdFO0FBR2hFLDJDQUFpRTtBQUNqRSw0RUFBK0U7QUFDL0UsaUZBQTRFO0FBQzVFLDBHQUErRTtBQUVsRSxRQUFBLG1CQUFtQixHQUFHLElBQUEsOEJBQWMsRUFDL0MsY0FBYyxFQUNkLENBQUMsS0FBNkIsRUFBRSxFQUFFO0lBQ2hDLElBQUEseUJBQWUsRUFBQztRQUNkLEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLEVBQUUsS0FBSztRQUNkLEdBQUcsRUFBRSxNQUFNO0tBQ1osQ0FBQyxDQUFBO0lBRUYsTUFBTSxRQUFRLEdBQUcsMkRBQStCLENBQUMsU0FBUyxDQUFDO1FBQ3pELEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzdCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQ3hDLE1BQU0sRUFBRSxNQUFNO1FBQ2QsTUFBTSxFQUFFO1lBQ04sR0FBRztZQUNILFNBQVM7WUFDVCxpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLG9DQUFvQztTQUNyQztRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1FBQzlCLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFaEMsTUFBTSxJQUFJLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUzRCxJQUFBLHFDQUFnQixFQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUUzQixJQUFBLHVDQUEwQixFQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXpELElBQUEseUJBQWUsRUFBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUV4QyxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO1FBQzNCLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztRQUM3QixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87S0FDMUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FwcGx5LWNvdXBvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxRUFNMkM7QUFTM0MsMkNBQWlFO0FBQ2pFLDRFQUErRTtBQUMvRSxpRkFBNEU7QUFDNUUsMEdBQStFO0FBRWxFLFFBQUEsbUJBQW1CLEdBQUcsSUFBQSw4QkFBYyxFQUMvQyxjQUFjLEVBQ2QsQ0FDRSxLQWtCQyxFQUNELEVBQUU7SUFDRixJQUFBLHlCQUFlLEVBQUM7UUFDZCxHQUFHLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxHQUFHLEVBQUUsTUFBTTtLQUNaLENBQUMsQ0FBQztJQUVILGtEQUFrRDtJQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFBLG9CQUFJLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM3QyxPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDO0lBQ2hELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWCxPQUFPLDJEQUErQixDQUFDLFNBQVMsQ0FBQztZQUMvQyxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCx5REFBeUQ7SUFDekQsTUFBTSxFQUNKLFFBQVEsRUFDUixTQUFTLEVBQ1QsT0FBTyxFQUNQLG1CQUFtQixHQUNwQixHQUFHLElBQUEseUJBQVMsRUFDWDtRQUNFLFFBQVE7UUFDUiwrQkFBK0IsRUFBRSxLQUFLLENBQUMsK0JBQStCO0tBQ3ZFLEVBQ0QsQ0FBQyxFQUFFLFFBQVEsRUFBRSwrQkFBK0IsRUFBRSxFQUFFLEVBQUU7UUFDaEQsSUFBSSwrQkFBK0IsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sK0JBQStCLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FDRixDQUFDO0lBRUYsc0NBQXNDO0lBQ3RDLElBQUEscUNBQWdCLEVBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFdkMsc0JBQXNCO0lBQ3RCLElBQUEsdUNBQTBCLEVBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUVoRCxJQUFBLHlCQUFlLEVBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFeEMsK0JBQStCO0lBQy9CLE1BQU0sYUFBYSxHQUFHLElBQUEsMEJBQVUsRUFBQyxlQUFlLEVBQUU7UUFDaEQsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0tBQ2pCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FDekI7UUFDRSxRQUFRO1FBQ1IsU0FBUztRQUNULE9BQU87S0FDUixFQUNEO1FBQ0UsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFVO0tBQ2hDLENBQ0YsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=