@devx-commerce/plugin-discounts-svaraa 0.0.2 → 0.0.3-beta.1
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/store/discounts/price-rules/route.js +9 -1
- package/.medusa/server/src/subscribers/promocode-subscriber.js +5 -20
- package/.medusa/server/src/workflows/discount/apply-coupon/steps/validate-coupon-step.js +8 -6
- package/.medusa/server/src/workflows/discount/index.js +2 -1
- package/.medusa/server/src/workflows/discount/revalidate-coupon-check/index.js +59 -0
- package/.medusa/server/src/workflows/discount/update-coupon-code-stats/step/update-coupon-code-stats.js +14 -3
- package/package.json +1 -1
|
@@ -8,6 +8,14 @@ async function GET(req, res) {
|
|
|
8
8
|
const query = req.scope.resolve("query");
|
|
9
9
|
const userId = req.auth_context?.actor_id || req.auth_context;
|
|
10
10
|
let filters = { ...req.filterableFields };
|
|
11
|
+
// Filter out expired coupons - only show active coupons
|
|
12
|
+
const now = new Date();
|
|
13
|
+
filters.starts_at = { $lte: now };
|
|
14
|
+
filters.visibility = true;
|
|
15
|
+
// Date filter for ends_at (not expired)
|
|
16
|
+
const dateFilter = {
|
|
17
|
+
$or: [{ ends_at: { $gte: now } }, { ends_at: null }],
|
|
18
|
+
};
|
|
11
19
|
if (!userId) {
|
|
12
20
|
filters = {
|
|
13
21
|
...filters,
|
|
@@ -64,4 +72,4 @@ async function GET(req, res) {
|
|
|
64
72
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(message, 500));
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Rpc2NvdW50cy9wcmljZS1ydWxlcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLGtCQStFQztBQXhGRCwrREFJc0M7QUFFdEMsaURBQXVEO0FBR2hELEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQWlFLEVBQ2pFLEdBQW1CO0lBRW5CLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFFOUQsSUFBSSxPQUFPLEdBQXdCLEVBQUUsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUUvRCx3REFBd0Q7UUFDeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRTFCLHdDQUF3QztRQUN4QyxNQUFNLFVBQVUsR0FBRztZQUNqQixHQUFHLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3JELENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLEdBQUc7Z0JBQ1IsR0FBRyxPQUFPO2dCQUNWLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixXQUFXLEVBQUUsS0FBSztnQkFDbEIsY0FBYyxFQUFFLEtBQUs7YUFDdEIsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLE1BQU0s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
|
|
@@ -15,28 +15,16 @@ async function promocodeMasterHandler({ event, container, }) {
|
|
|
15
15
|
await Promise.all(data.map(async (promo) => {
|
|
16
16
|
const { data: promoCodeSeries } = await query.graph({
|
|
17
17
|
entity: "promocode_series_master",
|
|
18
|
-
fields: [
|
|
19
|
-
"id",
|
|
20
|
-
"promocode",
|
|
21
|
-
"promocode_master_id",
|
|
22
|
-
"is_block",
|
|
23
|
-
"promocode_series_id",
|
|
24
|
-
],
|
|
18
|
+
fields: ["id", "promocode", "promocode_master_id", "is_block", "promocode_series_id"],
|
|
25
19
|
filters: {
|
|
26
20
|
promocode_master_id: promo.id,
|
|
27
21
|
promocode_id: promo.promocode_id,
|
|
28
|
-
is_block: false
|
|
22
|
+
is_block: false
|
|
29
23
|
},
|
|
30
24
|
});
|
|
31
25
|
const { data: promoCodeCate } = await query.graph({
|
|
32
26
|
entity: "promocode_on",
|
|
33
|
-
fields: [
|
|
34
|
-
"id",
|
|
35
|
-
"grp_no",
|
|
36
|
-
"make_type_code",
|
|
37
|
-
"stock_type_code",
|
|
38
|
-
"style_code",
|
|
39
|
-
],
|
|
27
|
+
fields: ["id", "grp_no", "make_type_code", "stock_type_code", "style_code"],
|
|
40
28
|
filters: {
|
|
41
29
|
promocode_master_id: promo.id,
|
|
42
30
|
promocode_id: promo.promocode_id,
|
|
@@ -71,10 +59,7 @@ async function promocodeMasterHandler({ event, container, }) {
|
|
|
71
59
|
throwOnError: true,
|
|
72
60
|
});
|
|
73
61
|
await Promise.all(promoCodeSeries.map(async (series) => {
|
|
74
|
-
await discountService.createDiscountCodes({
|
|
75
|
-
code: series?.promocode || "",
|
|
76
|
-
price_rule_id: discountPriceRule.id,
|
|
77
|
-
});
|
|
62
|
+
await discountService.createDiscountCodes({ code: series?.promocode || "", price_rule_id: discountPriceRule.id });
|
|
78
63
|
}));
|
|
79
64
|
}
|
|
80
65
|
else {
|
|
@@ -97,4 +82,4 @@ async function promocodeMasterHandler({ event, container, }) {
|
|
|
97
82
|
exports.config = {
|
|
98
83
|
event: "promocode_master",
|
|
99
84
|
};
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW9jb2RlLXN1YnNjcmliZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcHJvbW9jb2RlLXN1YnNjcmliZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBT0EseUNBc0ZDO0FBNUZELHFEQUFzRTtBQUN0RSwwQ0FBdUQ7QUFFdkQsb0RBQXVEO0FBQ3ZELDZIQUE2SDtBQUU5RyxLQUFLLFVBQVUsc0JBQXNCLENBQUMsRUFDbkQsS0FBSyxFQUNMLFNBQVMsR0FDd0M7SUFDakQsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFBO0lBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBa0IsMkJBQWUsQ0FBQyxDQUFDO0lBQzVFLFFBQVEsU0FBUyxFQUFFLENBQUM7UUFDbEIsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztvQkFDbEQsTUFBTSxFQUFFLHlCQUF5QjtvQkFDakMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUscUJBQXFCLENBQUM7b0JBQ3JGLE9BQU8sRUFBRTt3QkFDUCxtQkFBbUIsRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDN0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO3dCQUNoQyxRQUFRLEVBQUUsS0FBSztxQkFDaEI7aUJBQ0YsQ0FBQyxDQUFDO2dCQUNILE1BQU0sRUFB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
|
|
@@ -195,15 +195,17 @@ exports.validateCouponStep = (0, workflows_sdk_1.createStep)("validate-coupon-st
|
|
|
195
195
|
validators_1.DiscountUsageLimitPerCustomerType.Values.SPECIFIC ||
|
|
196
196
|
priceRule?.usage_limit_per_customer_type ==
|
|
197
197
|
validators_1.DiscountUsageLimitPerCustomerType.Values.ONLY_ONCE)) {
|
|
198
|
+
const perCustomerLimit = priceRule?.usage_limit_per_customer_type ==
|
|
199
|
+
validators_1.DiscountUsageLimitPerCustomerType.Values.ONLY_ONCE
|
|
200
|
+
? 1
|
|
201
|
+
: priceRule?.usage_limit_per_customer_specific || 1;
|
|
198
202
|
const { data: orders } = await query.graph({
|
|
199
203
|
entity: "order",
|
|
200
|
-
fields: ["id"],
|
|
204
|
+
fields: ["id", "metadata"],
|
|
201
205
|
filters: { customer_id: customerId, status: "completed" },
|
|
202
|
-
pagination: {
|
|
203
|
-
take: priceRule?.usage_limit_per_customer_specific || 1,
|
|
204
|
-
},
|
|
205
206
|
});
|
|
206
|
-
|
|
207
|
+
const usedCount = orders?.filter((order) => order?.metadata?.discount?.code === code).length ?? 0;
|
|
208
|
+
if (usedCount >= perCustomerLimit) {
|
|
207
209
|
return new workflows_sdk_1.StepResponse({
|
|
208
210
|
isValid: false,
|
|
209
211
|
hasError: true,
|
|
@@ -217,4 +219,4 @@ exports.validateCouponStep = (0, workflows_sdk_1.createStep)("validate-coupon-st
|
|
|
217
219
|
message: "Coupon is valid.",
|
|
218
220
|
});
|
|
219
221
|
});
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtY291cG9uLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2FwcGx5LWNvdXBvbi9zdGVwcy92YWxpZGF0ZS1jb3Vwb24tc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxxRUFBNkU7QUFFN0UsMkVBSW9EO0FBRXBELGlEQUFvRDtBQXVCdkMsUUFBQSxrQkFBa0IsR0FBRyxJQUFBLDBCQUFVLEVBQzFDLHNCQUFzQixFQUN0QixLQUFLLEVBQ0gsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQTJCLEVBQzlELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekM7O3FFQUVpRTtJQUNqRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixPQUFPLElBQUksNEJBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsT0FBTyxFQUFFLGtCQUFrQjtTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLDRCQUFZLENBQUM7WUFDdEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLE9BQU8sRUFBRSxzQkFBc0I7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FDckIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFT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
|
|
@@ -28,4 +28,5 @@ __exportStar(require("./update-discount-price-rule"), exports);
|
|
|
28
28
|
__exportStar(require("./update-discount-price-rule"), exports);
|
|
29
29
|
__exportStar(require("./update-coupon-code-stats"), exports);
|
|
30
30
|
__exportStar(require("./remove-coupon"), exports);
|
|
31
|
-
|
|
31
|
+
__exportStar(require("./revalidate-coupon-check"), exports);
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0Isc0RBQW9DO0FBQ3BDLGtEQUFnQztBQUNoQyx1REFBcUM7QUFDckMseURBQXVDO0FBQ3ZDLGdFQUE4QztBQUM5QyxpREFBK0I7QUFDL0Isd0RBQXNDO0FBQ3RDLDhEQUE0QztBQUM1QywrREFBNkM7QUFDN0MsK0RBQTZDO0FBQzdDLCtEQUE2QztBQUM3Qyw2REFBMkM7QUFDM0Msa0RBQWdDO0FBQ2hDLDREQUF5QyJ9
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.revalidateCouponCheckWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const validate_coupon_step_1 = require("../apply-coupon/steps/validate-coupon-step");
|
|
7
|
+
const fetch_price_rule_by_code_1 = require("../calculate-coupon-discount/step/fetch-price-rule-by-code");
|
|
8
|
+
const remove_coupon_step_1 = require("../remove-coupon/step/remove-coupon-step");
|
|
9
|
+
exports.revalidateCouponCheckWorkflow = (0, workflows_sdk_1.createWorkflow)("revalidate-coupon-check", (input) => {
|
|
10
|
+
const { data: carts } = (0, core_flows_1.useQueryGraphStep)({
|
|
11
|
+
entity: "cart",
|
|
12
|
+
fields: [
|
|
13
|
+
"*",
|
|
14
|
+
"items.*",
|
|
15
|
+
"items.variant.*",
|
|
16
|
+
"items.variant.extended_variant.*",
|
|
17
|
+
"items.variant.extended_variant.party_style_details.*",
|
|
18
|
+
],
|
|
19
|
+
filters: { id: input.cart_id },
|
|
20
|
+
options: { throwIfKeyNotFound: true },
|
|
21
|
+
});
|
|
22
|
+
const cartAndCode = (0, workflows_sdk_1.transform)({ carts }, ({ carts }) => {
|
|
23
|
+
const cart = carts[0];
|
|
24
|
+
const metadata = (cart?.metadata || {});
|
|
25
|
+
const code = String(metadata?.discount?.code || metadata?.code || "");
|
|
26
|
+
return { cart, code, hasCode: !!code };
|
|
27
|
+
});
|
|
28
|
+
// Only validate if a coupon is applied
|
|
29
|
+
const validationResult = (0, workflows_sdk_1.when)(cartAndCode, ({ hasCode }) => hasCode).then(() => {
|
|
30
|
+
const priceRule = (0, fetch_price_rule_by_code_1.fetchPriceRuleByCodeStep)({
|
|
31
|
+
code: cartAndCode.code,
|
|
32
|
+
fields: [
|
|
33
|
+
"*",
|
|
34
|
+
"product_categories.*",
|
|
35
|
+
"product_categories.products.id",
|
|
36
|
+
"product_variants.*",
|
|
37
|
+
"customers.*",
|
|
38
|
+
],
|
|
39
|
+
pagination: { take: 1 },
|
|
40
|
+
});
|
|
41
|
+
return (0, validate_coupon_step_1.validateCouponStep)({
|
|
42
|
+
priceRule: priceRule,
|
|
43
|
+
code: cartAndCode.code,
|
|
44
|
+
cart: cartAndCode.cart,
|
|
45
|
+
customerId: input.customerId,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
// Remove coupon if invalid
|
|
49
|
+
(0, workflows_sdk_1.when)({ cartAndCode, validationResult }, ({ cartAndCode, validationResult }) => !!(cartAndCode?.hasCode &&
|
|
50
|
+
validationResult &&
|
|
51
|
+
!validationResult?.isValid)).then(() => {
|
|
52
|
+
(0, remove_coupon_step_1.removeCouponStep)({
|
|
53
|
+
cart: cartAndCode.cart,
|
|
54
|
+
code: cartAndCode.code,
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
return new workflows_sdk_1.WorkflowResponse({});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Rpc2NvdW50L3JldmFsaWRhdGUtY291cG9uLWNoZWNrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUsyQztBQUMzQyw0REFBZ0U7QUFDaEUscUZBQWdGO0FBQ2hGLHlHQUFzRztBQUN0RyxpRkFBNEU7QUFFL0QsUUFBQSw2QkFBNkIsR0FBRyxJQUFBLDhCQUFjLEVBQ3pELHlCQUF5QixFQUN6QixDQUFDLEtBQStDLEVBQUUsRUFBRTtJQUNsRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDeEMsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUU7WUFDTixHQUFHO1lBQ0gsU0FBUztZQUNULGlCQUFpQjtZQUNqQixrQ0FBa0M7WUFDbEMsc0RBQXNEO1NBQ3ZEO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUU7UUFDOUIsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFO0tBQ3RDLENBQUMsQ0FBQztJQUVILE1BQU0sV0FBVyxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQ3JELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksRUFBRSxDQUF3QixDQUFDO1FBQy9ELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FDakIsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksUUFBUSxFQUFFLElBQUksSUFBSSxFQUFFLENBQ2pELENBQUM7UUFDRixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsdUNBQXVDO0lBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxvQkFBSSxFQUMzQixXQUFXLEVBQ1gsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQ3pCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNWLE1BQU0sU0FBUyxHQUFHLElBQUEsbURBQXdCLEVBQUM7WUFDekMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sRUFBRTtnQkFDTixHQUFHO2dCQUNILHNCQUFzQjtnQkFDdEIsZ0NBQWdDO2dCQUNoQyxvQkFBb0I7Z0JBQ3BCLGFBQWE7YUFDZDtZQUNELFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLHlDQUFrQixFQUFDO1lBQ3hCLFNBQVMsRUFBRSxTQUFnQjtZQUMzQixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7WUFDdEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFXO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILDJCQUEyQjtJQUMzQixJQUFBLG9CQUFJLEVBQ0YsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsRUFDakMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsQ0FDcEMsQ0FBQyxDQUFDLENBQ0EsV0FBVyxFQUFFLE9BQU87UUFDcEIsZ0JBQWdCO1FBQ2hCLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUMzQixDQUNKLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNWLElBQUEscUNBQWdCLEVBQUM7WUFDZixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQVc7WUFDN0IsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGdDQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -5,26 +5,31 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
5
5
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
6
|
const discounts_1 = require("../../../../modules/discounts");
|
|
7
7
|
exports.updateCouponCodeStatsStep = (0, workflows_sdk_1.createStep)("update-coupon-code-stats", async (input, { container }) => {
|
|
8
|
+
console.log("[update-coupon-code-stats] step started", { order_id: input.order_id });
|
|
8
9
|
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
10
|
const discountService = container.resolve(discounts_1.DISCOUNT_MODULE);
|
|
10
11
|
const { data: [order], } = await query.graph({
|
|
11
12
|
entity: "order",
|
|
12
|
-
fields: ["*", "metadata
|
|
13
|
+
fields: ["*", "metadata"],
|
|
13
14
|
filters: { id: input.order_id },
|
|
14
15
|
});
|
|
16
|
+
console.log("[update-coupon-code-stats] order fetched", { order_id: order.id, metadata: order.metadata });
|
|
15
17
|
const { data: [order_payment_data], } = await query.graph({
|
|
16
18
|
entity: "order_payment_collection",
|
|
17
19
|
fields: ["payment_collection_id"],
|
|
18
20
|
filters: { order_id: order.id },
|
|
19
21
|
});
|
|
22
|
+
console.log("[update-coupon-code-stats] payment collection id", { payment_collection_id: order_payment_data?.payment_collection_id });
|
|
20
23
|
const { data: [payment_collection_data], } = await query.graph({
|
|
21
24
|
entity: "payment_collection",
|
|
22
25
|
fields: ["amount"],
|
|
23
26
|
filters: { id: order_payment_data.payment_collection_id },
|
|
24
27
|
});
|
|
25
|
-
const appliedCouponCode = order.metadata?.code;
|
|
28
|
+
const appliedCouponCode = order.metadata?.discount?.code;
|
|
26
29
|
const orderTotal = payment_collection_data.amount || 0;
|
|
30
|
+
console.log("[update-coupon-code-stats] coupon and order total", { appliedCouponCode, orderTotal });
|
|
27
31
|
if (!appliedCouponCode || !orderTotal) {
|
|
32
|
+
console.log("[update-coupon-code-stats] no coupon or order total, skipping");
|
|
28
33
|
return new workflows_sdk_1.StepResponse(true, { prevData: null });
|
|
29
34
|
}
|
|
30
35
|
const { data: [discountCode], } = await query.graph({
|
|
@@ -32,6 +37,7 @@ exports.updateCouponCodeStatsStep = (0, workflows_sdk_1.createStep)("update-coup
|
|
|
32
37
|
fields: ["*"],
|
|
33
38
|
filters: { code: appliedCouponCode },
|
|
34
39
|
});
|
|
40
|
+
console.log("[update-coupon-code-stats] discount code fetched", { discountCode });
|
|
35
41
|
if (!discountCode)
|
|
36
42
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Coupon code not found");
|
|
37
43
|
await discountService.updateDiscountCodes({
|
|
@@ -39,6 +45,11 @@ exports.updateCouponCodeStatsStep = (0, workflows_sdk_1.createStep)("update-coup
|
|
|
39
45
|
usage_count: (discountCode.usage_count || 0) + 1,
|
|
40
46
|
sales_generated: (discountCode.sales_generated || 0) + orderTotal,
|
|
41
47
|
});
|
|
48
|
+
console.log("[update-coupon-code-stats] stats updated", {
|
|
49
|
+
code: appliedCouponCode,
|
|
50
|
+
new_usage_count: (discountCode.usage_count || 0) + 1,
|
|
51
|
+
new_sales_generated: (discountCode.sales_generated || 0) + orderTotal,
|
|
52
|
+
});
|
|
42
53
|
return new workflows_sdk_1.StepResponse(true, { prevData: discountCode });
|
|
43
54
|
}, async (input, { container }) => {
|
|
44
55
|
const discountService = container.resolve(discounts_1.DISCOUNT_MODULE);
|
|
@@ -49,4 +60,4 @@ exports.updateCouponCodeStatsStep = (0, workflows_sdk_1.createStep)("update-coup
|
|
|
49
60
|
});
|
|
50
61
|
}
|
|
51
62
|
});
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWNvdXBvbi1jb2RlLXN0YXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kaXNjb3VudC91cGRhdGUtY291cG9uLWNvZGUtc3RhdHMvc3RlcC91cGRhdGUtY291cG9uLWNvZGUtc3RhdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBR21DO0FBQ25DLHFFQUE2RTtBQUU3RSw2REFBZ0U7QUFHbkQsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDBCQUFVLEVBQ2pELDBCQUEwQixFQUMxQixLQUFLLEVBQUUsS0FBMkIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUVyRixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sZUFBZSxHQUFvQixTQUFTLENBQUMsT0FBTyxDQUFDLDJCQUFlLENBQUMsQ0FBQztJQUU1RSxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQ2QsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO0tBQ2hDLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFMUcsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFD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
|