@hartl-services/medusa-base 2.11.0 → 3.0.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/admin/index.js +39 -39
- package/.medusa/server/src/admin/index.mjs +39 -39
- package/.medusa/server/src/api/admin/tax-compliance/customer-addresses/[address_id]/tax-identification/route.js +15 -0
- package/.medusa/server/src/api/check-customer-address-tax-identification.js +93 -0
- package/.medusa/server/src/api/customer-address-identification-response.js +14 -0
- package/.medusa/server/src/api/middlewares.js +55 -1
- package/.medusa/server/src/api/store/carts/[id]/tax-identification/route.js +179 -0
- package/.medusa/server/src/api/store/customers/me/addresses/[address_id]/tax-identification/route.js +12 -0
- package/.medusa/server/src/api/store/customers/me/tax-identifications/route.js +14 -0
- package/.medusa/server/src/api/store/tax-identification-policy/route.js +21 -0
- package/.medusa/server/src/api/tax-identification-message.js +9 -0
- package/.medusa/server/src/api/to-response-amount.js +19 -0
- package/.medusa/server/src/jobs/tax-compliance-state-sync.js +26 -0
- package/.medusa/server/src/modules/tax-compliance/domain/validation-policy.js +48 -0
- package/.medusa/server/src/modules/tax-compliance/index.js +15 -0
- package/.medusa/server/src/modules/tax-compliance/migrations/Migration20260814120459.js +18 -0
- package/.medusa/server/src/modules/tax-compliance/migrations/Migration20260814121724.js +14 -0
- package/.medusa/server/src/modules/tax-compliance/migrations/Migration20260814153410.js +14 -0
- package/.medusa/server/src/modules/tax-compliance/migrations/Migration20260929091620.js +27 -0
- package/.medusa/server/src/modules/tax-compliance/migrations/Migration20261011090147.js +16 -0
- package/.medusa/server/src/modules/tax-compliance/models/tax-compliance-state.js +29 -0
- package/.medusa/server/src/modules/tax-compliance/models/tax-compliance-validation.js +74 -0
- package/.medusa/server/src/modules/tax-compliance/runtime-settings.js +43 -0
- package/.medusa/server/src/modules/tax-compliance/service.js +693 -0
- package/.medusa/server/src/providers/tax-compliance/index.js +11 -0
- package/.medusa/server/src/providers/tax-compliance/service.js +179 -0
- package/.medusa/server/src/public/constants.js +4 -2
- package/.medusa/server/src/public/index.js +6 -2
- package/.medusa/server/src/public/tax-compliance.js +22 -0
- package/.medusa/server/src/shared/lib/index.js +2 -1
- package/.medusa/server/src/shared/lib/optional-registration.js +34 -0
- package/.medusa/server/src/shop-config/build-food-shop-config.js +6 -9
- package/.medusa/server/src/subscribers/tax-compliance-plugin-features-updated.js +25 -0
- package/.medusa/server/src/tax-compliance/complete-cart-hooks.js +26 -0
- package/.medusa/server/src/tax-compliance/integrations/finanzonline/client.js +222 -0
- package/.medusa/server/src/tax-compliance/integrations/finanzonline/validator.js +50 -0
- package/.medusa/server/src/tax-compliance/integrations/registry.js +26 -0
- package/.medusa/server/src/tax-compliance/integrations/validator.js +19 -0
- package/.medusa/server/src/tax-compliance/lib/order-tax-context.js +100 -0
- package/.medusa/server/src/tax-compliance/lib/tax-compliance-state.js +59 -0
- package/.medusa/server/src/tax-compliance/lib/tax-runtime-settings.js +79 -0
- package/.medusa/server/src/tax-compliance/plugin-features.js +73 -0
- package/.medusa/server/src/tax-compliance/resolve-services.js +7 -0
- package/.medusa/server/src/tax-compliance/types/tax-compliance.js +6 -0
- package/.medusa/server/src/workflows/documents/issue-invoice-after-shipment.js +25 -30
- package/.medusa/server/src/workflows/documents/issue-packing-list.js +3 -14
- package/.medusa/server/src/workflows/hooks/cart-tax-context.js +78 -0
- package/.medusa/server/src/workflows/hooks/order-tax-context.js +7 -0
- package/.medusa/server/src/workflows/hooks/shipping-tax-apportionment.js +145 -0
- package/.medusa/server/src/workflows/tax-compliance/apportion-order-shipping-tax.js +72 -0
- package/.medusa/server/src/workflows/tax-compliance/domain/requires-frozen-tax-evidence.js +27 -0
- package/.medusa/server/src/workflows/tax-compliance/freeze-order-evidence.js +125 -0
- package/.medusa/server/src/workflows/tax-compliance/submit-customer-address-tax-identification.js +18 -0
- package/.medusa/server/src/workflows/tax-compliance/submit-tax-identification.js +18 -0
- package/README.md +344 -22
- package/dist/public/constants.d.ts +2 -0
- package/dist/public/constants.js +3 -1
- package/dist/public/index.d.ts +2 -1
- package/dist/public/index.js +5 -1
- package/dist/public/tax-compliance.d.ts +30 -0
- package/dist/public/tax-compliance.js +21 -0
- package/dist/shared/lib/index.d.ts +1 -0
- package/dist/shared/lib/index.js +1 -0
- package/dist/shared/lib/optional-registration.d.ts +18 -0
- package/dist/shared/lib/optional-registration.js +33 -0
- package/dist/shop-config/build-food-shop-config.d.ts +2 -2
- package/dist/shop-config/build-food-shop-config.js +5 -8
- package/package.json +3 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const service_1 = __importDefault(require("./service"));
|
|
8
|
+
exports.default = (0, utils_1.ModuleProvider)(utils_1.Modules.TAX, {
|
|
9
|
+
services: [service_1.default],
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3RheC1jb21wbGlhbmNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQW1FO0FBRW5FLHdEQUF1RDtBQUV2RCxrQkFBZSxJQUFBLHNCQUFjLEVBQUMsZUFBTyxDQUFDLEdBQUcsRUFBRTtJQUN6QyxRQUFRLEVBQUUsQ0FBQyxpQkFBK0IsQ0FBQztDQUM1QyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TAX_COMPLIANCE_TAX_PROVIDER_ID = exports.MERCHANT_CONTEXT_KEY = exports.SHIPPING_TAX_RATE_CONTEXT_KEY = exports.BLENDED_SHIPPING_RATE_CODE = exports.BLENDED_SHIPPING_RATE_NAME = void 0;
|
|
4
|
+
const modules_sdk_1 = require("@medusajs/framework/modules-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const lib_1 = require("../../shared/lib");
|
|
7
|
+
const tax_compliance_1 = require("../../modules/tax-compliance");
|
|
8
|
+
exports.BLENDED_SHIPPING_RATE_NAME = "Anteilige Versandsteuer";
|
|
9
|
+
exports.BLENDED_SHIPPING_RATE_CODE = lib_1.APPORTIONED_SHIPPING_TAX_CODE;
|
|
10
|
+
/**
|
|
11
|
+
* Key `additional_context` carries the apportioned shipping rate under.
|
|
12
|
+
* Medusa's `getItemTaxLinesStep` resolves item and shipping tax lines
|
|
13
|
+
* through two separate `getTaxLines` calls, each with the other side's
|
|
14
|
+
* lines empty (@medusajs/core-flows tax/steps/get-item-tax-lines.js), so
|
|
15
|
+
* this provider never sees the cart's items while resolving shipping tax
|
|
16
|
+
* lines. The `setTaxLineContext` hooks (workflows/hooks/cart-tax-context.ts,
|
|
17
|
+
* order-tax-context.ts) run once beforehand with the full item list still
|
|
18
|
+
* available, precompute the apportioned rate there, and pass it through
|
|
19
|
+
* `additional_context`, which Medusa shares unchanged across both calls.
|
|
20
|
+
*/
|
|
21
|
+
exports.SHIPPING_TAX_RATE_CONTEXT_KEY = "tax_compliance_shipping_rate";
|
|
22
|
+
/**
|
|
23
|
+
* Key `additional_context` carries the merchant profile (country and UID)
|
|
24
|
+
* under. The cart `setTaxLineContext` hook (workflows/hooks/cart-tax-context.ts)
|
|
25
|
+
* reads it from the shop master data with the application container and puts
|
|
26
|
+
* it next to the validation ID; this provider runs in the Tax Module's
|
|
27
|
+
* isolated container and only reads it from the context it receives.
|
|
28
|
+
*/
|
|
29
|
+
exports.MERCHANT_CONTEXT_KEY = "tax_compliance_merchant";
|
|
30
|
+
const readMerchantFromContext = (context) => {
|
|
31
|
+
const value = context.additional_context?.[exports.MERCHANT_CONTEXT_KEY];
|
|
32
|
+
if (typeof value !== "object" ||
|
|
33
|
+
value === null ||
|
|
34
|
+
!("countryCode" in value) ||
|
|
35
|
+
!("vatNumber" in value) ||
|
|
36
|
+
typeof value.countryCode !== "string" ||
|
|
37
|
+
typeof value.vatNumber !== "string" ||
|
|
38
|
+
!value.countryCode.trim() ||
|
|
39
|
+
!value.vatNumber.trim()) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return { countryCode: value.countryCode, vatNumber: value.vatNumber };
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Ancillary supplies (shipping) share the tax treatment of the main supply
|
|
46
|
+
* (AT UStR Rz 700-704 / DE UStAE 3.10).
|
|
47
|
+
*/
|
|
48
|
+
const rateSetKey = (rates) => [...rates]
|
|
49
|
+
.map((rate) => `${rate.id}:${rate.rate ?? 0}`)
|
|
50
|
+
.sort()
|
|
51
|
+
.join("|");
|
|
52
|
+
const sumRatePercent = (rates) => rates.reduce((total, rate) => utils_1.MathBN.add(total, rate.rate ?? 0), utils_1.MathBN.convert(0));
|
|
53
|
+
const readPrecomputedShippingRate = (context) => {
|
|
54
|
+
const value = context.additional_context?.[exports.SHIPPING_TAX_RATE_CONTEXT_KEY];
|
|
55
|
+
return typeof value === "number" && Number.isFinite(value)
|
|
56
|
+
? value
|
|
57
|
+
: undefined;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Fallback for when no hook precomputed a rate (e.g. a direct provider call
|
|
61
|
+
* outside the normal cart/order tax workflows, such as a test). Only useful
|
|
62
|
+
* when the caller happens to pass items and shipping lines together, which
|
|
63
|
+
* Medusa's own workflows never do; kept for defensiveness, not as the
|
|
64
|
+
* primary mechanism.
|
|
65
|
+
*/
|
|
66
|
+
const resolveApportionedShippingRates = (itemLines, fallbackRates) => {
|
|
67
|
+
const weightedItems = itemLines
|
|
68
|
+
.map((line) => ({
|
|
69
|
+
base: utils_1.MathBN.mult(line.line_item.unit_price ?? 0, line.line_item.quantity ?? 0),
|
|
70
|
+
rates: line.rates,
|
|
71
|
+
}))
|
|
72
|
+
.filter((entry) => utils_1.MathBN.gt(entry.base, 0));
|
|
73
|
+
if (weightedItems.length === 0) {
|
|
74
|
+
return fallbackRates;
|
|
75
|
+
}
|
|
76
|
+
const totalBase = weightedItems.reduce((sum, entry) => utils_1.MathBN.add(sum, entry.base), utils_1.MathBN.convert(0));
|
|
77
|
+
if (utils_1.MathBN.lte(totalBase, 0)) {
|
|
78
|
+
return fallbackRates;
|
|
79
|
+
}
|
|
80
|
+
const distinctRateSets = new Set(weightedItems.map((entry) => rateSetKey(entry.rates)));
|
|
81
|
+
if (distinctRateSets.size === 1) {
|
|
82
|
+
return weightedItems[0].rates;
|
|
83
|
+
}
|
|
84
|
+
const weightedRateSum = weightedItems.reduce((sum, entry) => utils_1.MathBN.add(sum, utils_1.MathBN.mult(entry.base, sumRatePercent(entry.rates))), utils_1.MathBN.convert(0));
|
|
85
|
+
return [
|
|
86
|
+
{
|
|
87
|
+
rate: utils_1.MathBN.div(weightedRateSum, totalBase).toNumber(),
|
|
88
|
+
name: exports.BLENDED_SHIPPING_RATE_NAME,
|
|
89
|
+
code: exports.BLENDED_SHIPPING_RATE_CODE,
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
};
|
|
93
|
+
exports.TAX_COMPLIANCE_TAX_PROVIDER_ID = "tp_tax_compliance";
|
|
94
|
+
/**
|
|
95
|
+
* Medusa boots Tax providers in the Tax Module's isolated container. Resolve
|
|
96
|
+
* the application module lazily through Medusa's module registry so a missing
|
|
97
|
+
* or unavailable compliance boundary remains a normal B2C calculation.
|
|
98
|
+
*/
|
|
99
|
+
class TaxComplianceTaxProviderService {
|
|
100
|
+
constructor(_container = {}, options = {}) {
|
|
101
|
+
this.configuredService_ = options.taxComplianceService;
|
|
102
|
+
}
|
|
103
|
+
getIdentifier() {
|
|
104
|
+
return TaxComplianceTaxProviderService.identifier;
|
|
105
|
+
}
|
|
106
|
+
async getTaxLines(itemLines, shippingLines, context) {
|
|
107
|
+
const zeroRated = await this.hasEligibleEvidence(context);
|
|
108
|
+
const itemTaxLines = itemLines.flatMap((line) => line.rates.map((rate) => ({
|
|
109
|
+
rate_id: rate.id,
|
|
110
|
+
rate: zeroRated ? 0 : rate.rate || 0,
|
|
111
|
+
name: rate.name,
|
|
112
|
+
code: rate.code,
|
|
113
|
+
line_item_id: line.line_item.id,
|
|
114
|
+
provider_id: this.getIdentifier(),
|
|
115
|
+
})));
|
|
116
|
+
const shippingTaxLines = shippingLines.flatMap((line) => {
|
|
117
|
+
if (zeroRated) {
|
|
118
|
+
return line.rates.map((rate) => ({
|
|
119
|
+
rate_id: rate.id,
|
|
120
|
+
rate: 0,
|
|
121
|
+
name: rate.name,
|
|
122
|
+
code: rate.code,
|
|
123
|
+
shipping_line_id: line.shipping_line.id,
|
|
124
|
+
provider_id: this.getIdentifier(),
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
const precomputedRate = readPrecomputedShippingRate(context);
|
|
128
|
+
const resolvedRates = precomputedRate !== undefined
|
|
129
|
+
? [
|
|
130
|
+
{
|
|
131
|
+
rate: precomputedRate,
|
|
132
|
+
name: exports.BLENDED_SHIPPING_RATE_NAME,
|
|
133
|
+
code: exports.BLENDED_SHIPPING_RATE_CODE,
|
|
134
|
+
},
|
|
135
|
+
]
|
|
136
|
+
: resolveApportionedShippingRates(itemLines, line.rates);
|
|
137
|
+
return resolvedRates.map((rate) => ({
|
|
138
|
+
rate_id: rate.id,
|
|
139
|
+
rate: rate.rate || 0,
|
|
140
|
+
name: rate.name,
|
|
141
|
+
code: rate.code,
|
|
142
|
+
shipping_line_id: line.shipping_line.id,
|
|
143
|
+
provider_id: this.getIdentifier(),
|
|
144
|
+
}));
|
|
145
|
+
});
|
|
146
|
+
return [...itemTaxLines, ...shippingTaxLines];
|
|
147
|
+
}
|
|
148
|
+
async hasEligibleEvidence(context) {
|
|
149
|
+
const validationId = context.additional_context?.tax_compliance_validation_id;
|
|
150
|
+
if (typeof validationId !== "string" || !validationId) {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
const loadedModule = modules_sdk_1.MedusaModule.getModuleInstance(tax_compliance_1.TAX_COMPLIANCE_MODULE);
|
|
155
|
+
const service = this.configuredService_ ?? loadedModule?.[tax_compliance_1.TAX_COMPLIANCE_MODULE];
|
|
156
|
+
if (!service) {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
const orderId = context.additional_context?.tax_compliance_order_id;
|
|
160
|
+
if (typeof orderId === "string" && orderId) {
|
|
161
|
+
if (!service.isOrderValidationEligibleForTax) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
return await service.isOrderValidationEligibleForTax(validationId, orderId, context.address.country_code);
|
|
165
|
+
}
|
|
166
|
+
const merchant = readMerchantFromContext(context);
|
|
167
|
+
if (!merchant) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
return await service.isValidationEligibleForTax(validationId, context.address.country_code, merchant);
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
TaxComplianceTaxProviderService.identifier = "tax_compliance";
|
|
178
|
+
exports.default = TaxComplianceTaxProviderService;
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvdGF4LWNvbXBsaWFuY2Uvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpRUFBOEQ7QUFDOUQscURBQWtEO0FBQ2xELDBDQUFnRTtBQUVoRSxpRUFBb0U7QUFTdkQsUUFBQSwwQkFBMEIsR0FBRyx5QkFBeUIsQ0FBQTtBQUN0RCxRQUFBLDBCQUEwQixHQUFHLG1DQUE2QixDQUFBO0FBRXZFOzs7Ozs7Ozs7O0dBVUc7QUFDVSxRQUFBLDZCQUE2QixHQUFHLDhCQUE4QixDQUFBO0FBRTNFOzs7Ozs7R0FNRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcseUJBQXlCLENBQUE7QUFJN0QsTUFBTSx1QkFBdUIsR0FBRyxDQUM5QixPQUF1QyxFQUNmLEVBQUU7SUFDMUIsTUFBTSxLQUFLLEdBQVksT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsNEJBQW9CLENBQUMsQ0FBQTtJQUN6RSxJQUNFLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsS0FBSyxLQUFLLElBQUk7UUFDZCxDQUFDLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQztRQUN2QixPQUFPLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUTtRQUNyQyxPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssUUFBUTtRQUNuQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFDdkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFBO0FBQ3ZFLENBQUMsQ0FBQTtBQUVEOzs7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
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PLUGIN_FEATURES_MODULE = void 0;
|
|
3
|
+
exports.TAX_COMPLIANCE_MODULE = exports.PLUGIN_FEATURES_MODULE = void 0;
|
|
4
4
|
/** Container key of the base plugin's module (`Module("plugin_features", …)`). */
|
|
5
5
|
exports.PLUGIN_FEATURES_MODULE = "plugin_features";
|
|
6
|
-
|
|
6
|
+
/** Container key of the base plugin's Steuer-Compliance module (`Module("tax_compliance", …)`). */
|
|
7
|
+
exports.TAX_COMPLIANCE_MODULE = "tax_compliance";
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0ZBQWtGO0FBQ3JFLFFBQUEsc0JBQXNCLEdBQUcsaUJBQTBCLENBQUE7QUFFaEUsbUdBQW1HO0FBQ3RGLFFBQUEscUJBQXFCLEdBQUcsZ0JBQXlCLENBQUEifQ==
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.reportPluginActionProgress = exports.shopMasterDataDescriptor = exports.getShopMasterData = exports.getShopAppearance = exports.getPluginSettings = exports.PLUGIN_ICON_NAMES = exports.resolveBaseModule = exports.isBasePluginRegistered = exports.requirePluginFeature = exports.pluginFeatureGate = exports.isPluginFeatureEnabledByKey = exports.isPluginFeatureEnabled = exports.isOwnPluginEvent = exports.resolveEffectivePluginFeatures = exports.definePluginFeatures = exports.PLUGIN_FEATURES_MODULE = void 0;
|
|
3
|
+
exports.reportPluginActionProgress = exports.shopMasterDataDescriptor = exports.getShopMasterData = exports.getShopAppearance = exports.getPluginSettings = exports.PLUGIN_ICON_NAMES = exports.resolveBaseModule = exports.isBasePluginRegistered = exports.requirePluginFeature = exports.pluginFeatureGate = exports.isPluginFeatureEnabledByKey = exports.isPluginFeatureEnabled = exports.isOwnPluginEvent = exports.resolveEffectivePluginFeatures = exports.definePluginFeatures = exports.TAX_COMPLIANCE_STATUSES = exports.listCustomerAddressTaxIdentifications = exports.TAX_COMPLIANCE_MODULE = exports.PLUGIN_FEATURES_MODULE = void 0;
|
|
4
4
|
var constants_1 = require("./constants");
|
|
5
5
|
Object.defineProperty(exports, "PLUGIN_FEATURES_MODULE", { enumerable: true, get: function () { return constants_1.PLUGIN_FEATURES_MODULE; } });
|
|
6
|
+
Object.defineProperty(exports, "TAX_COMPLIANCE_MODULE", { enumerable: true, get: function () { return constants_1.TAX_COMPLIANCE_MODULE; } });
|
|
7
|
+
var tax_compliance_1 = require("./tax-compliance");
|
|
8
|
+
Object.defineProperty(exports, "listCustomerAddressTaxIdentifications", { enumerable: true, get: function () { return tax_compliance_1.listCustomerAddressTaxIdentifications; } });
|
|
9
|
+
Object.defineProperty(exports, "TAX_COMPLIANCE_STATUSES", { enumerable: true, get: function () { return tax_compliance_1.TAX_COMPLIANCE_STATUSES; } });
|
|
6
10
|
var descriptor_1 = require("./descriptor");
|
|
7
11
|
Object.defineProperty(exports, "definePluginFeatures", { enumerable: true, get: function () { return descriptor_1.definePluginFeatures; } });
|
|
8
12
|
var effective_features_1 = require("./effective-features");
|
|
@@ -26,4 +30,4 @@ Object.defineProperty(exports, "getShopMasterData", { enumerable: true, get: fun
|
|
|
26
30
|
Object.defineProperty(exports, "shopMasterDataDescriptor", { enumerable: true, get: function () { return shop_master_data_1.shopMasterDataDescriptor; } });
|
|
27
31
|
var action_progress_1 = require("./action-progress");
|
|
28
32
|
Object.defineProperty(exports, "reportPluginActionProgress", { enumerable: true, get: function () { return action_progress_1.reportPluginActionProgress; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHVibGljL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUEyRTtBQUFsRSxtSEFBQSxzQkFBc0IsT0FBQTtBQUFFLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3RELG1EQU15QjtBQUx2Qix1SUFBQSxxQ0FBcUMsT0FBQTtBQUNyQyx5SEFBQSx1QkFBdUIsT0FBQTtBQUt6QiwyQ0FBbUQ7QUFBMUMsa0hBQUEsb0JBQW9CLE9BQUE7QUFDN0IsMkRBQXFFO0FBQTVELG9JQUFBLDhCQUE4QixPQUFBO0FBQ3ZDLDZDQU1zQjtBQUxwQiwrR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQixxSEFBQSxzQkFBc0IsT0FBQTtBQUN0QiwwSEFBQSwyQkFBMkIsT0FBQTtBQUMzQixnSEFBQSxpQkFBaUIsT0FBQTtBQUNqQixtSEFBQSxvQkFBb0IsT0FBQTtBQUV0QixpREFBMkU7QUFBbEUsdUhBQUEsc0JBQXNCLE9BQUE7QUFBRSxrSEFBQSxpQkFBaUIsT0FBQTtBQUNsRCwrQ0FBa0Q7QUFBekMsaUhBQUEsaUJBQWlCLE9BQUE7QUFDMUIsdUNBQThDO0FBQXJDLDZHQUFBLGlCQUFpQixPQUFBO0FBQzFCLHVEQVMyQjtBQVJ6QixxSEFBQSxpQkFBaUIsT0FBQTtBQUNqQixxSEFBQSxpQkFBaUIsT0FBQTtBQUNqQiw0SEFBQSx3QkFBd0IsT0FBQTtBQU8xQixxREFHMEI7QUFGeEIsNkhBQUEsMEJBQTBCLE9BQUEifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listCustomerAddressTaxIdentifications = exports.TAX_COMPLIANCE_STATUSES = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
exports.TAX_COMPLIANCE_STATUSES = [
|
|
6
|
+
"eligible",
|
|
7
|
+
"ineligible",
|
|
8
|
+
"invalid",
|
|
9
|
+
"unavailable",
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* The current UID check of each saved address of the customer that still
|
|
13
|
+
* matches the address as it is now, whatever its status (also `unavailable`
|
|
14
|
+
* and `invalid`). For other plugins, e.g. the Affiliate partner registration;
|
|
15
|
+
* the caller decides whether the `vat_validation` feature of `tax_compliance`
|
|
16
|
+
* is on (`isPluginFeatureEnabledByKey`).
|
|
17
|
+
*/
|
|
18
|
+
const listCustomerAddressTaxIdentifications = (container, customerId) => container
|
|
19
|
+
.resolve(constants_1.TAX_COMPLIANCE_MODULE)
|
|
20
|
+
.listCustomerAddressIdentifications(customerId);
|
|
21
|
+
exports.listCustomerAddressTaxIdentifications = listCustomerAddressTaxIdentifications;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWNvbXBsaWFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHVibGljL3RheC1jb21wbGlhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLDJDQUFtRDtBQUV0QyxRQUFBLHVCQUF1QixHQUFHO0lBQ3JDLFVBQVU7SUFDVixZQUFZO0lBQ1osU0FBUztJQUNULGFBQWE7Q0FDTCxDQUFBO0FBK0JWOzs7Ozs7R0FNRztBQUNJLE1BQU0scUNBQXFDLEdBQUcsQ0FDbkQsU0FBMEIsRUFDMUIsVUFBa0IsRUFDMkIsRUFBRSxDQUMvQyxTQUFTO0tBQ04sT0FBTyxDQUF5QyxpQ0FBcUIsQ0FBQztLQUN0RSxrQ0FBa0MsQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQU50QyxRQUFBLHFDQUFxQyx5Q0FNQyJ9
|
|
@@ -23,9 +23,10 @@ __exportStar(require("./errors"), exports);
|
|
|
23
23
|
__exportStar(require("./hash"), exports);
|
|
24
24
|
__exportStar(require("./logging"), exports);
|
|
25
25
|
__exportStar(require("./money"), exports);
|
|
26
|
+
__exportStar(require("./optional-registration"), exports);
|
|
26
27
|
__exportStar(require("./refreshing-snapshot"), exports);
|
|
27
28
|
__exportStar(require("./shipping-tax"), exports);
|
|
28
29
|
__exportStar(require("./text"), exports);
|
|
29
30
|
__exportStar(require("./transaction"), exports);
|
|
30
31
|
__exportStar(require("./wire-response"), exports);
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUVBQXVFO0FBQ3ZFLHFDQUFxQztBQUNyQywyQ0FBd0I7QUFDeEIsZ0RBQTZCO0FBQzdCLDBDQUF1QjtBQUN2QiwyQ0FBd0I7QUFDeEIseUNBQXNCO0FBQ3RCLDRDQUF5QjtBQUN6QiwwQ0FBdUI7QUFDdkIsMERBQXVDO0FBQ3ZDLHdEQUFxQztBQUNyQyxpREFBOEI7QUFDOUIseUNBQXNCO0FBQ3RCLGdEQUE2QjtBQUM3QixrREFBK0IifQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tryResolveOptional = exports.isMissingRegistrationError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Whether `error` is the container saying `name` is not registered: the
|
|
6
|
+
* awilix message Medusa throws ("Could not resolve 'name'. ...", only for the
|
|
7
|
+
* requested name itself, never a failing dependency further down the chain)
|
|
8
|
+
* or the older "Missing registration" wording.
|
|
9
|
+
*/
|
|
10
|
+
const isMissingRegistrationError = (error, name) => error instanceof Error &&
|
|
11
|
+
(error.message.includes("Missing registration") ||
|
|
12
|
+
error.message.startsWith(`Could not resolve '${name}'`));
|
|
13
|
+
exports.isMissingRegistrationError = isMissingRegistrationError;
|
|
14
|
+
/**
|
|
15
|
+
* Resolves an optional plugin's module service by its container key, or null
|
|
16
|
+
* while that plugin is not installed. A known-absent registration returns
|
|
17
|
+
* null without resolving; any other resolution failure is rethrown.
|
|
18
|
+
*/
|
|
19
|
+
const tryResolveOptional = (container, name) => {
|
|
20
|
+
if (container.hasRegistration?.(name) === false) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
return container.resolve(name);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if ((0, exports.isMissingRegistrationError)(error, name)) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
exports.tryResolveOptional = tryResolveOptional;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwtcmVnaXN0cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvb3B0aW9uYWwtcmVnaXN0cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBOzs7OztHQUtHO0FBQ0ksTUFBTSwwQkFBMEIsR0FBRyxDQUN4QyxLQUFjLEVBQ2QsSUFBWSxFQUNILEVBQUUsQ0FDWCxLQUFLLFlBQVksS0FBSztJQUN0QixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDO1FBQzdDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLHNCQUFzQixJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFOL0MsUUFBQSwwQkFBMEIsOEJBTXFCO0FBRTVEOzs7O0dBSUc7QUFDSSxNQUFNLGtCQUFrQixHQUFHLENBQ2hDLFNBQTZCLEVBQzdCLElBQVksRUFDRixFQUFFO0lBQ1osSUFBSSxTQUFTLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFJLElBQUksQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxJQUFBLGtDQUEwQixFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUNELE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUMsQ0FBQTtBQWhCWSxRQUFBLGtCQUFrQixzQkFnQjlCIn0=
|
|
@@ -14,8 +14,8 @@ const options_1 = require("./options");
|
|
|
14
14
|
* Builds the plain `medusa-config.ts` input of a food shop: Medusa core
|
|
15
15
|
* settings, the Redis event bus, the mail provider (set up in the Admin), S3 file storage, tax and
|
|
16
16
|
* Stripe payment providers, and the Hartl Services plugins (the base plugin
|
|
17
|
-
* with its E-Mail, Documents and file storage modules plus
|
|
18
|
-
* plugins). Deployment
|
|
17
|
+
* with its E-Mail, Documents, Steuer-Compliance and file storage modules plus
|
|
18
|
+
* four feature plugins). Deployment
|
|
19
19
|
* values are read and validated from `environment`; a missing or invalid one
|
|
20
20
|
* fails with its name.
|
|
21
21
|
*/
|
|
@@ -130,7 +130,7 @@ function buildFoodShopConfig(options, environment = process.env) {
|
|
|
130
130
|
options: {
|
|
131
131
|
providers: [
|
|
132
132
|
{
|
|
133
|
-
resolve: "@hartl-services/medusa-
|
|
133
|
+
resolve: "@hartl-services/medusa-base/providers/tax-compliance",
|
|
134
134
|
},
|
|
135
135
|
],
|
|
136
136
|
},
|
|
@@ -162,7 +162,8 @@ function buildFoodShopConfig(options, environment = process.env) {
|
|
|
162
162
|
const plugins = [
|
|
163
163
|
{
|
|
164
164
|
// Always first: owns the plugin feature toggles the other plugins gate
|
|
165
|
-
// on, and carries E-Mail, Documents and the /files
|
|
165
|
+
// on, and carries E-Mail, Documents, Steuer-Compliance and the /files
|
|
166
|
+
// gateway.
|
|
166
167
|
resolve: "@hartl-services/medusa-base",
|
|
167
168
|
options: {
|
|
168
169
|
email: {
|
|
@@ -209,10 +210,6 @@ function buildFoodShopConfig(options, environment = process.env) {
|
|
|
209
210
|
files: { gateway: s3CacheStorage.gateway },
|
|
210
211
|
},
|
|
211
212
|
},
|
|
212
|
-
{
|
|
213
|
-
resolve: "@hartl-services/medusa-tax-compliance",
|
|
214
|
-
options: {},
|
|
215
|
-
},
|
|
216
213
|
{
|
|
217
214
|
resolve: "@hartl-services/medusa-free-shipping",
|
|
218
215
|
options: {},
|
|
@@ -303,4 +300,4 @@ function buildFoodShopConfig(options, environment = process.env) {
|
|
|
303
300
|
function defineFoodShopConfig(options, environment = process.env) {
|
|
304
301
|
return (0, utils_1.defineConfig)(buildFoodShopConfig(options, environment));
|
|
305
302
|
}
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZm9vZC1zaG9wLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaG9wLWNvbmZpZy9idWlsZC1mb29kLXNob3AtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeUVBLGtEQW9WQztBQUdELG9EQUtDO0FBcmFELHVEQUFvRDtBQUNwRCwyR0FBa0g7QUFDbEgscURBQTJFO0FBRTNFLDZDQWlCMEI7QUFDMUIsb0dBQXNGO0FBQ3RGLDRGQUFxRjtBQUNyRiwyREFBbUU7QUFFbkUsdUNBR21CO0FBbUNuQjs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxPQUE4QixFQUM5QixjQUFpQyxPQUFPLENBQUMsR0FBRztJQUU1QyxJQUFBLHFDQUEyQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXJDLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNsQyxJQUFBLGVBQU8sRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxhQUFhLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzlFLE1BQU0sYUFBYSxHQUFHLElBQUEsb0NBQTJCLEVBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRXRFLE1BQU0sR0FBRyxHQUFHLElBQUEsMkJBQWtCLEVBQzVCLFdBQVcsRUFDWDtRQUNFLGNBQWM7UUFDZCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLHlCQUF5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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = taxCompliancePluginFeaturesUpdatedSubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const plugin_features_1 = require("@hartl-services/medusa-food-supplements-contracts/events/plugin-features");
|
|
7
|
+
const tax_compliance_state_1 = require("../tax-compliance/lib/tax-compliance-state");
|
|
8
|
+
const plugin_features_2 = require("../tax-compliance/plugin-features");
|
|
9
|
+
/**
|
|
10
|
+
* Switching the plugin or one of its features in the Admin reaches the tax
|
|
11
|
+
* hooks right away instead of on the next `tax-compliance-state-sync` run.
|
|
12
|
+
* The sync reads the toggles itself, so a late or repeated event still
|
|
13
|
+
* converges on the current values.
|
|
14
|
+
*/
|
|
15
|
+
async function taxCompliancePluginFeaturesUpdatedSubscriber({ event, container, }) {
|
|
16
|
+
if (!(0, public_1.isOwnPluginEvent)(event.data, plugin_features_2.taxCompliancePluginFeatures.plugin_key)) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
plugin_features_1.PluginFeaturesUpdatedEventSchema.parse(event.data);
|
|
20
|
+
await (0, tax_compliance_state_1.storeTaxComplianceState)(container);
|
|
21
|
+
}
|
|
22
|
+
exports.config = {
|
|
23
|
+
event: plugin_features_1.PLUGIN_FEATURES_UPDATED_EVENT,
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWNvbXBsaWFuY2UtcGx1Z2luLWZlYXR1cmVzLXVwZGF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvdGF4LWNvbXBsaWFuY2UtcGx1Z2luLWZlYXR1cmVzLXVwZGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0JBLCtEQVVDO0FBMUJELHNDQUE0QztBQUM1Qyw4R0FJaUY7QUFFakYscUZBQW9GO0FBQ3BGLHVFQUErRTtBQUUvRTs7Ozs7R0FLRztBQUNZLEtBQUssVUFBVSw0Q0FBNEMsQ0FBQyxFQUN6RSxLQUFLLEVBQ0wsU0FBUyxHQUNrQztJQUMzQyxJQUFJLENBQUMsSUFBQSx5QkFBZ0IsRUFBQyxLQUFLLENBQUMsSUFBSSxFQUFFLDZDQUEyQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDMUUsT0FBTTtJQUNSLENBQUM7SUFDRCxrREFBZ0MsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRWxELE1BQU0sSUFBQSw4Q0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtBQUMxQyxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSwrQ0FBNkI7Q0FDckMsQ0FBQSJ9
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.taxComplianceCompleteCartHooks = exports.ORDER_CREATED_PARTICIPANT_WORKFLOW_OPTIONS = exports.FREEZE_TAX_COMPLIANCE_ORDER_EVIDENCE_WORKFLOW_ID = void 0;
|
|
4
|
+
exports.FREEZE_TAX_COMPLIANCE_ORDER_EVIDENCE_WORKFLOW_ID = "freeze-tax-compliance-order-evidence";
|
|
5
|
+
/**
|
|
6
|
+
* The base cancels orderCreated participants by transaction id, also after
|
|
7
|
+
* they finished (compensation of a later complete-cart step). The in-memory
|
|
8
|
+
* workflow engine deletes a finished transaction unless it is stored with a
|
|
9
|
+
* retention time, so the participant keeps it as long as Medusa's
|
|
10
|
+
* completeCartWorkflow keeps its own (3 days, core-flows complete-cart.js).
|
|
11
|
+
*/
|
|
12
|
+
exports.ORDER_CREATED_PARTICIPANT_WORKFLOW_OPTIONS = {
|
|
13
|
+
store: true,
|
|
14
|
+
retentionTime: 60 * 60 * 24 * 3,
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Run by @hartl-services/medusa-base, which owns the complete-cart hooks.
|
|
18
|
+
* Runs after Affiliate's orderCreated participant (100).
|
|
19
|
+
*/
|
|
20
|
+
exports.taxComplianceCompleteCartHooks = {
|
|
21
|
+
orderCreated: {
|
|
22
|
+
workflow_id: exports.FREEZE_TAX_COMPLIANCE_ORDER_EVIDENCE_WORKFLOW_ID,
|
|
23
|
+
order: 200,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtY2FydC1ob29rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90YXgtY29tcGxpYW5jZS9jb21wbGV0ZS1jYXJ0LWhvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsZ0RBQWdELEdBQzNELHNDQUFzQyxDQUFBO0FBRXhDOzs7Ozs7R0FNRztBQUNVLFFBQUEsMENBQTBDLEdBQUc7SUFDeEQsS0FBSyxFQUFFLElBQUk7SUFDWCxhQUFhLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztDQUN2QixDQUFBO0FBRVY7OztHQUdHO0FBQ1UsUUFBQSw4QkFBOEIsR0FBaUM7SUFDMUUsWUFBWSxFQUFFO1FBQ1osV0FBVyxFQUFFLHdEQUFnRDtRQUM3RCxLQUFLLEVBQUUsR0FBRztLQUNYO0NBQ0YsQ0FBQSJ9
|