@devx-commerce/plugin-discounts-svaraa 0.0.2-beta.8 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/api/admin/discounts/freebie-rules/[id]/route.js +2 -2
- package/.medusa/server/src/api/admin/discounts/freebie-rules/route.js +2 -2
- package/.medusa/server/src/api/admin/discounts/price-rules/[id]/route.js +2 -2
- package/.medusa/server/src/api/admin/discounts/price-rules/route.js +2 -2
- package/.medusa/server/src/api/admin/discounts/validators.js +5 -2
- package/.medusa/server/src/api/middlewares.js +4 -1
- package/.medusa/server/src/api/pos/discounts/apply/route.js +159 -0
- package/.medusa/server/src/api/pos/discounts/apply-freebie/route.js +20 -0
- package/.medusa/server/src/api/pos/discounts/auto-apply/route.js +207 -0
- package/.medusa/server/src/api/pos/discounts/cart-eligible-coupons/[cart_id]/route.js +39 -0
- package/.medusa/server/src/api/pos/discounts/coupons/[id]/route.js +25 -0
- package/.medusa/server/src/api/pos/discounts/middlewares.js +91 -0
- package/.medusa/server/src/api/pos/discounts/offers-on-product/[variant_id]/route.js +19 -0
- package/.medusa/server/src/api/pos/discounts/price-rules/route.js +68 -0
- package/.medusa/server/src/api/pos/discounts/price-rules-list/route.js +46 -0
- package/.medusa/server/src/api/pos/discounts/remove/route.js +42 -0
- package/.medusa/server/src/api/pos/discounts/remove-store-discount/route.js +58 -0
- package/.medusa/server/src/api/pos/discounts/validators.js +356 -0
- package/.medusa/server/src/api/pos/discounts/verify-store-discount/route.js +262 -0
- package/.medusa/server/src/api/store/discounts/apply/route.js +105 -4
- package/.medusa/server/src/api/store/discounts/auto-apply/route.js +30 -11
- package/.medusa/server/src/api/store/discounts/coupons/[id]/route.js +1 -1
- package/.medusa/server/src/api/store/discounts/middlewares.js +6 -4
- package/.medusa/server/src/api/store/discounts/price-rules/route.js +6 -5
- package/.medusa/server/src/api/store/discounts/remove/route.js +16 -1
- package/.medusa/server/src/lib/constant.js +138 -2
- package/.medusa/server/src/lib/helper.js +17 -10
- package/.medusa/server/src/lib/send-otp-helper.js +37 -0
- package/.medusa/server/src/lib/utils.js +1 -1
- package/.medusa/server/src/links/mtm-freebie-rule-with-customers.js +1 -1
- package/.medusa/server/src/links/mtm-price-rule-with-customers.js +1 -1
- package/.medusa/server/src/modules/discounts/migrations/Migration20250708062404.js +1 -1
- package/.medusa/server/src/modules/discounts/migrations/Migration20250822052209.js +1 -1
- package/.medusa/server/src/modules/discounts/migrations/Migration20250825073038.js +1 -1
- package/.medusa/server/src/modules/discounts/migrations/Migration20250901083847.js +1 -1
- package/.medusa/server/src/modules/discounts/migrations/Migration20250918095658.js +14 -0
- package/.medusa/server/src/modules/discounts/models/price-rule.js +5 -2
- package/.medusa/server/src/modules/discounts/service.js +11 -5
- package/.medusa/server/src/subscribers/promocode-subscriber.js +32 -9
- package/.medusa/server/src/workflows/discount/add-more-code-in-price-rule/index.js +1 -1
- package/.medusa/server/src/workflows/discount/apply-coupon/index.js +2 -2
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/apply-coupon-step-backup.js +1 -1
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/apply-coupon-step.js +4 -6
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/generate-adjustment-line-item.js +4 -2
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/validate-coupon-step.js +10 -6
- package/.medusa/server/src/workflows/discount/apply-freebie/steps/add-freebie-items-to-cart.js +7 -5
- package/.medusa/server/src/workflows/discount/auto-apply-coupon/steps/auto-apply-coupon.js +11 -6
- package/.medusa/server/src/workflows/discount/calculate-coupon-discount/step/fetch-price-rule-by-code.js +1 -1
- package/.medusa/server/src/workflows/discount/create-discount-price-rule/index.js +2 -2
- package/.medusa/server/src/workflows/discount/create-discount-price-rule/steps/validate-customer-exists.js +2 -2
- package/.medusa/server/src/workflows/discount/create-subscriber-to-discount-price-rule.js +1 -1
- package/.medusa/server/src/workflows/discount/get-cart-eligible-coupons/step/get-cart-eligible-coupon.js +3 -2
- package/.medusa/server/src/workflows/discount/get-product-offers/step/calculate-product-offers.js +1 -2
- package/.medusa/server/src/workflows/discount/index.js +2 -1
- package/.medusa/server/src/workflows/discount/remove-coupon/index.js +10 -2
- package/.medusa/server/src/workflows/discount/remove-coupon/step/remove-coupon-step.js +1 -1
- package/.medusa/server/src/workflows/discount/steps/validate-cart-exists.js +1 -1
- package/.medusa/server/src/workflows/discount/update-coupon-code-stats/step/update-coupon-code-stats.js +1 -1
- package/.medusa/server/src/workflows/discount/update-discount-price-rule/index.js +1 -1
- package/.medusa/server/src/workflows/discount/update-discount-price-rule/steps/update-discount-price-rule-step.js +7 -3
- package/.medusa/server/src/workflows/discount/update-discount-price-rule/steps/validate-discount-price-rule-update-step.js +1 -1
- package/.medusa/server/src/workflows/locking/acquire-lock.js +1 -1
- package/.medusa/server/src/workflows/locking/index.js +1 -1
- package/.medusa/server/src/workflows/locking/release-lock.js +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const api_response_1 = require("../../../../lib/api-response");
|
|
5
|
+
const apply_coupon_1 = require("../../../../workflows/discount/apply-coupon");
|
|
6
|
+
const calculate_coupon_discount_1 = require("../../../../workflows/discount/calculate-coupon-discount");
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const redis_utils_1 = require("../../../../lib/redis-utils");
|
|
9
|
+
const utils_2 = require("../../../../lib/utils");
|
|
10
|
+
async function getDiscountCode(query, priceRule, cache) {
|
|
11
|
+
const cacheKey = `discount_code:${priceRule.id}`;
|
|
12
|
+
const cached = await cache.get(cacheKey);
|
|
13
|
+
if (cached)
|
|
14
|
+
return cached;
|
|
15
|
+
if (!priceRule.prefix) {
|
|
16
|
+
await cache.set(cacheKey, priceRule.discount_code, redis_utils_1.CACHE_VALIDATION_TIMES.DISCOUNT_CODE);
|
|
17
|
+
return priceRule.discount_code;
|
|
18
|
+
}
|
|
19
|
+
const { data: codes } = await query.graph({
|
|
20
|
+
entity: "discount_code",
|
|
21
|
+
fields: ["*"],
|
|
22
|
+
filters: {
|
|
23
|
+
$and: [
|
|
24
|
+
{ price_rule_id: { $eq: priceRule.id } },
|
|
25
|
+
priceRule.usage_limit_per_customer_type === "SPECIFIC" ||
|
|
26
|
+
priceRule.usage_limit_per_customer_type === "ONLY_ONCE"
|
|
27
|
+
? { usage_count: 0 }
|
|
28
|
+
: {},
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
pagination: { take: 1 },
|
|
32
|
+
});
|
|
33
|
+
const code = codes.length > 0 ? codes[0].code : null;
|
|
34
|
+
await cache.set(cacheKey, code, redis_utils_1.CACHE_VALIDATION_TIMES.DISCOUNT_CODE);
|
|
35
|
+
return code;
|
|
36
|
+
}
|
|
37
|
+
function getBestDiscount(discounts) {
|
|
38
|
+
return discounts
|
|
39
|
+
.filter((d) => d.status === "fulfilled" && d.value)
|
|
40
|
+
.map((d) => d.value)
|
|
41
|
+
.reduce((best, cur) => cur.discount > best.discount
|
|
42
|
+
? { discount: cur.discount, code: cur.code }
|
|
43
|
+
: best, { discount: 0 });
|
|
44
|
+
}
|
|
45
|
+
function groupAdjustments(adjustments) {
|
|
46
|
+
return adjustments.reduce((map, adj) => {
|
|
47
|
+
if (adj.code) {
|
|
48
|
+
map[adj.code] = (map[adj.code] || 0) + Math.abs(adj.amount || 0);
|
|
49
|
+
}
|
|
50
|
+
return map;
|
|
51
|
+
}, {});
|
|
52
|
+
}
|
|
53
|
+
// --- Main Handler ---
|
|
54
|
+
async function POST(req, res) {
|
|
55
|
+
try {
|
|
56
|
+
const query = req.scope.resolve("query");
|
|
57
|
+
const cache = req.scope.resolve(utils_1.Modules.CACHE);
|
|
58
|
+
const userId = req.auth_context?.actor_id || undefined;
|
|
59
|
+
let filters = { ...req.filterableFields };
|
|
60
|
+
// --- Customer birthday/anniversary filters ---
|
|
61
|
+
if (userId) {
|
|
62
|
+
const { data: customer } = await query.graph({
|
|
63
|
+
entity: "customer",
|
|
64
|
+
fields: ["metadata"],
|
|
65
|
+
filters: { id: userId },
|
|
66
|
+
});
|
|
67
|
+
const externalId = customer?.[0]?.metadata?.external_id;
|
|
68
|
+
if (externalId) {
|
|
69
|
+
const { data: ext } = await query.graph({
|
|
70
|
+
entity: "extended_customer",
|
|
71
|
+
fields: ["birth_date", "anniversary_date"],
|
|
72
|
+
filters: { external_id: externalId },
|
|
73
|
+
});
|
|
74
|
+
const todayIST = (0, utils_2.getISTMonthDay)(new Date());
|
|
75
|
+
const bday = ext?.[0]?.birth_date;
|
|
76
|
+
const anniv = ext?.[0]?.anniversary_date;
|
|
77
|
+
const isBirthday = bday && (0, utils_2.getISTMonthDay)(bday) === todayIST;
|
|
78
|
+
const isAnniversary = anniv && (0, utils_2.getISTMonthDay)(anniv) === todayIST;
|
|
79
|
+
if (isBirthday || isAnniversary) {
|
|
80
|
+
filters.$or = [
|
|
81
|
+
...(isBirthday ? [{ is_birthday: true }] : []),
|
|
82
|
+
...(isAnniversary ? [{ is_anniversary: true }] : []),
|
|
83
|
+
{ is_birthday: false, is_anniversary: false },
|
|
84
|
+
];
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
filters.is_birthday = false;
|
|
88
|
+
filters.is_anniversary = false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
filters = {
|
|
94
|
+
...filters,
|
|
95
|
+
usage_limit: "UNLIMITED",
|
|
96
|
+
is_birthday: false,
|
|
97
|
+
is_anniversary: false,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// --- 1. Fetch auto-apply rules (with caching) ---
|
|
101
|
+
const rulesCacheKey = "discount_price_rules:auto_apply";
|
|
102
|
+
let priceRules = (await cache.get(rulesCacheKey)) ||
|
|
103
|
+
(await query.graph({
|
|
104
|
+
entity: "discount_price_rule",
|
|
105
|
+
fields: ["*"],
|
|
106
|
+
filters: { ...filters, auto_apply: true },
|
|
107
|
+
})).data;
|
|
108
|
+
if (!(await cache.get(rulesCacheKey))) {
|
|
109
|
+
await cache.set(rulesCacheKey, priceRules, redis_utils_1.CACHE_VALIDATION_TIMES.DISCOUNT_CODE);
|
|
110
|
+
}
|
|
111
|
+
// --- 2. Fetch cart once ---
|
|
112
|
+
const { data: carts } = await query.graph({
|
|
113
|
+
entity: "cart",
|
|
114
|
+
fields: [
|
|
115
|
+
"*",
|
|
116
|
+
"items.*",
|
|
117
|
+
"items.variant.*",
|
|
118
|
+
"items.variant.prices.*",
|
|
119
|
+
"items.variant.extended_product_variants.compare_at_price",
|
|
120
|
+
"promotions.*",
|
|
121
|
+
],
|
|
122
|
+
filters: { id: req.validatedBody.cart_id },
|
|
123
|
+
});
|
|
124
|
+
if (!carts.length) {
|
|
125
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Cart ${req.validatedBody.cart_id} not found`, 404));
|
|
126
|
+
}
|
|
127
|
+
const cart = carts[0];
|
|
128
|
+
// --- 3. Calculate discounts for each rule ---
|
|
129
|
+
const discounts = await Promise.allSettled(priceRules.map(async (rule) => {
|
|
130
|
+
try {
|
|
131
|
+
const code = await getDiscountCode(query, rule, cache);
|
|
132
|
+
if (!code)
|
|
133
|
+
return { discount: 0 };
|
|
134
|
+
const { result: { discount }, } = await (0, calculate_coupon_discount_1.calculateCouponDiscountWorkflow)(req.scope).run({
|
|
135
|
+
input: {
|
|
136
|
+
cart_id: req.validatedBody.cart_id,
|
|
137
|
+
cart,
|
|
138
|
+
code,
|
|
139
|
+
customerId: userId || undefined,
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
return { discount, code };
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return { discount: 0 };
|
|
146
|
+
}
|
|
147
|
+
}));
|
|
148
|
+
const { discount: currentDiscount, code: currentCode } = getBestDiscount(discounts);
|
|
149
|
+
// --- 4. Fetch adjustments once ---
|
|
150
|
+
const { data: adjustments } = await query.graph({
|
|
151
|
+
entity: "line_item_adjustment",
|
|
152
|
+
fields: ["*"],
|
|
153
|
+
filters: {
|
|
154
|
+
item_id: { $in: cart.items.map((i) => i.id) },
|
|
155
|
+
code: { $ne: null },
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
const codeDiscountMap = groupAdjustments(adjustments);
|
|
159
|
+
const [appliedCouponCode, appliedCouponDiscount] = Object.entries(codeDiscountMap).reduce((best, [code, total]) => (total > best[1] ? [code, total] : best), ["", 0]);
|
|
160
|
+
// --- 5. Compare and apply ---
|
|
161
|
+
if (appliedCouponCode && appliedCouponDiscount >= currentDiscount) {
|
|
162
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
163
|
+
message: "Existing coupon provides better or equal discount. No auto coupon applied.",
|
|
164
|
+
code: appliedCouponCode,
|
|
165
|
+
discount: appliedCouponDiscount,
|
|
166
|
+
}));
|
|
167
|
+
}
|
|
168
|
+
let appliedCode = currentCode;
|
|
169
|
+
let appliedDiscount = currentDiscount;
|
|
170
|
+
if (currentCode) {
|
|
171
|
+
const { result } = await (0, apply_coupon_1.applyCouponWorkflow)(req.scope).run({
|
|
172
|
+
input: {
|
|
173
|
+
code: currentCode,
|
|
174
|
+
cart_id: req.validatedBody.cart_id,
|
|
175
|
+
cart,
|
|
176
|
+
customerId: userId || undefined,
|
|
177
|
+
},
|
|
178
|
+
});
|
|
179
|
+
if (!result) {
|
|
180
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to apply coupon", 400));
|
|
181
|
+
}
|
|
182
|
+
// 🔄 Refresh adjustments after applying
|
|
183
|
+
const { data: adjustmentsAfter } = await query.graph({
|
|
184
|
+
entity: "line_item_adjustment",
|
|
185
|
+
fields: ["*"],
|
|
186
|
+
filters: {
|
|
187
|
+
item_id: { $in: cart.items.map((i) => i.id) },
|
|
188
|
+
code: { $ne: null },
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
const codeDiscountMapAfter = groupAdjustments(adjustmentsAfter);
|
|
192
|
+
const [newCode, newDiscount] = Object.entries(codeDiscountMapAfter).reduce((best, [code, total]) => (total > best[1] ? [code, total] : best), ["", 0]);
|
|
193
|
+
appliedCode = newCode;
|
|
194
|
+
appliedDiscount = newDiscount;
|
|
195
|
+
}
|
|
196
|
+
// --- 6. Final response ---
|
|
197
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
198
|
+
message: appliedCode ? "Coupon applied" : "No coupon applied",
|
|
199
|
+
code: appliedCode,
|
|
200
|
+
discount: appliedDiscount,
|
|
201
|
+
}));
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvYXV0by1hcHBseS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTJFQSxvQkFpTkM7QUF4UkQsK0RBSXNDO0FBQ3RDLDhFQUFrRjtBQUNsRix3R0FBMkc7QUFFM0cscURBQW9EO0FBQ3BELDZEQUFxRTtBQUNyRSxpREFBdUQ7QUFFdkQsS0FBSyxVQUFVLGVBQWUsQ0FBQyxLQUFVLEVBQUUsU0FBYyxFQUFFLEtBQVU7SUFDbkUsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNqRCxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsSUFBSSxNQUFNO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFFMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixNQUFNLEtBQUssQ0FBQyxHQUFHLENBQ2IsUUFBUSxFQUNSLFNBQVMsQ0FBQyxhQUFhLEVBQ3ZCLG9DQUFzQixDQUFDLGFBQWEsQ0FDckMsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEMsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFO2dCQUNKLEVBQUUsYUFBYSxFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDeEMsU0FBUyxDQUFDLDZCQUE2QixLQUFLLFVBQVU7b0JBQ3RELFNBQVMsQ0FBQyw2QkFBNkIsS0FBSyxXQUFXO29CQUNyRCxDQUFD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
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const api_response_1 = require("../../../../../lib/api-response");
|
|
6
|
+
const get_cart_eligible_coupons_1 = require("../../../../../workflows/discount/get-cart-eligible-coupons");
|
|
7
|
+
async function GET(req, res) {
|
|
8
|
+
try {
|
|
9
|
+
const { cart_id } = req.params;
|
|
10
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
11
|
+
const { data: carts } = await query.graph({
|
|
12
|
+
entity: "cart",
|
|
13
|
+
fields: [
|
|
14
|
+
"*",
|
|
15
|
+
"items.*",
|
|
16
|
+
"items.variant.*",
|
|
17
|
+
"items.variant.prices.*",
|
|
18
|
+
"items.variant.extended_variant.mrp",
|
|
19
|
+
],
|
|
20
|
+
filters: { id: cart_id },
|
|
21
|
+
});
|
|
22
|
+
if (!carts.length) {
|
|
23
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Cart ${cart_id} not found`, 404));
|
|
24
|
+
}
|
|
25
|
+
const { result } = await (0, get_cart_eligible_coupons_1.getCartEligibleCouponsWorkflow)(req.scope).run({
|
|
26
|
+
input: {
|
|
27
|
+
cart_id,
|
|
28
|
+
customerId: req?.auth_context?.actor_id,
|
|
29
|
+
cart: carts[0],
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result));
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
// Error logging removed - use proper error handling instead
|
|
36
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvY2FydC1lbGlnaWJsZS1jb3Vwb25zL1tjYXJ0X2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLGtCQXlDQztBQWxERCxxREFBc0U7QUFFdEUsa0VBSXlDO0FBQ3pDLDJHQUE2RztBQUV0RyxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUErQixFQUMvQixHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUUvQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN4QyxNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRTtnQkFDTixHQUFHO2dCQUNILFNBQVM7Z0JBQ1QsaUJBQWlCO2dCQUNqQix3QkFBd0I7Z0JBQ3hCLG9DQUFvQzthQUNyQztZQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQUMsUUFBUSxPQUFPLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FDdEQsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLDBEQUE4QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDckUsS0FBSyxFQUFFO2dCQUNMLE9BQU87Z0JBQ1AsVUFBVSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUTtnQkFDdkMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDZjtTQUNGLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLG9DQUFxQixFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZiw0REFBNEQ7UUFDNUQsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsa0NBQW1CLEVBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const api_response_1 = require("../../../../../lib/api-response");
|
|
5
|
+
async function GET(req, res) {
|
|
6
|
+
try {
|
|
7
|
+
const id = req.params.id;
|
|
8
|
+
const query = req.scope.resolve("query");
|
|
9
|
+
console.log("Fetching discount price rule with ID:", id);
|
|
10
|
+
const { data: [discountPriceRule], } = await query.graph({
|
|
11
|
+
entity: "discount_price_rule",
|
|
12
|
+
...req.queryConfig,
|
|
13
|
+
filters: { id },
|
|
14
|
+
});
|
|
15
|
+
console.log("Discount price rule fetched:", discountPriceRule);
|
|
16
|
+
if (!discountPriceRule) {
|
|
17
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Discount price rule not found", 404));
|
|
18
|
+
}
|
|
19
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(discountPriceRule));
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvY291cG9ucy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0Esa0JBMEJDO0FBaENELGtFQUl5QztBQUVsQyxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FDMUIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDcEIsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixHQUFHLEdBQUcsQ0FBQyxXQUFXO1lBQ2xCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRTtTQUNoQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdkIsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUFDLCtCQUErQixFQUFFLEdBQUcsQ0FBQyxDQUMxRCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLG9DQUFxQixFQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.posDiscountRoutesMiddlewares = void 0;
|
|
4
|
+
const http_1 = require("@medusajs/framework/http");
|
|
5
|
+
const validators_1 = require("./validators");
|
|
6
|
+
const medusa_1 = require("@medusajs/medusa");
|
|
7
|
+
exports.posDiscountRoutesMiddlewares = [
|
|
8
|
+
{
|
|
9
|
+
matcher: "/pos/discounts/price-rules",
|
|
10
|
+
methods: ["GET"],
|
|
11
|
+
middlewares: [
|
|
12
|
+
(0, medusa_1.authenticate)("customer", ["bearer", "session"]),
|
|
13
|
+
(0, http_1.validateAndTransformQuery)(validators_1.PosListDiscountPriceRulesParams, {
|
|
14
|
+
defaults: validators_1.posDefaultDiscountPriceRuleFields,
|
|
15
|
+
defaultLimit: 10,
|
|
16
|
+
isList: true,
|
|
17
|
+
}),
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
matcher: "/pos/discounts/price-rules-list",
|
|
22
|
+
methods: ["GET"],
|
|
23
|
+
middlewares: [
|
|
24
|
+
(0, http_1.validateAndTransformQuery)(validators_1.PosListDiscountPriceRulesParams, {
|
|
25
|
+
defaults: validators_1.posDefaultDiscountPriceRuleFields,
|
|
26
|
+
defaultLimit: 10,
|
|
27
|
+
isList: true,
|
|
28
|
+
}),
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
matcher: "/pos/discounts/apply",
|
|
33
|
+
method: "POST",
|
|
34
|
+
middlewares: [
|
|
35
|
+
(0, medusa_1.authenticate)("customer", ["bearer", "session"]),
|
|
36
|
+
(0, http_1.validateAndTransformBody)(validators_1.PosApplyDiscountInputValidator),
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
matcher: "/pos/discounts/auto-apply",
|
|
41
|
+
method: "POST",
|
|
42
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.PosAutoApplyDiscountInputValidator)],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
matcher: "/pos/discounts/apply-freebie",
|
|
46
|
+
method: "POST",
|
|
47
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.PosApplyFreebieInputValidator)],
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
matcher: "/pos/discounts/verify-store-discount",
|
|
51
|
+
method: "POST",
|
|
52
|
+
middlewares: [
|
|
53
|
+
(0, medusa_1.authenticate)("user", ["bearer", "session"]),
|
|
54
|
+
(0, http_1.validateAndTransformBody)(validators_1.PosVerifyStoreDiscountInputValidator),
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
matcher: "/pos/discounts/remove-store-discount",
|
|
59
|
+
method: "POST",
|
|
60
|
+
middlewares: [
|
|
61
|
+
(0, http_1.validateAndTransformBody)(validators_1.PosRemoveStoreDiscountInputValidator),
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
matcher: "/pos/discounts/remove",
|
|
66
|
+
method: "POST",
|
|
67
|
+
middlewares: [
|
|
68
|
+
(0, medusa_1.authenticate)("customer", ["bearer", "session"]),
|
|
69
|
+
(0, http_1.validateAndTransformBody)(validators_1.PosRemoveDiscountInputValidator),
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
///////////////////// OFFERS ON PRODUCT ////////////////////
|
|
73
|
+
{
|
|
74
|
+
matcher: "/pos/discounts/offers-on-product/:variant_id",
|
|
75
|
+
method: "GET",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
matcher: "/pos/discounts/cart-eligible-coupons/:cart_id",
|
|
79
|
+
method: "GET",
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
matcher: "/pos/discounts/coupons/:id",
|
|
83
|
+
method: "GET",
|
|
84
|
+
middlewares: [
|
|
85
|
+
(0, http_1.validateAndTransformQuery)(validators_1.PosGetDiscountPriceRulesParams, {
|
|
86
|
+
defaults: validators_1.posDefaultDiscountPriceRuleFields,
|
|
87
|
+
}),
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
];
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvbWlkZGxld2FyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBSWtDO0FBRWxDLDZDQVlzQjtBQUN0Qiw2Q0FBZ0Q7QUFFbkMsUUFBQSw0QkFBNEIsR0FBc0I7SUFDN0Q7UUFDRSxPQUFPLEVBQUUsNEJBQTRCO1FBQ3JDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNoQixXQUFXLEVBQUU7WUFDWCxJQUFBLHFCQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLElBQUEsZ0NBQXlCLEVBQUMsNENBQStCLEVBQUU7Z0JBQ3pELFFBQVEsRUFBRSw4Q0FBaUM7Z0JBQzNDLFlBQVksRUFBRSxFQUFFO2dCQUNoQixNQUFNLEVBQUUsSUFBSTthQUNiLENBQUM7U0FDSDtLQUNGO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsaUNBQWlDO1FBQzFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNoQixXQUFXLEVBQUU7WUFDWCxJQUFBLGdDQUF5QixFQUFDLDRDQUErQixFQUFFO2dCQUN6RCxRQUFRLEVBQUUsOENBQWlDO2dCQUMzQyxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDO1NBQ0g7S0FDRjtJQUNEO1FBQ0UsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixNQUFNLEVBQUUsTUFBTTtRQUNkLFdBQVcsRUFBRTtZQUNYLElBQUEscUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDL0MsSUFBQSwrQkFBd0IsRUFBQywyQ0FBOEIsQ0FBQztTQUN6RDtLQUNGO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsMkJBQTJCO1FBQ3BDLE1BQU0sRUFBRSxNQUFNO1FBQ2QsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQywrQ0FBa0MsQ0FBQyxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsOEJBQThCO1FBQ3ZDLE1BQU0sRUFBRSxNQUFNO1FBQ2QsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQywwQ0FBNkIsQ0FBQyxDQUFDO0tBQ3ZFO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsc0NBQXNDO1FBQy9DLE1BQU0sRUFBRSxNQUFNO1FBQ2QsV0FBVyxFQUFFO1lBQ1gsSUFBQSxxQkFBWSxFQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMzQyxJQUFBLCtCQUF3QixFQUFDLGlEQUFvQyxDQUFDO1NBQy9EO0tBQ0Y7SUFDRDtRQUNFLE9BQU8sRUFBRSxzQ0FBc0M7UUFDL0MsTUFBTSxFQUFFLE1BQU07UUFDZCxXQUFXLEVBQUU7WUFDWCxJQUFBLCtCQUF3QixFQUFDLGlEQUFvQyxDQUFDO1NBQy9EO0tBQ0Y7SUFDRDtRQUNFLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsTUFBTSxFQUFFLE1BQU07UUFDZCxXQUFXLEVBQUU7WUFDWCxJQUFBLHFCQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLElBQUEsK0JBQXdCLEVBQUMsNENBQStCLENBQUM7U0FDMUQ7S0FDRjtJQUNELDREQUE0RDtJQUM1RDtRQUNFLE9BQU8sRUFBRSw4Q0FBOEM7UUFDdkQsTUFBTSxFQUFFLEtBQUs7S0FDZDtJQUVEO1FBQ0UsT0FBTyxFQUFFLCtDQUErQztRQUN4RCxNQUFNLEVBQUUsS0FBSztLQUNkO0lBRUQ7UUFDRSxPQUFPLEVBQUUsNEJBQTRCO1FBQ3JDLE1BQU0sRUFBRSxLQUFLO1FBQ2IsV0FBVyxFQUFFO1lBQ1gsSUFBQSxnQ0FBeUIsRUFBQywyQ0FBOEIsRUFBRTtnQkFDeEQsUUFBUSxFQUFFLDhDQUFpQzthQUM1QyxDQUFDO1NBQ0g7S0FDRjtDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const api_response_1 = require("../../../../../lib/api-response");
|
|
5
|
+
const get_product_offers_1 = require("../../../../../workflows/discount/get-product-offers");
|
|
6
|
+
async function GET(req, res) {
|
|
7
|
+
try {
|
|
8
|
+
const { variant_id } = req.params;
|
|
9
|
+
const { result } = await (0, get_product_offers_1.calculateProductOfferWorkflow)(req.scope).run({
|
|
10
|
+
input: { variant_id },
|
|
11
|
+
});
|
|
12
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result));
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
console.log(error);
|
|
16
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvb2ZmZXJzLW9uLXByb2R1Y3QvW3ZhcmlhbnRfaWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBWUEsa0JBZ0JDO0FBdkJELGtFQUl5QztBQUN6Qyw2RkFBcUc7QUFFOUYsS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBK0IsRUFDL0IsR0FBbUI7SUFFbkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFFbEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxrREFBNkIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3BFLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRTtTQUN0QixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUEsOEJBQWUsRUFBQyxHQUFHLEVBQUUsSUFBQSxvQ0FBcUIsRUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixPQUFPLElBQUEsOEJBQWUsRUFBQyxHQUFHLEVBQUUsSUFBQSxrQ0FBbUIsRUFBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const api_response_1 = require("../../../../lib/api-response");
|
|
5
|
+
const utils_1 = require("../../../../lib/utils");
|
|
6
|
+
async function GET(req, res) {
|
|
7
|
+
try {
|
|
8
|
+
const query = req.scope.resolve("query");
|
|
9
|
+
const userId = req.auth_context?.actor_id || req.auth_context;
|
|
10
|
+
console.log("___userId", userId, req.auth_context);
|
|
11
|
+
let filters = { ...req.filterableFields };
|
|
12
|
+
if (!userId) {
|
|
13
|
+
filters = {
|
|
14
|
+
...filters,
|
|
15
|
+
usage_limit: "UNLIMITED",
|
|
16
|
+
is_birthday: false,
|
|
17
|
+
is_anniversary: false,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
if (userId) {
|
|
21
|
+
const { data: customer } = await query.graph({
|
|
22
|
+
entity: "customer",
|
|
23
|
+
fields: ["metadata", "extended_customer.id"],
|
|
24
|
+
filters: { id: userId },
|
|
25
|
+
});
|
|
26
|
+
const externalId = customer?.[0]?.extended_customer?.id;
|
|
27
|
+
if (externalId) {
|
|
28
|
+
const { data: ext } = await query.graph({
|
|
29
|
+
entity: "extended_customer",
|
|
30
|
+
fields: ["birth_date", "anniversary_date"],
|
|
31
|
+
filters: { id: externalId },
|
|
32
|
+
});
|
|
33
|
+
const todayIST = (0, utils_1.getISTMonthDay)(new Date());
|
|
34
|
+
const bday = ext?.[0]?.birth_date;
|
|
35
|
+
const anniv = ext?.[0]?.anniversary_date;
|
|
36
|
+
const isBirthday = bday && (0, utils_1.getISTMonthDay)(bday) === todayIST;
|
|
37
|
+
const isAnniversary = anniv && (0, utils_1.getISTMonthDay)(anniv) === todayIST;
|
|
38
|
+
if (isBirthday || isAnniversary) {
|
|
39
|
+
filters.$or = [
|
|
40
|
+
{ is_birthday: false, is_anniversary: false },
|
|
41
|
+
...(isBirthday ? [{ is_birthday: true }] : []),
|
|
42
|
+
...(isAnniversary ? [{ is_anniversary: true }] : []),
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
filters.is_birthday = false;
|
|
47
|
+
filters.is_anniversary = false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
filters.is_birthday = false;
|
|
52
|
+
filters.is_anniversary = false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const { data, metadata } = await query.graph({
|
|
56
|
+
entity: "discount_price_rule",
|
|
57
|
+
...req.queryConfig,
|
|
58
|
+
filters,
|
|
59
|
+
});
|
|
60
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ data, metadata }));
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.log(error);
|
|
64
|
+
const message = error instanceof Error ? error.message : "An unexpected error occurred";
|
|
65
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(message, 500));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvcHJpY2UtcnVsZXMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFZQSxrQkFxRUM7QUE3RUQsK0RBSXNDO0FBRXRDLGlEQUF1RDtBQUVoRCxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUFvRSxFQUNwRSxHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkQsSUFBSSxPQUFPLEdBQXdCLEVBQUUsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUUvRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLEdBQUc7Z0JBQ1IsR0FBRyxPQUFPO2dCQUNWLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixXQUFXLEVBQUUsS0FBSztnQkFDbEIsY0FBYyxFQUFFLEtBQUs7YUFDdEIsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQzNDLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsc0JBQXNCLENBQUM7Z0JBQzVDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7YUFDeEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsUUFB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
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
exports.GET = GET;
|
|
5
|
+
const api_response_1 = require("../../../../lib/api-response");
|
|
6
|
+
const create_discount_price_rule_1 = require("../../../../workflows/discount/create-discount-price-rule");
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
async function POST(req, res) {
|
|
9
|
+
try {
|
|
10
|
+
const { result } = await (0, create_discount_price_rule_1.createDiscountPriceRuleWorkflow)(req.scope).run({
|
|
11
|
+
input: req.validatedBody,
|
|
12
|
+
});
|
|
13
|
+
if (!result) {
|
|
14
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to create discount price rule", 400));
|
|
15
|
+
}
|
|
16
|
+
const eventBus = req.scope.resolve(utils_1.Modules.EVENT_BUS);
|
|
17
|
+
eventBus.emit({
|
|
18
|
+
name: "audit.logs",
|
|
19
|
+
data: {
|
|
20
|
+
relation_id: result[0].id,
|
|
21
|
+
message: "Discount price rule created",
|
|
22
|
+
admin_id: req.auth_context.actor_id,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result));
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async function GET(req, res) {
|
|
32
|
+
try {
|
|
33
|
+
const query = req.scope.resolve("query");
|
|
34
|
+
const response = await query.graph({
|
|
35
|
+
entity: "discount_price_rule",
|
|
36
|
+
...req.queryConfig,
|
|
37
|
+
filters: req.filterableFields,
|
|
38
|
+
});
|
|
39
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(response));
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
const message = error instanceof Error ? error.message : "An unexpected error occurred";
|
|
43
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(message, 500));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvcHJpY2UtcnVsZXMtbGlzdC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxvQkErQkM7QUFFRCxrQkFrQkM7QUEvREQsK0RBSXNDO0FBQ3RDLDBHQUE0RztBQUs1RyxxREFBb0Q7QUFFN0MsS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBa0UsRUFDbEUsR0FBbUI7SUFFbkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSw0REFBK0IsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3RFLEtBQUssRUFBRSxHQUFHLENBQUMsYUFBYTtTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQUMsc0NBQXNDLEVBQUUsR0FBRyxDQUFDLENBQ2pFLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRELFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDWixJQUFJLEVBQUUsWUFBWTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0osV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN6QixPQUFPLEVBQUUsNkJBQTZCO2dCQUN0QyxRQUFRLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO2FBQ3BDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsb0NBQXFCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQW9FLEVBQ3BFLEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNqQyxNQUFNLEVBQUUscUJBQXFCO1lBQzdCLEdBQUcsR0FBRyxDQUFDLFdBQVc7WUFDbEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsb0NBQXFCLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sT0FBTyxHQUNYLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDO1FBQzFFLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const helpers_1 = require("@medusajs/medusa/api/store/carts/helpers");
|
|
5
|
+
const api_response_1 = require("../../../../lib/api-response");
|
|
6
|
+
const remove_coupon_1 = require("../../../../workflows/discount/remove-coupon");
|
|
7
|
+
const constant_1 = require("../../../../lib/constant");
|
|
8
|
+
async function POST(req, res) {
|
|
9
|
+
try {
|
|
10
|
+
const query = req.scope.resolve("query");
|
|
11
|
+
const { data: discount_codes } = await query.graph({
|
|
12
|
+
entity: "discount_code",
|
|
13
|
+
fields: ["*"],
|
|
14
|
+
filters: { code: req.validatedBody.code },
|
|
15
|
+
});
|
|
16
|
+
if (!discount_codes.length) {
|
|
17
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
18
|
+
discountResult: {
|
|
19
|
+
isApplied: false,
|
|
20
|
+
discount: 0,
|
|
21
|
+
message: "This coupon code is invalid or does not exist.",
|
|
22
|
+
},
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
const { result } = await (0, remove_coupon_1.removeCouponWorkflow)(req.scope).run({
|
|
26
|
+
input: req.validatedBody,
|
|
27
|
+
});
|
|
28
|
+
if (!result) {
|
|
29
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Failed to create discount price rule", 400));
|
|
30
|
+
}
|
|
31
|
+
const cart = await (0, helpers_1.refetchCart)(req.validatedBody.cart_id, req.scope, constant_1.defaultStoreCartFields);
|
|
32
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
33
|
+
cart,
|
|
34
|
+
discountResult: result,
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.log("error: ", error);
|
|
39
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvcmVtb3ZlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsb0JBbURDO0FBOURELHNFQUF1RTtBQUV2RSwrREFJc0M7QUFDdEMsZ0ZBQW9GO0FBRXBGLHVEQUFrRTtBQUUzRCxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUEyRCxFQUMzRCxHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNqRCxNQUFNLEVBQUUsZUFBZTtZQUN2QixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDYixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUU7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQUM7Z0JBQ3BCLGNBQWMsRUFBRTtvQkFDZCxTQUFTLEVBQUUsS0FBSztvQkFDaEIsUUFBUSxFQUFFLENBQUM7b0JBQ1gsT0FBTyxFQUFFLGdEQUFnRDtpQkFDMUQ7YUFDRixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLG9DQUFvQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDM0QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxrQ0FBbUIsRUFBQyxzQ0FBc0MsRUFBRSxHQUFHLENBQUMsQ0FDakUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEscUJBQVcsRUFDNUIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQ3pCLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsaUNBQXNCLENBQ3ZCLENBQUM7UUFDRixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQUM7WUFDcEIsSUFBSTtZQUNKLGNBQWMsRUFBRSxNQUFNO1NBQ3ZCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QixPQUFPLElBQUEsOEJBQWUsRUFBQyxHQUFHLEVBQUUsSUFBQSxrQ0FBbUIsRUFBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const api_response_1 = require("../../../../lib/api-response");
|
|
6
|
+
const constant_1 = require("../../../../lib/constant");
|
|
7
|
+
const helpers_1 = require("@medusajs/medusa/api/store/carts/helpers");
|
|
8
|
+
/**
|
|
9
|
+
* POST /pos/discount/remove-store-discount
|
|
10
|
+
*
|
|
11
|
+
* Remove any existing manual store discount from a cart.
|
|
12
|
+
*/
|
|
13
|
+
const POST = async (req, res) => {
|
|
14
|
+
try {
|
|
15
|
+
const { cart_id } = req.validatedBody;
|
|
16
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
17
|
+
const cartService = req.scope.resolve("cart");
|
|
18
|
+
const { data: carts } = await query.graph({
|
|
19
|
+
entity: "cart",
|
|
20
|
+
fields: ["*", "items.*"],
|
|
21
|
+
filters: { id: cart_id },
|
|
22
|
+
});
|
|
23
|
+
if (!carts.length) {
|
|
24
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Cart ${cart_id} not found`, 404));
|
|
25
|
+
}
|
|
26
|
+
const cart = carts[0];
|
|
27
|
+
const itemIds = cart.items?.map((i) => i.id) || [];
|
|
28
|
+
if (itemIds.length) {
|
|
29
|
+
const { data: adjustments } = await query.graph({
|
|
30
|
+
entity: "line_item_adjustment",
|
|
31
|
+
fields: ["id"],
|
|
32
|
+
filters: {
|
|
33
|
+
item_id: { $in: itemIds },
|
|
34
|
+
code: "STORE_DISCOUNT",
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
if (adjustments?.length) {
|
|
38
|
+
await cartService.deleteLineItemAdjustments(adjustments.map((a) => a.id));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Clear store_discount metadata
|
|
42
|
+
const currentCart = await cartService.retrieveCart(cart_id);
|
|
43
|
+
const meta = { ...(currentCart.metadata || {}), store_discount: null };
|
|
44
|
+
await cartService.updateCarts(cart_id, {
|
|
45
|
+
metadata: meta,
|
|
46
|
+
});
|
|
47
|
+
const updatedCart = await (0, helpers_1.refetchCart)(cart_id, req.scope, constant_1.defaultStoreCartFields);
|
|
48
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
49
|
+
cart: updatedCart,
|
|
50
|
+
}, "Store discount removed"));
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
console.error("Error removing store discount:", error);
|
|
54
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message || "Failed to remove store discount", 500));
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.POST = POST;
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9kaXNjb3VudHMvcmVtb3ZlLXN0b3JlLWRpc2NvdW50L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFzRTtBQUV0RSwrREFJc0M7QUFFdEMsdURBQWtFO0FBQ2xFLHNFQUF1RTtBQUV2RTs7OztHQUlHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUFnRSxFQUNoRSxHQUFtQixFQUNuQixFQUFFO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFFdEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUMsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDeEMsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQUMsUUFBUSxPQUFPLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FDdEQsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEQsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQzlDLE1BQU0sRUFBRSxzQkFBc0I7Z0JBQzlCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztnQkFDZCxPQUFPLEVBQUU7b0JBQ1AsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRTtvQkFDekIsSUFBSSxFQUFFLGdCQUFnQjtpQkFDdkI7YUFDRixDQUFDLENBQUM7WUFFSCxJQUFJLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxXQUFXLENBQUMseUJBQXlCLENBQ3pDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbEMsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsZ0NBQWdDO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxNQUFNLElBQUksR0FBRyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUV2RSxNQUFNLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQ3JDLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLHFCQUFXLEVBQ25DLE9BQU8sRUFDUCxHQUFHLENBQUMsS0FBSyxFQUNULGlDQUFzQixDQUN2QixDQUFDO1FBRUYsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUNuQjtZQUNFLElBQUksRUFBRSxXQUFXO1NBQ2xCLEVBQ0Qsd0JBQXdCLENBQ3pCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUNqQixLQUFLLENBQUMsT0FBTyxJQUFJLGlDQUFpQyxFQUNsRCxHQUFHLENBQ0osQ0FDRixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQztBQTVFVyxRQUFBLElBQUksUUE0RWYifQ==
|