@hartl-services/medusa-affiliate 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/complete-cart-hooks.js +31 -0
- package/.medusa/server/src/modules/affiliate/service.js +6 -1
- package/.medusa/server/src/workflows/affiliate/finalize-affiliate-order-attribution.js +55 -3
- package/.medusa/server/src/workflows/affiliate/validate-complete-cart.js +62 -0
- package/.medusa/server/src/workflows/hooks/validate-complete-cart-affiliate-referral.js +1 -54
- package/README.md +22 -8
- package/package.json +3 -3
- package/.medusa/server/src/workflows/hooks/complete-cart-affiliate-attribution.js +0 -57
- package/.medusa/server/src/workflows/hooks/complete-cart-order-created-composition.js +0 -111
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.affiliateCompleteCartHooks = exports.ORDER_CREATED_PARTICIPANT_WORKFLOW_OPTIONS = exports.FINALIZE_AFFILIATE_ORDER_ATTRIBUTION_WORKFLOW_ID = exports.AFFILIATE_VALIDATE_COMPLETE_CART_WORKFLOW_ID = void 0;
|
|
4
|
+
exports.AFFILIATE_VALIDATE_COMPLETE_CART_WORKFLOW_ID = "affiliate-validate-complete-cart";
|
|
5
|
+
exports.FINALIZE_AFFILIATE_ORDER_ATTRIBUTION_WORKFLOW_ID = "finalize-affiliate-order-attribution";
|
|
6
|
+
/**
|
|
7
|
+
* The base cancels orderCreated participants by transaction id, also after
|
|
8
|
+
* they finished (compensation of a later complete-cart step). The in-memory
|
|
9
|
+
* workflow engine deletes a finished transaction unless it is stored with a
|
|
10
|
+
* retention time, so the participant keeps it as long as Medusa's
|
|
11
|
+
* completeCartWorkflow keeps its own (3 days, core-flows complete-cart.js).
|
|
12
|
+
*/
|
|
13
|
+
exports.ORDER_CREATED_PARTICIPANT_WORKFLOW_OPTIONS = {
|
|
14
|
+
store: true,
|
|
15
|
+
retentionTime: 60 * 60 * 24 * 3,
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Run by @hartl-services/medusa-base, which owns the complete-cart hooks.
|
|
19
|
+
* Affiliate's orderCreated participant runs before tax compliance (200).
|
|
20
|
+
*/
|
|
21
|
+
exports.affiliateCompleteCartHooks = {
|
|
22
|
+
validate: {
|
|
23
|
+
workflow_id: exports.AFFILIATE_VALIDATE_COMPLETE_CART_WORKFLOW_ID,
|
|
24
|
+
order: 100,
|
|
25
|
+
},
|
|
26
|
+
orderCreated: {
|
|
27
|
+
workflow_id: exports.FINALIZE_AFFILIATE_ORDER_ATTRIBUTION_WORKFLOW_ID,
|
|
28
|
+
order: 100,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC1ob29rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wbGV0ZS1jYXJ0LWhvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsNENBQTRDLEdBQ3ZELGtDQUFrQyxDQUFBO0FBQ3ZCLFFBQUEsZ0RBQWdELEdBQzNELHNDQUFzQyxDQUFBO0FBRXhDOzs7Ozs7R0FNRztBQUNVLFFBQUEsMENBQTBDLEdBQUc7SUFDeEQsS0FBSyxFQUFFLElBQUk7SUFDWCxhQUFhLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztDQUN2QixDQUFBO0FBRVY7OztHQUdHO0FBQ1UsUUFBQSwwQkFBMEIsR0FBaUM7SUFDdEUsUUFBUSxFQUFFO1FBQ1IsV0FBVyxFQUFFLG9EQUE0QztRQUN6RCxLQUFLLEVBQUUsR0FBRztLQUNYO0lBQ0QsWUFBWSxFQUFFO1FBQ1osV0FBVyxFQUFFLHdEQUFnRDtRQUM3RCxLQUFLLEVBQUUsR0FBRztLQUNYO0NBQ0YsQ0FBQSJ9
|
|
@@ -48,6 +48,7 @@ const referral_lifecycle_manager_1 = require("./services/referral-lifecycle-mana
|
|
|
48
48
|
const order_attribution_manager_1 = require("./services/order-attribution-manager");
|
|
49
49
|
const email_normalization_1 = require("./domain/email-normalization");
|
|
50
50
|
const plugin_features_1 = require("../../plugin-features");
|
|
51
|
+
const complete_cart_hooks_1 = require("../../complete-cart-hooks");
|
|
51
52
|
const consignment_reminder_rules_1 = require("./domain/consignment-reminder-rules");
|
|
52
53
|
const plugin_options_1 = require("./domain/plugin-options");
|
|
53
54
|
let consignmentWorkflowContainer;
|
|
@@ -69,6 +70,10 @@ class AffiliateModuleService extends (0, utils_1.MedusaService)({
|
|
|
69
70
|
ConsignmentReport: consignment_report_1.default,
|
|
70
71
|
ConsignmentReportLine: consignment_report_line_1.default,
|
|
71
72
|
}) {
|
|
73
|
+
/** Discovered by @hartl-services/medusa-base, which runs these workflows. */
|
|
74
|
+
completeCartHooks() {
|
|
75
|
+
return complete_cart_hooks_1.affiliateCompleteCartHooks;
|
|
76
|
+
}
|
|
72
77
|
constructor(container, options) {
|
|
73
78
|
super(container);
|
|
74
79
|
/** Discovered by @hartl-services/medusa-base for the feature toggles. */
|
|
@@ -2337,4 +2342,4 @@ __decorate([
|
|
|
2337
2342
|
__metadata("design:returntype", Promise)
|
|
2338
2343
|
], AffiliateModuleService.prototype, "updatePartnerPortalSlug", null);
|
|
2339
2344
|
exports.default = AffiliateModuleService;
|
|
2340
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2FmZmlsaWF0ZS9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBTWtDO0FBQ2xDLG1EQUFxRTtBQXVCckUsa0dBSTJFO0FBQzNFLGtFQUF5RTtBQUN6RSxtRUFBMEM7QUFDMUMsaUZBQXVEO0FBQ3ZELG1HQUF3RTtBQUN4RSwrR0FBb0Y7QUFDcEYscUdBQTBFO0FBQzFFLDJGQUFpRTtBQUNqRSwrRkFBb0U7QUFDcEUsdUdBQTRFO0FBQzVFLHFHQUEwRTtBQUMxRSw2RUFBbUQ7QUFDbkQsaUZBQXVEO0FBQ3ZELHFGQUEyRDtBQUMzRCwrRkFBb0U7QUFDcEUseUZBQStEO0FBQy9ELG1HQUF3RTtBQUN4RSwyR0FBZ0Y7QUFDaEYsNEZBQXNGO0FBQ3RGLHNGQUFnRjtBQUNoRixrRkFBNEU7QUFDNUUsa0dBQTJGO0FBQzNGLDhFQUF3RTtBQUN4RSxvRUFBK0Q7QUFDL0Qsa0ZBQTRFO0FBQzVFLG9GQUE4RTtBQUM5RSw0R0FBcUc7QUFDckcsc0ZBQWdGO0FBQ2hGLG9GQUE4RTtBQUM5RSxzRUFBc0U7QUFDdEUsMkRBQStEO0FBQy9ELG9GQUc0QztBQUM1Qyw0REFJZ0M7QUErR2hDLElBQUksNEJBQXlELENBQUE7QUFFN0QsTUFBTSxzQkFBdUIsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDakQsU0FBUyxFQUFULG1CQUFTO0lBQ1QsZUFBZSxFQUFmLDBCQUFlO0lBQ2Ysb0JBQW9CLEVBQXBCLCtCQUFvQjtJQUNwQixhQUFhLEVBQWIsd0JBQWE7SUFDYiwyQkFBMkIsRUFBM0IsdUNBQTJCO0lBQzNCLGVBQWUsRUFBZiwwQkFBZTtJQUNmLHdCQUF3QixFQUF4QixvQ0FBd0I7SUFDeEIsdUJBQXVCLEVBQXZCLG1DQUF1QjtJQUN2Qix3QkFBd0IsRUFBeEIsb0NBQXdCO0lBQ3hCLHFCQUFxQixFQUFy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
|
|
2345
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2FmZmlsaWF0ZS9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBTWtDO0FBQ2xDLG1EQUFxRTtBQXdCckUsa0dBSTJFO0FBQzNFLGtFQUF5RTtBQUN6RSxtRUFBMEM7QUFDMUMsaUZBQXVEO0FBQ3ZELG1HQUF3RTtBQUN4RSwrR0FBb0Y7QUFDcEYscUdBQTBFO0FBQzFFLDJGQUFpRTtBQUNqRSwrRkFBb0U7QUFDcEUsdUdBQTRFO0FBQzVFLHFHQUEwRTtBQUMxRSw2RUFBbUQ7QUFDbkQsaUZBQXVEO0FBQ3ZELHFGQUEyRDtBQUMzRCwrRkFBb0U7QUFDcEUseUZBQStEO0FBQy9ELG1HQUF3RTtBQUN4RSwyR0FBZ0Y7QUFDaEYsNEZBQXNGO0FBQ3RGLHNGQUFnRjtBQUNoRixrRkFBNEU7QUFDNUUsa0dBQTJGO0FBQzNGLDhFQUF3RTtBQUN4RSxvRUFBK0Q7QUFDL0Qsa0ZBQTRFO0FBQzVFLG9GQUE4RTtBQUM5RSw0R0FBcUc7QUFDckcsc0ZBQWdGO0FBQ2hGLG9GQUE4RTtBQUM5RSxzRUFBc0U7QUFDdEUsMkRBQStEO0FBQy9ELG1FQUFzRTtBQUN0RSxvRkFHNEM7QUFDNUMsNERBSWdDO0FBK0doQyxJQUFJLDRCQUF5RCxDQUFBO0FBRTdELE1BQU0sc0JBQXVCLFNBQVEsSUFBQSxxQkFBYSxFQUFDO0lBQ2pELFNBQVMsRUFBVCxtQkFBUztJQUNULGVBQWUsRUFBZiwwQkFBZTtJQUNmLG9CQUFvQixFQUFwQiwrQkFBb0I7SUFDcEIsYUFBYSxFQUFiLHdCQUFhO0lBQ2IsMkJBQTJCLEVBQTNCLHVDQUEyQjtJQUMzQixlQUFlLEVBQWYsMEJBQWU7SUFDZix3QkFBd0IsRUFBeEIsb0NBQXdCO0lBQ3hCLHVCQUF1QixFQUF2QixtQ0FBdUI7SUFDdkIsd0JBQXdCLEVBQXhCLG9DQUF3QjtJQUN4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
|
|
@@ -1,15 +1,50 @@
|
|
|
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.finalizeAffiliateOrderAttributionWorkflow = exports.finalizeAffiliateOrderAttributionStep = void 0;
|
|
37
|
+
const Sentry = __importStar(require("@sentry/node"));
|
|
4
38
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
39
|
const utils_1 = require("@medusajs/framework/utils");
|
|
40
|
+
const complete_cart_hooks_1 = require("../../complete-cart-hooks");
|
|
6
41
|
const email_normalization_1 = require("../../modules/affiliate/domain/email-normalization");
|
|
7
42
|
const resolve_services_1 = require("../../utils/resolve-services");
|
|
8
43
|
const cart_promotions_1 = require("../../utils/cart-promotions");
|
|
9
44
|
const promotion_eligibility_1 = require("./promotion-eligibility");
|
|
10
45
|
const utils_2 = require("./utils");
|
|
11
46
|
const affiliate_coupon_cart_1 = require("./affiliate-coupon-cart");
|
|
12
|
-
|
|
47
|
+
const finalizeAffiliateOrderAttribution = async (input, container) => {
|
|
13
48
|
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
|
|
14
49
|
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
15
50
|
const [{ data: orders }, { data: carts }, commissionOrder] = await Promise.all([
|
|
@@ -73,10 +108,27 @@ exports.finalizeAffiliateOrderAttributionStep = (0, workflows_sdk_1.createStep)(
|
|
|
73
108
|
commission_order: commissionOrder,
|
|
74
109
|
}));
|
|
75
110
|
return new workflows_sdk_1.StepResponse(result, result.compensation);
|
|
111
|
+
};
|
|
112
|
+
exports.finalizeAffiliateOrderAttributionStep = (0, workflows_sdk_1.createStep)("finalize-affiliate-order-attribution", async (input, { container }) => {
|
|
113
|
+
try {
|
|
114
|
+
return await finalizeAffiliateOrderAttribution(input, container);
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
// Runs as the complete-cart orderCreated participant: report the
|
|
118
|
+
// failure here, since the base only rethrows it.
|
|
119
|
+
Sentry.captureException(error, {
|
|
120
|
+
tags: { area: "affiliate-complete-cart-order-created" },
|
|
121
|
+
extra: { cartId: input.cart_id, orderId: input.order_id },
|
|
122
|
+
});
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
76
125
|
}, async (compensation, { container }) => {
|
|
77
126
|
if (!compensation)
|
|
78
127
|
return;
|
|
79
128
|
await (0, resolve_services_1.resolveAffiliateService)(container).compensateOrderAttribution(compensation);
|
|
80
129
|
});
|
|
81
|
-
exports.finalizeAffiliateOrderAttributionWorkflow = (0, workflows_sdk_1.createWorkflow)(
|
|
82
|
-
|
|
130
|
+
exports.finalizeAffiliateOrderAttributionWorkflow = (0, workflows_sdk_1.createWorkflow)({
|
|
131
|
+
name: complete_cart_hooks_1.FINALIZE_AFFILIATE_ORDER_ATTRIBUTION_WORKFLOW_ID,
|
|
132
|
+
...complete_cart_hooks_1.ORDER_CREATED_PARTICIPANT_WORKFLOW_OPTIONS,
|
|
133
|
+
}, (input) => new workflows_sdk_1.WorkflowResponse((0, exports.finalizeAffiliateOrderAttributionStep)(input)));
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYWxpemUtYWZmaWxpYXRlLW9yZGVyLWF0dHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZmZpbGlhdGUvZmluYWxpemUtYWZmaWxpYXRlLW9yZGVyLWF0dHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFzQztBQUt0QyxxRUFLMEM7QUFDMUMscURBSWtDO0FBRWxDLG1FQUdrQztBQUNsQyw0RkFBNEY7QUFLNUYsbUVBQXNFO0FBQ3RFLGlFQUFnRTtBQUNoRSxtRUFBaUY7QUFDakYsbUNBQTREO0FBQzVELG1FQUF5RTtBQW9CekUsTUFBTSxpQ0FBaUMsR0FBRyxLQUFLLEVBQzdDLEtBQXFELEVBQ3JELFNBQTBCLEVBQzFCLEVBQUU7SUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUEsMENBQXVCLEVBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsZUFBZSxDQUFDLEdBQ3hELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNoQixLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ1YsTUFBTSxFQUFFLE9BQU87WUFDZixNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixhQUFhO2dCQUNiLE9BQU87Z0JBQ1AsZUFBZTtnQkFDZixZQUFZO2FBQ2I7WUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtTQUNoQyxDQUFDO1FBQ0YsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNWLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxF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
|
|
@@ -0,0 +1,62 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.affiliateValidateCompleteCartWorkflow = exports.validateAffiliateCompleteCartStep = void 0;
|
|
37
|
+
const Sentry = __importStar(require("@sentry/node"));
|
|
38
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
39
|
+
const complete_cart_hooks_1 = require("../../complete-cart-hooks");
|
|
40
|
+
const complete_cart_own_order_discount_1 = require("../hooks/complete-cart-own-order-discount");
|
|
41
|
+
const validate_complete_cart_affiliate_referral_1 = require("../hooks/validate-complete-cart-affiliate-referral");
|
|
42
|
+
exports.validateAffiliateCompleteCartStep = (0, workflows_sdk_1.createStep)("validate-affiliate-complete-cart", async (input, context) => {
|
|
43
|
+
try {
|
|
44
|
+
await (0, complete_cart_own_order_discount_1.validateCompleteCartOwnOrderDiscount)(input, context);
|
|
45
|
+
await (0, validate_complete_cart_affiliate_referral_1.validateCompleteCartAffiliateReferral)(input, context);
|
|
46
|
+
return new workflows_sdk_1.StepResponse(undefined);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
// Both checks already fail the checkout API call via a thrown
|
|
50
|
+
// MedusaError - captured here too for aggregate visibility (e.g.
|
|
51
|
+
// noticing every checkout failing for one affiliate), not because the
|
|
52
|
+
// customer-facing behavior needs to change.
|
|
53
|
+
Sentry.captureException(error, {
|
|
54
|
+
tags: { area: "affiliate-complete-cart-validate" },
|
|
55
|
+
extra: { cartId: input.cart.id },
|
|
56
|
+
});
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
/** complete-cart `validate` participant, run by @hartl-services/medusa-base. */
|
|
61
|
+
exports.affiliateValidateCompleteCartWorkflow = (0, workflows_sdk_1.createWorkflow)(complete_cart_hooks_1.AFFILIATE_VALIDATE_COMPLETE_CART_WORKFLOW_ID, (input) => new workflows_sdk_1.WorkflowResponse((0, exports.validateAffiliateCompleteCartStep)(input)));
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtY29tcGxldGUtY2FydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvYWZmaWxpYXRlL3ZhbGlkYXRlLWNvbXBsZXRlLWNhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQXNDO0FBRXRDLHFFQUswQztBQUUxQyxtRUFBd0Y7QUFDeEYsZ0dBQWdHO0FBQ2hHLGtIQUEwRztBQUU3RixRQUFBLGlDQUFpQyxHQUFHLElBQUEsMEJBQVUsRUFDekQsa0NBQWtDLEVBQ2xDLEtBQUssRUFBRSxLQUFnQyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ2xELElBQUksQ0FBQztRQUNILE1BQU0sSUFBQSx1RUFBb0MsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDMUQsTUFBTSxJQUFBLGlGQUFxQyxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMzRCxPQUFPLElBQUksNEJBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLDhEQUE4RDtRQUM5RCxpRUFBaUU7UUFDakUsc0VBQXNFO1FBQ3RFLDRDQUE0QztRQUM1QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzdCLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxrQ0FBa0MsRUFBRTtZQUNsRCxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUcsS0FBSyxDQUFDLElBQXdCLENBQUMsRUFBRSxFQUFFO1NBQ3RELENBQUMsQ0FBQTtRQUNGLE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRUQsZ0ZBQWdGO0FBQ25FLFFBQUEscUNBQXFDLEdBQUcsSUFBQSw4QkFBYyxFQUNqRSxrRUFBNEMsRUFDNUMsQ0FBQyxLQUFnQyxFQUFFLEVBQUUsQ0FDbkMsSUFBSSxnQ0FBZ0IsQ0FBQyxJQUFBLHlDQUFpQyxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2pFLENBQUEifQ==
|
|
@@ -1,48 +1,12 @@
|
|
|
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.validateCompleteCartAffiliateReferral = void 0;
|
|
37
|
-
const Sentry = __importStar(require("@sentry/node"));
|
|
38
4
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
39
5
|
const utils_1 = require("@medusajs/framework/utils");
|
|
40
|
-
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
41
6
|
const email_normalization_1 = require("../../modules/affiliate/domain/email-normalization");
|
|
42
7
|
const resolve_services_1 = require("../../utils/resolve-services");
|
|
43
8
|
const affiliate_coupon_cart_1 = require("../affiliate/affiliate-coupon-cart");
|
|
44
9
|
const promotion_eligibility_1 = require("../affiliate/promotion-eligibility");
|
|
45
|
-
const complete_cart_own_order_discount_1 = require("./complete-cart-own-order-discount");
|
|
46
10
|
const INVALID_AFFILIATE_REFERRAL_MESSAGE = "Der Affiliate-Referral des Warenkorbs ist nicht vollständig validiert. Bitte aktualisiere den Warenkorb und versuche es erneut.";
|
|
47
11
|
const validateCompleteCartAffiliateReferral = async ({ cart }, { container }) => {
|
|
48
12
|
const invalid = () => {
|
|
@@ -117,21 +81,4 @@ const validateCompleteCartAffiliateReferral = async ({ cart }, { container }) =>
|
|
|
117
81
|
return new workflows_sdk_1.StepResponse(undefined);
|
|
118
82
|
};
|
|
119
83
|
exports.validateCompleteCartAffiliateReferral = validateCompleteCartAffiliateReferral;
|
|
120
|
-
|
|
121
|
-
try {
|
|
122
|
-
await (0, complete_cart_own_order_discount_1.validateCompleteCartOwnOrderDiscount)(input, context);
|
|
123
|
-
return await (0, exports.validateCompleteCartAffiliateReferral)(input, context);
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
// Both hooks already fail the checkout API call via a thrown
|
|
127
|
-
// MedusaError - captured here too for aggregate visibility (e.g.
|
|
128
|
-
// noticing every checkout failing for one affiliate), not because the
|
|
129
|
-
// customer-facing behavior needs to change.
|
|
130
|
-
Sentry.captureException(error, {
|
|
131
|
-
tags: { area: "affiliate-complete-cart-validate" },
|
|
132
|
-
extra: { cartId: input.cart.id },
|
|
133
|
-
});
|
|
134
|
-
throw error;
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtY29tcGxldGUtY2FydC1hZmZpbGlhdGUtcmVmZXJyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hvb2tzL3ZhbGlkYXRlLWNvbXBsZXRlLWNhcnQtYWZmaWxpYXRlLXJlZmVycmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFzQztBQUV0QyxxRUFBZ0U7QUFDaEUscURBSWtDO0FBQ2xDLDREQUFrRTtBQUVsRSw0RkFBNEY7QUFDNUYsbUVBQXNFO0FBRXRFLDhFQUkyQztBQUMzQyw4RUFBNEY7QUFDNUYseUZBSTJDO0FBRTNDLE1BQU0sa0NBQWtDLEdBQ3RDLGlJQUFpSSxDQUFBO0FBUzVILE1BQU0scUNBQXFDLEdBQUcsS0FBSyxFQUN4RCxFQUFFLElBQUksRUFBNkIsRUFDbkMsRUFBRSxTQUFTLEVBQStCLEVBQzFDLEVBQUU7SUFDRixNQUFNLE9BQU8sR0FBRyxHQUFVLEVBQUU7UUFDMUIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0Isa0NBQWtDLENBQ25DLENBQUE7SUFDSCxDQUFDLENBQUE7SUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFxQyxDQUFBO0lBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxLQUFLO1FBQ3JDLENBQUMsQ0FBQyxJQUFBLDZDQUF1QixFQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDMUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUNSLE1BQU0sS0FBSyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMs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
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtY29tcGxldGUtY2FydC1hZmZpbGlhdGUtcmVmZXJyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hvb2tzL3ZhbGlkYXRlLWNvbXBsZXRlLWNhcnQtYWZmaWxpYXRlLXJlZmVycmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUFnRTtBQUNoRSxxREFJa0M7QUFFbEMsNEZBQTRGO0FBQzVGLG1FQUFzRTtBQUV0RSw4RUFJMkM7QUFDM0MsOEVBQTRGO0FBTTVGLE1BQU0sa0NBQWtDLEdBQ3RDLGlJQUFpSSxDQUFBO0FBUzVILE1BQU0scUNBQXFDLEdBQUcsS0FBSyxFQUN4RCxFQUFFLElBQUksRUFBNkIsRUFDbkMsRUFBRSxTQUFTLEVBQStCLEVBQzFDLEVBQUU7SUFDRixNQUFNLE9BQU8sR0FBRyxHQUFVLEVBQUU7UUFDMUIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0Isa0NBQWtDLENBQ25DLENBQUE7SUFDSCxDQUFDLENBQUE7SUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFxQyxDQUFBO0lBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxLQUFLO1FBQ3JDLENBQUMsQ0FBQyxJQUFBLDZDQUF1QixFQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDMUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUNSLE1BQU0sS0FBSyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsdUNBQXVDLENBQzFFO1FBQ0UsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFO1FBQ3JCLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FB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
|
package/README.md
CHANGED
|
@@ -20,8 +20,10 @@ internal implementation detail and are not exported for direct import.
|
|
|
20
20
|
pnpm add @hartl-services/medusa-affiliate @hartl-services/medusa-base @sentry/node @tanstack/react-query
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
`@hartl-services/medusa-base` is a required peer: it stores the
|
|
24
|
-
feature toggles (see below)
|
|
23
|
+
`@hartl-services/medusa-base` (>= 0.2.0) is a required peer: it stores the
|
|
24
|
+
Affiliate feature toggles (see below), runs the Affiliate checkout validation
|
|
25
|
+
and order attribution through its complete-cart hooks (section 6), and must be
|
|
26
|
+
registered as a plugin as well.
|
|
25
27
|
`@medusajs/admin-sdk`, `@medusajs/framework`, `@medusajs/js-sdk`,
|
|
26
28
|
`@medusajs/medusa`, `@medusajs/ui`, `react`, and `react-router-dom` are peer
|
|
27
29
|
dependencies already provided by a standard Medusa 2.19 shop and admin
|
|
@@ -101,8 +103,8 @@ before a Storefront uses the portal.
|
|
|
101
103
|
**The cart path ignores the toggles.** The cart middlewares (referral-cookie
|
|
102
104
|
binding, cart request locks, registered-email checkout guards), every
|
|
103
105
|
workflow hook (Affiliate-coupon lock on `POST /store/carts/:id/promotions`,
|
|
104
|
-
complete-cart referral and own-order validation, order attribution
|
|
105
|
-
|
|
106
|
+
complete-cart referral and own-order validation, order attribution),
|
|
107
|
+
`preventConsignmentOrderCancellation`, the
|
|
106
108
|
`affiliate-cart-updated` subscriber and the commission corrections on order
|
|
107
109
|
cancellation and return never read a toggle. The toggles control whether
|
|
108
110
|
features are visible and reachable, not the integrity of existing Affiliate
|
|
@@ -318,11 +320,21 @@ Cart mutation subscribers reconcile Customer, e-mail, and affiliate
|
|
|
318
320
|
promotions before checkout. On `/complete`, the lock middleware reconciles each
|
|
319
321
|
applied coupon under its provisioning locks, so the order uses the current rate
|
|
320
322
|
and variant allowlist; if that changes the total, Medusa requires a new payment
|
|
321
|
-
session as for any discount change. The complete-cart validation
|
|
323
|
+
session as for any discount change. The complete-cart validation then
|
|
322
324
|
checks again and blocks inconsistent or unvalidated state instead of creating
|
|
323
325
|
an order with the wrong discount or affiliate.
|
|
324
326
|
|
|
325
|
-
|
|
327
|
+
This plugin registers no complete-cart hook itself: Medusa 2.19.0 allows one
|
|
328
|
+
handler per hook, and `@hartl-services/medusa-base` owns both (see its README,
|
|
329
|
+
"Complete-cart hook composition"). The Affiliate module service declares two
|
|
330
|
+
participants with `order` 100, which the base runs before tax compliance
|
|
331
|
+
(200): the `validate` workflow `affiliate-validate-complete-cart` (own-order
|
|
332
|
+
discount check, then referral/coupon check) and the `orderCreated` workflow
|
|
333
|
+
`finalize-affiliate-order-attribution`. Without the base plugin neither runs.
|
|
334
|
+
Both report failures to Sentry (`affiliate-complete-cart-validate`,
|
|
335
|
+
`affiliate-complete-cart-order-created`) and rethrow.
|
|
336
|
+
|
|
337
|
+
The compensable, idempotent `orderCreated` participant then:
|
|
326
338
|
|
|
327
339
|
1. loads the Order, Cart, Customer ID, and normalized order e-mail;
|
|
328
340
|
2. takes operation locks (cart, Customer/e-mail, order), then sorted
|
|
@@ -341,8 +353,10 @@ The compensable, idempotent `completeCartWorkflow.orderCreated` hook then:
|
|
|
341
353
|
synchronously materializes the immutable `commission_entry` base family,
|
|
342
354
|
including standalone and own-order referrer bonuses.
|
|
343
355
|
|
|
344
|
-
If no assignment or referral exists, the
|
|
345
|
-
If
|
|
356
|
+
If no assignment or referral exists, the participant creates no direct
|
|
357
|
+
attribution. If a later participant (the tax-evidence freeze) or the
|
|
358
|
+
surrounding complete-cart workflow fails, the base cancels this workflow and
|
|
359
|
+
its compensation removes only
|
|
346
360
|
the state created by that attempt and restores the prior referral/assignment
|
|
347
361
|
state where safe, and removes only the still-unreferenced base entries created
|
|
348
362
|
by that attempt. An aborted checkout therefore does not permanently consume a
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hartl-services/medusa-affiliate",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Reusable affiliate management plugin for Medusa.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@tanstack/react-query": "^5.64.2",
|
|
40
40
|
"react": "^18.3.1",
|
|
41
41
|
"react-router-dom": "^7.18.2",
|
|
42
|
-
"@hartl-services/medusa-base": "^0.
|
|
42
|
+
"@hartl-services/medusa-base": "^0.2.0"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@hartl-services/medusa-food-supplements-contracts": "^0.11.0"
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"typescript": "^5.6.2",
|
|
66
66
|
"vite": "7.3.6",
|
|
67
67
|
"yalc": "^1.0.0-pre.53",
|
|
68
|
-
"@hartl-services/medusa-base": "0.
|
|
68
|
+
"@hartl-services/medusa-base": "0.2.0"
|
|
69
69
|
},
|
|
70
70
|
"engines": {
|
|
71
71
|
"node": ">=20"
|
|
@@ -1,57 +0,0 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const Sentry = __importStar(require("@sentry/node"));
|
|
37
|
-
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
38
|
-
const complete_cart_order_created_composition_1 = require("./complete-cart-order-created-composition");
|
|
39
|
-
// Medusa 2.19.0 creates this hook internally but omits it from complete cart's
|
|
40
|
-
// public declaration. Keep the cast isolated to this version-specific edge.
|
|
41
|
-
const { orderCreated } = core_flows_1.completeCartWorkflow.hooks;
|
|
42
|
-
// No throw/catch exists here today - this wraps defensively anyway, since
|
|
43
|
-
// any unexpected exception in a post-order side-effect hook currently has
|
|
44
|
-
// zero visibility beyond whatever the workflow engine itself logs.
|
|
45
|
-
orderCreated(async (input, context) => {
|
|
46
|
-
try {
|
|
47
|
-
return await (0, complete_cart_order_created_composition_1.handleCompleteCartOrderCreated)(input, context);
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
Sentry.captureException(error, {
|
|
51
|
-
tags: { area: "affiliate-complete-cart-order-created" },
|
|
52
|
-
extra: { cartId: input.cart_id, orderId: input.order_id },
|
|
53
|
-
});
|
|
54
|
-
throw error;
|
|
55
|
-
}
|
|
56
|
-
}, complete_cart_order_created_composition_1.compensateCompleteCartOrderCreated);
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC1hZmZpbGlhdGUtYXR0cmlidXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hvb2tzL2NvbXBsZXRlLWNhcnQtYWZmaWxpYXRlLWF0dHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQXNDO0FBRXRDLDREQUFrRTtBQUVsRSx1R0FJa0Q7QUFhbEQsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsaUNBQW9CLENBQUMsS0FFN0MsQ0FBQTtBQUVELDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsbUVBQW1FO0FBQ25FLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3BDLElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxJQUFBLHdFQUE4QixFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDN0IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLHVDQUF1QyxFQUFFO1lBQ3ZELEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO1NBQzFELENBQUMsQ0FBQTtRQUNGLE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUMsRUFBRSw0RUFBa0MsQ0FBQyxDQUFBIn0=
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.compensateCompleteCartOrderCreated = exports.handleCompleteCartOrderCreated = void 0;
|
|
4
|
-
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
-
const finalize_affiliate_order_attribution_1 = require("../affiliate/finalize-affiliate-order-attribution");
|
|
7
|
-
const warnTaxEvidenceFailure = (container, operation) => {
|
|
8
|
-
const message = operation === "freeze"
|
|
9
|
-
? "Tax evidence freeze is unavailable; continuing without tax evidence."
|
|
10
|
-
: "Tax evidence compensation failed; workflow cancellation remains failed for retry.";
|
|
11
|
-
try {
|
|
12
|
-
container
|
|
13
|
-
.resolve(utils_1.ContainerRegistrationKeys.LOGGER)
|
|
14
|
-
.warn(message);
|
|
15
|
-
}
|
|
16
|
-
catch {
|
|
17
|
-
// Logging must not replace the original workflow outcome.
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
const cartRequiresFrozenTaxEvidence = async (container, cartId) => {
|
|
21
|
-
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
22
|
-
const { data } = await query.graph({
|
|
23
|
-
entity: "cart",
|
|
24
|
-
fields: ["id", "items.tax_lines.rate", "shipping_methods.tax_lines.rate"],
|
|
25
|
-
filters: { id: cartId },
|
|
26
|
-
});
|
|
27
|
-
const cart = data[0];
|
|
28
|
-
if (!cart) {
|
|
29
|
-
throw new Error(`Cart with id '${cartId}' was not found.`);
|
|
30
|
-
}
|
|
31
|
-
const rates = [
|
|
32
|
-
...(cart.items ?? []).flatMap((item) => item.tax_lines ?? []),
|
|
33
|
-
...(cart.shipping_methods ?? []).flatMap((shippingMethod) => shippingMethod.tax_lines ?? []),
|
|
34
|
-
].map(({ rate }) => Number(rate));
|
|
35
|
-
return (rates.length > 0 &&
|
|
36
|
-
rates.every((rate) => Number.isFinite(rate) && rate === 0));
|
|
37
|
-
};
|
|
38
|
-
const runTaxEvidenceFreeze = async (input, stepContext) => {
|
|
39
|
-
const { container, ...sharedContext } = stepContext;
|
|
40
|
-
let requiresFrozenEvidence;
|
|
41
|
-
const requiresFrozenTaxEvidence = () => (requiresFrozenEvidence ??= cartRequiresFrozenTaxEvidence(container, input.cart_id));
|
|
42
|
-
try {
|
|
43
|
-
if (!container.hasRegistration("tax_compliance")) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const workflowEngine = container.resolve(utils_1.Modules.WORKFLOW_ENGINE);
|
|
47
|
-
const transaction = await workflowEngine.run("freeze-tax-compliance-order-evidence", {
|
|
48
|
-
input,
|
|
49
|
-
transactionId: stepContext.transactionId,
|
|
50
|
-
context: {
|
|
51
|
-
...sharedContext,
|
|
52
|
-
preventReleaseEvents: true,
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
if (transaction?.result == null &&
|
|
56
|
-
(await requiresFrozenTaxEvidence())) {
|
|
57
|
-
throw new Error("Zero-rated order completion requires durable frozen tax evidence.");
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
if (await requiresFrozenTaxEvidence()) {
|
|
62
|
-
throw error;
|
|
63
|
-
}
|
|
64
|
-
warnTaxEvidenceFailure(container, "freeze");
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
const compensateTaxEvidenceFreeze = async (transactionId, stepContext) => {
|
|
68
|
-
const { container, ...sharedContext } = stepContext;
|
|
69
|
-
try {
|
|
70
|
-
if (!container.hasRegistration("tax_compliance")) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const workflowEngine = container.resolve(utils_1.Modules.WORKFLOW_ENGINE);
|
|
74
|
-
await workflowEngine.cancel("freeze-tax-compliance-order-evidence", {
|
|
75
|
-
transactionId,
|
|
76
|
-
container,
|
|
77
|
-
context: sharedContext,
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
warnTaxEvidenceFailure(container, "compensation");
|
|
82
|
-
throw error;
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
const handleCompleteCartOrderCreated = async (input, stepContext) => {
|
|
86
|
-
const { container, ...sharedContext } = stepContext;
|
|
87
|
-
const transaction = await (0, finalize_affiliate_order_attribution_1.finalizeAffiliateOrderAttributionWorkflow)(container).run({
|
|
88
|
-
input,
|
|
89
|
-
context: {
|
|
90
|
-
...sharedContext,
|
|
91
|
-
preventReleaseEvents: true,
|
|
92
|
-
},
|
|
93
|
-
});
|
|
94
|
-
await runTaxEvidenceFreeze(input, stepContext);
|
|
95
|
-
return new workflows_sdk_1.StepResponse(transaction.result, stepContext.transactionId);
|
|
96
|
-
};
|
|
97
|
-
exports.handleCompleteCartOrderCreated = handleCompleteCartOrderCreated;
|
|
98
|
-
const compensateCompleteCartOrderCreated = async (transactionId, stepContext) => {
|
|
99
|
-
if (!transactionId) {
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
const { container, ...sharedContext } = stepContext;
|
|
103
|
-
await (0, finalize_affiliate_order_attribution_1.finalizeAffiliateOrderAttributionWorkflow)(container).cancel({
|
|
104
|
-
transactionId,
|
|
105
|
-
container,
|
|
106
|
-
context: sharedContext,
|
|
107
|
-
});
|
|
108
|
-
await compensateTaxEvidenceFreeze(transactionId, stepContext);
|
|
109
|
-
};
|
|
110
|
-
exports.compensateCompleteCartOrderCreated = compensateCompleteCartOrderCreated;
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC1vcmRlci1jcmVhdGVkLWNvbXBvc2l0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9ob29rcy9jb21wbGV0ZS1jYXJ0LW9yZGVyLWNyZWF0ZWQtY29tcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQWdFO0FBS2hFLHFEQUE4RTtBQUc5RSw0R0FBNkc7QUFXN0csTUFBTSxzQkFBc0IsR0FBRyxDQUM3QixTQUEwQixFQUMxQixTQUFvQyxFQUM5QixFQUFFO0lBQ1IsTUFBTSxPQUFPLEdBQ1gsU0FBUyxLQUFLLFFBQVE7UUFDcEIsQ0FBQyxDQUFDLHNFQUFzRTtRQUN4RSxDQUFDLENBQUMsbUZBQW1GLENBQUE7SUFFekYsSUFBSSxDQUFDO1FBQ0gsU0FBUzthQUNOLE9BQU8sQ0FFTCxpQ0FBeUIsQ0FBQyxNQUFNLENBQUM7YUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xCLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCwwREFBMEQ7SUFDNUQsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sNkJBQTZCLEdBQUcsS0FBSyxFQUN6QyxTQUEwQixFQUMxQixNQUFjLEVBQ0ksRUFBRTtJQUNwQixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakMsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsaUNBQWlDLENBQUM7UUFDekUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtLQUN4QixDQUFDLENBQUE7SUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQU9OLENBQUE7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
|