@hartl-services/medusa-free-shipping 0.2.1 → 0.3.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.
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
4
|
exports.default = freeShippingPluginFeaturesUpdatedSubscriber;
|
|
5
|
+
const medusa_base_1 = require("@hartl-services/medusa-base");
|
|
5
6
|
const plugin_features_1 = require("@hartl-services/medusa-food-supplements-contracts/events/plugin-features");
|
|
6
7
|
const plugin_features_2 = require("../plugin-features");
|
|
7
8
|
const sync_free_shipping_promotions_1 = require("../workflows/free-shipping/sync-free-shipping-promotions");
|
|
@@ -13,7 +14,7 @@ const sync_free_shipping_promotions_1 = require("../workflows/free-shipping/sync
|
|
|
13
14
|
*/
|
|
14
15
|
async function freeShippingPluginFeaturesUpdatedSubscriber({ event, container, }) {
|
|
15
16
|
const payload = plugin_features_1.PluginFeaturesUpdatedEventSchema.parse(event.data);
|
|
16
|
-
if (payload
|
|
17
|
+
if (!(0, medusa_base_1.isOwnPluginEvent)(payload, plugin_features_2.freeShippingPluginFeatures.plugin_key)) {
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
19
20
|
await (0, sync_free_shipping_promotions_1.syncFreeShippingPromotions)(container);
|
|
@@ -21,4 +22,4 @@ async function freeShippingPluginFeaturesUpdatedSubscriber({ event, container, }
|
|
|
21
22
|
exports.config = {
|
|
22
23
|
event: plugin_features_1.PLUGIN_FEATURES_UPDATED_EVENT,
|
|
23
24
|
};
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWZlYXR1cmVzLXVwZGF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcGx1Z2luLWZlYXR1cmVzLXVwZGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0JBLDhEQVVDO0FBMUJELDZEQUE4RDtBQUM5RCw4R0FJaUY7QUFFakYsd0RBQStEO0FBQy9ELDRHQUFxRztBQUVyRzs7Ozs7R0FLRztBQUNZLEtBQUssVUFBVSwyQ0FBMkMsQ0FBQyxFQUN4RSxLQUFLLEVBQ0wsU0FBUyxHQUNrQztJQUMzQyxNQUFNLE9BQU8sR0FBRyxrREFBZ0MsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2xFLElBQUksQ0FBQyxJQUFBLDhCQUFnQixFQUFDLE9BQU8sRUFBRSw0Q0FBMEIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3RFLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxJQUFBLDBEQUEwQixFQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzdDLENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLCtDQUE2QjtDQUNyQyxDQUFBIn0=
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
4
|
exports.default = freeShippingPluginSettingsUpdatedSubscriber;
|
|
5
|
+
const medusa_base_1 = require("@hartl-services/medusa-base");
|
|
5
6
|
const plugin_features_1 = require("@hartl-services/medusa-food-supplements-contracts/events/plugin-features");
|
|
6
7
|
const plugin_features_2 = require("../plugin-features");
|
|
7
8
|
const sync_free_shipping_promotions_1 = require("../workflows/free-shipping/sync-free-shipping-promotions");
|
|
@@ -14,7 +15,7 @@ const sync_free_shipping_promotions_1 = require("../workflows/free-shipping/sync
|
|
|
14
15
|
*/
|
|
15
16
|
async function freeShippingPluginSettingsUpdatedSubscriber({ event, container, }) {
|
|
16
17
|
const payload = plugin_features_1.PluginSettingsUpdatedEventSchema.parse(event.data);
|
|
17
|
-
if (payload
|
|
18
|
+
if (!(0, medusa_base_1.isOwnPluginEvent)(payload, plugin_features_2.freeShippingPluginFeatures.plugin_key)) {
|
|
18
19
|
return;
|
|
19
20
|
}
|
|
20
21
|
await (0, sync_free_shipping_promotions_1.syncFreeShippingPromotions)(container);
|
|
@@ -22,4 +23,4 @@ async function freeShippingPluginSettingsUpdatedSubscriber({ event, container, }
|
|
|
22
23
|
exports.config = {
|
|
23
24
|
event: plugin_features_1.PLUGIN_SETTINGS_UPDATED_EVENT,
|
|
24
25
|
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXNldHRpbmdzLXVwZGF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcGx1Z2luLXNldHRpbmdzLXVwZGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUJBLDhEQVVDO0FBM0JELDZEQUE4RDtBQUM5RCw4R0FJaUY7QUFFakYsd0RBQStEO0FBQy9ELDRHQUFxRztBQUVyRzs7Ozs7O0dBTUc7QUFDWSxLQUFLLFVBQVUsMkNBQTJDLENBQUMsRUFDeEUsS0FBSyxFQUNMLFNBQVMsR0FDa0M7SUFDM0MsTUFBTSxPQUFPLEdBQUcsa0RBQWdDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNsRSxJQUFJLENBQUMsSUFBQSw4QkFBZ0IsRUFBQyxPQUFPLEVBQUUsNENBQTBCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUN0RSxPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sSUFBQSwwREFBMEIsRUFBQyxTQUFTLENBQUMsQ0FBQTtBQUM3QyxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSwrQ0FBNkI7Q0FDckMsQ0FBQSJ9
|
|
@@ -4,6 +4,7 @@ exports.setFreeShippingPromotionContext = void 0;
|
|
|
4
4
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
5
|
const utils_1 = require("@medusajs/framework/utils");
|
|
6
6
|
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const lib_1 = require("@hartl-services/medusa-base/lib");
|
|
7
8
|
const plugin_features_1 = require("../../plugin-features");
|
|
8
9
|
const free_shipping_settings_1 = require("../../utils/free-shipping-settings");
|
|
9
10
|
const sync_free_shipping_promotions_1 = require("../free-shipping/sync-free-shipping-promotions");
|
|
@@ -22,18 +23,6 @@ const tryResolve = (container, name) => {
|
|
|
22
23
|
throw error;
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
|
-
/**
|
|
26
|
-
* Deliberately duplicated, simplified email normalization (trim+lowercase)
|
|
27
|
-
* for the referred-customer check - see
|
|
28
|
-
* `plugins/affiliate/src/modules/affiliate/domain/email-normalization.ts`
|
|
29
|
-
* for the affiliate plugin's own version. Unlike that version, a
|
|
30
|
-
* missing/invalid email here just means "no email", not a thrown error:
|
|
31
|
-
* this context computation must never fail a cart's promotion recalculation.
|
|
32
|
-
*/
|
|
33
|
-
const normalizeEmailOrNull = (value) => {
|
|
34
|
-
const normalized = value?.trim().toLowerCase();
|
|
35
|
-
return normalized && normalized.includes("@") ? normalized : null;
|
|
36
|
-
};
|
|
37
26
|
const declaredBooleanDefault = (key) => plugin_features_1.freeShippingPluginFeatures.settings?.find((setting) => setting.key === key)
|
|
38
27
|
?.default === true;
|
|
39
28
|
/** The descriptor's defaults: account holders on, referred customers off. */
|
|
@@ -96,7 +85,7 @@ const setFreeShippingPromotionContext = async ({ cart }, { container }) => {
|
|
|
96
85
|
const state = await affiliateService.inspectAffiliateCartReferralForCheckout({
|
|
97
86
|
cart_id: typedCart.id,
|
|
98
87
|
customer_id: typedCart.customer_id,
|
|
99
|
-
normalized_email:
|
|
88
|
+
normalized_email: (0, lib_1.normalizeEmail)(typedCart.email),
|
|
100
89
|
}, query);
|
|
101
90
|
qualifies = state.assignment !== null;
|
|
102
91
|
}
|
|
@@ -108,4 +97,4 @@ const setFreeShippingPromotionContext = async ({ cart }, { container }) => {
|
|
|
108
97
|
};
|
|
109
98
|
exports.setFreeShippingPromotionContext = setFreeShippingPromotionContext;
|
|
110
99
|
core_flows_1.updateCartPromotionsWorkflow.hooks.setPromotionContext(exports.setFreeShippingPromotionContext);
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWZyZWUtc2hpcHBpbmctcHJvbW90aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hvb2tzL3NldC1mcmVlLXNoaXBwaW5nLXByb21vdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFnRTtBQUNoRSxxREFBcUU7QUFFckUsNERBQTBFO0FBQzFFLHlEQUFnRTtBQUVoRSwyREFBa0U7QUFDbEUsK0VBRzJDO0FBQzNDLGtHQUFrRztBQXFCbEcsMEJBQTBCO0FBQzFCLDBFQUEwRTtBQUMxRSw2RUFBNkU7QUFDN0UsTUFBTSxVQUFVLEdBQUcsQ0FDakIsU0FBOEQsRUFDOUQsSUFBWSxFQUNGLEVBQUU7SUFDWixJQUFJLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUksSUFBSSxDQUFDLENBQUE7SUFDbkMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUNFLEtBQUssWUFBWSxLQUFLO1lBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEVBQzlDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDLENBQUE7QUFRRCxNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBeUIsRUFBVyxFQUFFLENBQ3BFLDRDQUEwQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDO0lBQ3pFLEVBQUUsT0FBTyxLQUFLLElBQUksQ0FBQTtBQUV0Qiw2RUFBNkU7QUFDN0UsTUFBTSxnQ0FBZ0MsR0FBbUI7SUFDdkQsb0NBQW9DLEVBQUUsc0JBQXNCLENBQzFELHNDQUFzQyxDQUN2QztJQUNELHVDQUF1QyxFQUFFLHNCQUFz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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hartl-services/medusa-free-shipping",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Configurable free-shipping threshold plugin for Medusa.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@medusajs/framework": "^2.19.0",
|
|
34
34
|
"@medusajs/medusa": "^2.19.0",
|
|
35
|
-
"@hartl-services/medusa-base": "^
|
|
35
|
+
"@hartl-services/medusa-base": "^2.6.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@hartl-services/medusa-food-supplements-contracts": "^0.
|
|
38
|
+
"@hartl-services/medusa-food-supplements-contracts": "^0.26.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@medusajs/cli": "2.19.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"jest": "^29.7.0",
|
|
49
49
|
"typescript": "^5.6.2",
|
|
50
50
|
"yalc": "^1.0.0-pre.53",
|
|
51
|
-
"@hartl-services/medusa-base": "
|
|
51
|
+
"@hartl-services/medusa-base": "2.6.0"
|
|
52
52
|
},
|
|
53
53
|
"engines": {
|
|
54
54
|
"node": ">=20"
|