@hartl-services/medusa-free-shipping 0.2.2 → 0.4.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.
@@ -6,11 +6,16 @@ exports.freeShippingPluginFeatures = (0, medusa_base_1.definePluginFeatures)({
6
6
  plugin_key: "free_shipping",
7
7
  label: "Versandkostenfrei",
8
8
  description: "Schaltet die beiden automatischen Versandkosten-Aktionen aktiv bzw. inaktiv. Die Schwellenwerte bleiben auch ausgeschaltet bearbeitbar; der Aktionskontext im Warenkorb läuft weiter.",
9
+ summary: "Die beiden automatischen Versandkosten-Aktionen mit ihren Schwellenwerten.",
10
+ icon: "TruckFast",
11
+ disable_hint: "Aus: beide Aktionen sind inaktiv. Die Schwellenwerte bleiben bearbeitbar.",
12
+ disable_confirm: "Die beiden automatischen Versandkosten-Aktionen werden dann inaktiv. Die Schwellenwerte bleiben auch ausgeschaltet bearbeitbar, und der Aktionskontext im Warenkorb läuft weiter.",
9
13
  features: [],
10
14
  settings: [
11
15
  {
12
16
  key: "default_threshold",
13
17
  label: "Kostenlose Lieferung ab (€)",
18
+ width: "half",
14
19
  type: "number",
15
20
  min: 0,
16
21
  default: 50,
@@ -18,6 +23,7 @@ exports.freeShippingPluginFeatures = (0, medusa_base_1.definePluginFeatures)({
18
23
  {
19
24
  key: "affiliate_threshold",
20
25
  label: "Für Affiliates ab (€)",
26
+ width: "half",
21
27
  type: "number",
22
28
  min: 0,
23
29
  default: 100,
@@ -30,10 +36,10 @@ exports.freeShippingPluginFeatures = (0, medusa_base_1.definePluginFeatures)({
30
36
  },
31
37
  {
32
38
  key: "affiliate_applies_to_referred_customers",
33
- label: "Gilt, wenn der Warenkorb über einen Affiliate-Link/-Code zugeordnet wurde",
39
+ label: "Gilt, wenn der Warenkorb über einen Affiliate-Link oder -Code zugeordnet wurde",
34
40
  type: "boolean",
35
41
  default: false,
36
42
  },
37
43
  ],
38
44
  });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWZlYXR1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbi1mZWF0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBa0U7QUFFckQsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLGtDQUFvQixFQUFDO0lBQzdELFVBQVUsRUFBRSxlQUFlO0lBQzNCLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsV0FBVyxFQUNULHVMQUF1TDtJQUN6TCxRQUFRLEVBQUUsRUFBRTtJQUNaLFFBQVEsRUFBRTtRQUNSO1lBQ0UsR0FBRyxFQUFFLG1CQUFtQjtZQUN4QixLQUFLLEVBQUUsNkJBQTZCO1lBQ3BDLElBQUksRUFBRSxRQUFRO1lBQ2QsR0FBRyxFQUFFLENBQUM7WUFDTixPQUFPLEVBQUUsRUFBRTtTQUNaO1FBQ0Q7WUFDRSxHQUFHLEVBQUUscUJBQXFCO1lBQzFCLEtBQUssRUFBRSx1QkFBdUI7WUFDOUIsSUFBSSxFQUFFLFFBQVE7WUFDZCxHQUFHLEVBQUUsQ0FBQztZQUNOLE9BQU8sRUFBRSxHQUFHO1NBQ2I7UUFDRDtZQUNFLEdBQUcsRUFBRSxzQ0FBc0M7WUFDM0MsS0FBSyxFQUFFLDJDQUEyQztZQUNsRCxJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSx5Q0FBeUM7WUFDOUMsS0FBSyxFQUNILDJFQUEyRTtZQUM3RSxJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxLQUFLO1NBQ2Y7S0FDRjtDQUNGLENBQUMsQ0FBQSJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWZlYXR1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbi1mZWF0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBa0U7QUFFckQsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLGtDQUFvQixFQUFDO0lBQzdELFVBQVUsRUFBRSxlQUFlO0lBQzNCLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsV0FBVyxFQUNULHVMQUF1TDtJQUN6TCxPQUFPLEVBQ0wsNEVBQTRFO0lBQzlFLElBQUksRUFBRSxXQUFXO0lBQ2pCLFlBQVksRUFDViwyRUFBMkU7SUFDN0UsZUFBZSxFQUNiLG1MQUFtTDtJQUNyTCxRQUFRLEVBQUUsRUFBRTtJQUNaLFFBQVEsRUFBRTtRQUNSO1lBQ0UsR0FBRyxFQUFFLG1CQUFtQjtZQUN4QixLQUFLLEVBQUUsNkJBQTZCO1lBQ3BDLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLFFBQVE7WUFDZCxHQUFHLEVBQUUsQ0FBQztZQUNOLE9BQU8sRUFBRSxFQUFFO1NBQ1o7UUFDRDtZQUNFLEdBQUcsRUFBRSxxQkFBcUI7WUFDMUIsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixLQUFLLEVBQUUsTUFBTTtZQUNiLElBQUksRUFBRSxRQUFRO1lBQ2QsR0FBRyxFQUFFLENBQUM7WUFDTixPQUFPLEVBQUUsR0FBRztTQUNiO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsc0NBQXNDO1lBQzNDLEtBQUssRUFBRSwyQ0FBMkM7WUFDbEQsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsSUFBSTtTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUseUNBQXlDO1lBQzlDLEtBQUssRUFDSCxnRkFBZ0Y7WUFDbEYsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsS0FBSztTQUNmO0tBQ0Y7Q0FDRixDQUFDLENBQUEifQ==
@@ -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.plugin_key !== plugin_features_2.freeShippingPluginFeatures.plugin_key) {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWZlYXR1cmVzLXVwZGF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcGx1Z2luLWZlYXR1cmVzLXVwZGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBLDhEQVVDO0FBekJELDhHQUlpRjtBQUVqRix3REFBK0Q7QUFDL0QsNEdBQXFHO0FBRXJHOzs7OztHQUtHO0FBQ1ksS0FBSyxVQUFVLDJDQUEyQyxDQUFDLEVBQ3hFLEtBQUssRUFDTCxTQUFTLEdBQ2tDO0lBQzNDLE1BQU0sT0FBTyxHQUFHLGtEQUFnQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEUsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLDRDQUEwQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pFLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxJQUFBLDBEQUEwQixFQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzdDLENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLCtDQUE2QjtDQUNyQyxDQUFBIn0=
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.plugin_key !== plugin_features_2.freeShippingPluginFeatures.plugin_key) {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXNldHRpbmdzLXVwZGF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcGx1Z2luLXNldHRpbmdzLXVwZGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0JBLDhEQVVDO0FBMUJELDhHQUlpRjtBQUVqRix3REFBK0Q7QUFDL0QsNEdBQXFHO0FBRXJHOzs7Ozs7R0FNRztBQUNZLEtBQUssVUFBVSwyQ0FBMkMsQ0FBQyxFQUN4RSxLQUFLLEVBQ0wsU0FBUyxHQUNrQztJQUMzQyxNQUFNLE9BQU8sR0FBRyxrREFBZ0MsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2xFLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyw0Q0FBMEIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqRSxPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sSUFBQSwwREFBMEIsRUFBQyxTQUFTLENBQUMsQ0FBQTtBQUM3QyxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSwrQ0FBNkI7Q0FDckMsQ0FBQSJ9
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: normalizeEmailOrNull(typedCart.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWZyZWUtc2hpcHBpbmctcHJvbW90aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hvb2tzL3NldC1mcmVlLXNoaXBwaW5nLXByb21vdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFnRTtBQUNoRSxxREFBcUU7QUFFckUsNERBQTBFO0FBRTFFLDJEQUFrRTtBQUNsRSwrRUFHMkM7QUFDM0Msa0dBQWtHO0FBcUJsRywwQkFBMEI7QUFDMUIsMEVBQTBFO0FBQzFFLDZFQUE2RTtBQUM3RSxNQUFNLFVBQVUsR0FBRyxDQUNqQixTQUE4RCxFQUM5RCxJQUFZLEVBQ0YsRUFBRTtJQUNaLElBQUksQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBSSxJQUFJLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQ0UsS0FBSyxZQUFZLEtBQUs7WUFDdEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFDOUMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUNELE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQzNCLEtBQWdDLEVBQ2pCLEVBQUU7SUFDakIsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQzlDLE9BQU8sVUFBVSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQ25FLENBQUMsQ0FBQTtBQVFELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxHQUF5QixFQUFXLEVBQUUsQ0FDcEUs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
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWZyZWUtc2hpcHBpbmctcHJvbW90aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hvb2tzL3NldC1mcmVlLXNoaXBwaW5nLXByb21vdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFnRTtBQUNoRSxxREFBcUU7QUFFckUsNERBQTBFO0FBQzFFLHlEQUFnRTtBQUVoRSwyREFBa0U7QUFDbEUsK0VBRzJDO0FBQzNDLGtHQUFrRztBQXFCbEcsMEJBQTBCO0FBQzFCLDBFQUEwRTtBQUMxRSw2RUFBNkU7QUFDN0UsTUFBTSxVQUFVLEdBQUcsQ0FDakIsU0FBOEQsRUFDOUQsSUFBWSxFQUNGLEVBQUU7SUFDWixJQUFJLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUksSUFBSSxDQUFDLENBQUE7SUFDbkMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUNFLEtBQUssWUFBWSxLQUFLO1lBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEVBQzlDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDLENBQUE7QUFRRCxNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBeUIsRUFBVyxFQUFFLENBQ3BFLDRDQUEwQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDO0lBQ3pFLEVBQUUsT0FBTyxLQUFLLElBQUksQ0FBQTtBQUV0Qiw2RUFBNkU7QUFDN0UsTUFBTSxnQ0FBZ0MsR0FBbUI7SUFDdkQsb0NBQW9DLEVBQUUsc0JBQXNCLENBQzFELHNDQUFzQyxDQUN2QztJQUNELHVDQUF1QyxFQUFFLHNCQUFz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
package/README.md CHANGED
@@ -45,7 +45,7 @@ ever saving the page. The plugin has no medusa-config options.
45
45
  | `default_threshold` | number ≥ 0 | 50 | Kostenlose Lieferung ab (€) | `item_total` threshold of `AUTO-FREE-SHIPPING-STANDARD` |
46
46
  | `affiliate_threshold` | number ≥ 0 | 100 | Für Affiliates ab (€) | `item_total` threshold of `AUTO-FREE-SHIPPING-AFFILIATE` |
47
47
  | `affiliate_applies_to_account_holders` | boolean | on | Gilt, wenn der Kunde selbst Affiliate ist | the cart's customer is an affiliate → affiliate threshold |
48
- | `affiliate_applies_to_referred_customers` | boolean | off | Gilt, wenn der Warenkorb über einen Affiliate-Link/-Code zugeordnet wurde | the cart is assigned to an affiliate referral → affiliate threshold |
48
+ | `affiliate_applies_to_referred_customers` | boolean | off | Gilt, wenn der Warenkorb über einen Affiliate-Link oder -Code zugeordnet wurde | the cart is assigned to an affiliate referral → affiliate threshold |
49
49
 
50
50
  The base validates the values (a negative threshold is rejected with 400).
51
51
  Server code reads them with `resolveFreeShippingSettings(container)`
@@ -81,7 +81,7 @@ The plugin emits no events.
81
81
  pnpm add @hartl-services/medusa-free-shipping @hartl-services/medusa-base @hartl-services/medusa-food-supplements-contracts
82
82
  ```
83
83
 
84
- `@hartl-services/medusa-base` (>= 1.0.0) is a required peer: it stores the
84
+ `@hartl-services/medusa-base` (>= 2.7.0) is a required peer: it stores the
85
85
  switch and the settings, renders the Admin page and emits the change events,
86
86
  and must be registered as a plugin as well.
87
87
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hartl-services/medusa-free-shipping",
3
- "version": "0.2.2",
3
+ "version": "0.4.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": "^2.0.0"
35
+ "@hartl-services/medusa-base": "^2.7.0"
36
36
  },
37
37
  "dependencies": {
38
- "@hartl-services/medusa-food-supplements-contracts": "^0.17.0"
38
+ "@hartl-services/medusa-food-supplements-contracts": "^0.27.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": "2.0.0"
51
+ "@hartl-services/medusa-base": "2.7.0"
52
52
  },
53
53
  "engines": {
54
54
  "node": ">=20"