@hartl-services/medusa-base 2.11.0 → 4.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.
Files changed (149) hide show
  1. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginActionsSection.d.ts +1 -1
  2. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginFeaturesCard.d.ts +1 -1
  3. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginHubCard.d.ts +1 -1
  4. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginSettingsForm.d.ts +1 -1
  5. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginStatusChips.d.ts +1 -1
  6. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/ShopMasterDataBanner.d.ts +1 -1
  7. package/.medusa/server/src/admin/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.d.ts +1 -1
  8. package/.medusa/server/src/admin/admin-components/features/plugin-features/hooks/usePluginSettingsForm.d.ts +1 -1
  9. package/.medusa/server/src/admin/admin-components/features/plugin-features/hooks/usePluginSwitch.d.ts +1 -1
  10. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/action-runs.d.ts +1 -1
  11. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-features-admin-client.d.ts +1 -1
  12. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-features-admin-client.js +1 -1
  13. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-view.d.ts +1 -1
  14. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/settings-draft.d.ts +1 -1
  15. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/settings-layout.d.ts +1 -1
  16. package/.medusa/server/src/admin/index.js +4 -4
  17. package/.medusa/server/src/admin/index.mjs +4 -4
  18. package/.medusa/server/src/api/admin/draft-orders/[id]/order-confirmation/route.js +2 -2
  19. package/.medusa/server/src/api/admin/email/attachments/[id]/mail-kinds/route.js +2 -2
  20. package/.medusa/server/src/api/admin/email/attachments/[id]/route.js +2 -2
  21. package/.medusa/server/src/api/admin/email/attachments/[id]/versions/route.js +2 -2
  22. package/.medusa/server/src/api/admin/email/attachments/route.js +2 -2
  23. package/.medusa/server/src/api/admin/email/messages/[id]/resends/route.js +2 -2
  24. package/.medusa/server/src/api/admin/email/messages/[id]/route.js +2 -2
  25. package/.medusa/server/src/api/admin/email/messages/route.js +2 -2
  26. package/.medusa/server/src/api/admin/email/templates/[kind]/preview/route.js +2 -2
  27. package/.medusa/server/src/api/admin/email/templates/[kind]/route.js +2 -2
  28. package/.medusa/server/src/api/admin/email/templates/[kind]/send-test/route.js +2 -2
  29. package/.medusa/server/src/api/admin/email/templates/[kind]/test-sources/route.js +2 -2
  30. package/.medusa/server/src/api/admin/email/templates/route.js +2 -2
  31. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/route.js +2 -2
  32. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/runs/route.js +2 -2
  33. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/route.js +2 -2
  34. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/settings/route.js +2 -2
  35. package/.medusa/server/src/api/admin/plugin-features/route.js +2 -2
  36. package/.medusa/server/src/api/admin/tax-compliance/customer-addresses/[address_id]/tax-identification/route.js +15 -0
  37. package/.medusa/server/src/api/admin-first-login-password-policy.js +2 -2
  38. package/.medusa/server/src/api/answer-code-provider-route-not-found.js +2 -2
  39. package/.medusa/server/src/api/check-customer-address-tax-identification.js +93 -0
  40. package/.medusa/server/src/api/code-account-password-routes.js +2 -2
  41. package/.medusa/server/src/api/customer-address-identification-response.js +14 -0
  42. package/.medusa/server/src/api/middlewares.js +61 -7
  43. package/.medusa/server/src/api/password-policy.js +2 -2
  44. package/.medusa/server/src/api/plugin-actions.js +2 -2
  45. package/.medusa/server/src/api/plugin-features-http.js +2 -2
  46. package/.medusa/server/src/api/require-login-code-customer-email.js +2 -2
  47. package/.medusa/server/src/api/store/carts/[id]/completion-check/route.js +2 -2
  48. package/.medusa/server/src/api/store/carts/[id]/tax-identification/route.js +179 -0
  49. package/.medusa/server/src/api/store/customer-auth/password-policy/route.js +2 -2
  50. package/.medusa/server/src/api/store/customers/me/addresses/[address_id]/tax-identification/route.js +12 -0
  51. package/.medusa/server/src/api/store/customers/me/tax-identifications/route.js +14 -0
  52. package/.medusa/server/src/api/store/plugin-features/[plugin_key]/route.js +2 -2
  53. package/.medusa/server/src/api/store/plugin-features/route.js +2 -2
  54. package/.medusa/server/src/api/store/tax-identification-policy/route.js +21 -0
  55. package/.medusa/server/src/api/tax-identification-message.js +9 -0
  56. package/.medusa/server/src/api/to-response-amount.js +19 -0
  57. package/.medusa/server/src/customer-auth/application/prepare-code-account-password-reset.js +2 -2
  58. package/.medusa/server/src/customer-auth/application/request-login-code.js +2 -2
  59. package/.medusa/server/src/customer-auth/customer-password-policy.js +2 -2
  60. package/.medusa/server/src/customer-auth/domain/auth-methods.js +2 -2
  61. package/.medusa/server/src/customer-auth/domain/login-code.js +2 -2
  62. package/.medusa/server/src/customer-auth/login-code-state.js +2 -2
  63. package/.medusa/server/src/customer-auth/plugin-features.js +2 -2
  64. package/.medusa/server/src/documents/paths/documents.js +2 -2
  65. package/.medusa/server/src/documents/schemas/documents.js +2 -2
  66. package/.medusa/server/src/email/application/deliver-login-code.js +2 -2
  67. package/.medusa/server/src/email/domain/business-keys.js +2 -2
  68. package/.medusa/server/src/email/templates/blocks/render-document.js +2 -2
  69. package/.medusa/server/src/email/templates/render.js +2 -2
  70. package/.medusa/server/src/email/templates/validate.js +2 -2
  71. package/.medusa/server/src/email/types/template-data.js +2 -2
  72. package/.medusa/server/src/jobs/tax-compliance-state-sync.js +26 -0
  73. package/.medusa/server/src/modules/documents/service.js +2 -2
  74. package/.medusa/server/src/modules/email/domain/attachment.js +2 -2
  75. package/.medusa/server/src/modules/email/service.js +3 -3
  76. package/.medusa/server/src/modules/tax-compliance/domain/validation-policy.js +48 -0
  77. package/.medusa/server/src/modules/tax-compliance/index.js +15 -0
  78. package/.medusa/server/src/modules/tax-compliance/migrations/Migration20260814120459.js +18 -0
  79. package/.medusa/server/src/modules/tax-compliance/migrations/Migration20260814121724.js +14 -0
  80. package/.medusa/server/src/modules/tax-compliance/migrations/Migration20260814153410.js +14 -0
  81. package/.medusa/server/src/modules/tax-compliance/migrations/Migration20260929091620.js +27 -0
  82. package/.medusa/server/src/modules/tax-compliance/migrations/Migration20261011090147.js +16 -0
  83. package/.medusa/server/src/modules/tax-compliance/models/tax-compliance-state.js +29 -0
  84. package/.medusa/server/src/modules/tax-compliance/models/tax-compliance-validation.js +74 -0
  85. package/.medusa/server/src/modules/tax-compliance/runtime-settings.js +43 -0
  86. package/.medusa/server/src/modules/tax-compliance/service.js +693 -0
  87. package/.medusa/server/src/providers/email-otp/service.js +2 -2
  88. package/.medusa/server/src/providers/tax-compliance/index.js +11 -0
  89. package/.medusa/server/src/providers/tax-compliance/service.js +179 -0
  90. package/.medusa/server/src/public/constants.js +4 -2
  91. package/.medusa/server/src/public/index.js +6 -2
  92. package/.medusa/server/src/public/shop-config.js +6 -6
  93. package/.medusa/server/src/public/tax-compliance.js +22 -0
  94. package/.medusa/server/src/shared/lib/index.js +2 -1
  95. package/.medusa/server/src/shared/lib/optional-registration.js +34 -0
  96. package/.medusa/server/src/shop-config/{build-food-shop-config.js → build-shop-config.js} +15 -18
  97. package/.medusa/server/src/shop-config/options.js +4 -4
  98. package/.medusa/server/src/subscribers/affiliate-application-submitted.js +2 -2
  99. package/.medusa/server/src/subscribers/affiliate-consignment-reminder-due.js +2 -2
  100. package/.medusa/server/src/subscribers/documents-order-cancellation-ready.js +2 -2
  101. package/.medusa/server/src/subscribers/documents-refund-ready.js +2 -2
  102. package/.medusa/server/src/subscribers/documents-shipment-invoice-assignment-decided.js +2 -2
  103. package/.medusa/server/src/subscribers/packing-list-allocation-revised.js +2 -2
  104. package/.medusa/server/src/subscribers/tax-compliance-plugin-features-updated.js +25 -0
  105. package/.medusa/server/src/tax-compliance/complete-cart-hooks.js +26 -0
  106. package/.medusa/server/src/tax-compliance/integrations/finanzonline/client.js +222 -0
  107. package/.medusa/server/src/tax-compliance/integrations/finanzonline/validator.js +50 -0
  108. package/.medusa/server/src/tax-compliance/integrations/registry.js +26 -0
  109. package/.medusa/server/src/tax-compliance/integrations/validator.js +19 -0
  110. package/.medusa/server/src/tax-compliance/lib/order-tax-context.js +100 -0
  111. package/.medusa/server/src/tax-compliance/lib/tax-compliance-state.js +59 -0
  112. package/.medusa/server/src/tax-compliance/lib/tax-runtime-settings.js +79 -0
  113. package/.medusa/server/src/tax-compliance/plugin-features.js +73 -0
  114. package/.medusa/server/src/tax-compliance/resolve-services.js +7 -0
  115. package/.medusa/server/src/tax-compliance/types/tax-compliance.js +6 -0
  116. package/.medusa/server/src/workflows/documents/issue-invoice-after-shipment.js +25 -30
  117. package/.medusa/server/src/workflows/documents/issue-packing-list.js +3 -14
  118. package/.medusa/server/src/workflows/hooks/cart-tax-context.js +78 -0
  119. package/.medusa/server/src/workflows/hooks/order-tax-context.js +7 -0
  120. package/.medusa/server/src/workflows/hooks/shipping-tax-apportionment.js +145 -0
  121. package/.medusa/server/src/workflows/tax-compliance/apportion-order-shipping-tax.js +72 -0
  122. package/.medusa/server/src/workflows/tax-compliance/domain/requires-frozen-tax-evidence.js +27 -0
  123. package/.medusa/server/src/workflows/tax-compliance/freeze-order-evidence.js +125 -0
  124. package/.medusa/server/src/workflows/tax-compliance/submit-customer-address-tax-identification.js +18 -0
  125. package/.medusa/server/src/workflows/tax-compliance/submit-tax-identification.js +18 -0
  126. package/README.md +393 -61
  127. package/dist/customer-auth/domain/auth-methods.js +1 -1
  128. package/dist/customer-auth/plugin-features.js +1 -1
  129. package/dist/documents/types/admin-api.d.ts +1 -1
  130. package/dist/documents/types/document-summary.d.ts +1 -1
  131. package/dist/documents/types/store-api.d.ts +1 -1
  132. package/dist/email/types/template-data.js +1 -1
  133. package/dist/public/constants.d.ts +2 -0
  134. package/dist/public/constants.js +3 -1
  135. package/dist/public/index.d.ts +2 -1
  136. package/dist/public/index.js +5 -1
  137. package/dist/public/shop-config.d.ts +4 -4
  138. package/dist/public/shop-config.js +5 -5
  139. package/dist/public/tax-compliance.d.ts +30 -0
  140. package/dist/public/tax-compliance.js +21 -0
  141. package/dist/shared/lib/index.d.ts +1 -0
  142. package/dist/shared/lib/index.js +1 -0
  143. package/dist/shared/lib/optional-registration.d.ts +18 -0
  144. package/dist/shared/lib/optional-registration.js +33 -0
  145. package/dist/shop-config/{build-food-shop-config.d.ts → build-shop-config.d.ts} +12 -12
  146. package/dist/shop-config/{build-food-shop-config.js → build-shop-config.js} +14 -17
  147. package/dist/shop-config/options.d.ts +3 -3
  148. package/dist/shop-config/options.js +3 -3
  149. package/package.json +7 -6
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveMerchantProfile = resolveMerchantProfile;
4
+ exports.resolveFinanzOnlineCredentials = resolveFinanzOnlineCredentials;
5
+ const public_1 = require("../../public");
6
+ const lib_1 = require("../../shared/lib");
7
+ const utils_1 = require("@medusajs/framework/utils");
8
+ const runtime_settings_1 = require("../../modules/tax-compliance/runtime-settings");
9
+ const plugin_features_1 = require("../plugin-features");
10
+ /**
11
+ * App-level readers for the runtime settings the tax checks need. They run
12
+ * with an application container (route scope, workflow step, hook), read
13
+ * through the base plugin and hand the result to the module service as a
14
+ * parameter: a module service does not reach into other modules.
15
+ */
16
+ // One warning per process and not-configured state, not per validation. A
17
+ // configured read re-arms it.
18
+ const warnOnce = (0, lib_1.createWarnOnce)();
19
+ const FINANZONLINE_NOT_CONFIGURED_KEY = "finanzonline-not-configured";
20
+ /**
21
+ * Merchant country and UID from the shop master data (base plugin; there is
22
+ * no config fallback), normalized; `null` while either is unset.
23
+ */
24
+ async function resolveMerchantProfile(container, options) {
25
+ try {
26
+ const { values } = await (0, public_1.getShopMasterData)(container);
27
+ return (0, runtime_settings_1.toMerchantProfile)(values);
28
+ }
29
+ catch (error) {
30
+ if (!options.failSafe) {
31
+ throw error;
32
+ }
33
+ logError(container, `Tax compliance: shop master data could not be read for ${options.subject ?? "tax identification"}; continuing without B2B tax evidence.`, error);
34
+ return null;
35
+ }
36
+ }
37
+ /**
38
+ * FinanzOnline credentials from the plugin settings. Not configured or not
39
+ * readable (logged) means `undefined`: the registry then answers
40
+ * "unavailable" (`missing_credentials`) without calling FinanzOnline.
41
+ */
42
+ async function resolveFinanzOnlineCredentials(container) {
43
+ let values;
44
+ try {
45
+ ;
46
+ ({ values } = await (0, public_1.getPluginSettings)(container, plugin_features_1.taxCompliancePluginFeatures));
47
+ }
48
+ catch (error) {
49
+ logError(container, "Tax compliance: FinanzOnline settings could not be read; the qualified UID check is unavailable.", error);
50
+ return undefined;
51
+ }
52
+ const { credentials, missing } = (0, runtime_settings_1.toFinanzOnlineCredentials)(values);
53
+ if (credentials) {
54
+ warnOnce.reset(FINANZONLINE_NOT_CONFIGURED_KEY);
55
+ return credentials;
56
+ }
57
+ warnOnce(FINANZONLINE_NOT_CONFIGURED_KEY, missing.join(","), () => {
58
+ try {
59
+ container
60
+ .resolve(utils_1.ContainerRegistrationKeys.LOGGER)
61
+ .warn(`Tax compliance: FinanzOnline ist nicht konfiguriert (fehlend: ${missing.join(", ")}). Bis die Zugangsdaten im Admin unter „Hartl Services Plugins“ → Steuer-Compliance gepflegt sind, ist die qualifizierte UID-Prüfung nicht verfügbar.`);
62
+ }
63
+ catch {
64
+ // Logging must not change the validation outcome.
65
+ }
66
+ });
67
+ return undefined;
68
+ }
69
+ function logError(container, message, error) {
70
+ try {
71
+ container
72
+ .resolve(utils_1.ContainerRegistrationKeys.LOGGER)
73
+ .error(message, error instanceof Error ? error : new Error(String(error)));
74
+ }
75
+ catch {
76
+ // A missing logger must not turn the fail-safe itself into a failure.
77
+ }
78
+ }
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJ1bnRpbWUtc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGF4LWNvbXBsaWFuY2UvbGliL3RheC1ydW50aW1lLXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNkNBLHdEQWtCQztBQU9ELHdFQW9DQztBQTFHRCx5Q0FHcUI7QUFDckIsMENBQWlEO0FBRWpELHFEQUFxRTtBQUdyRSxvRkFJc0Q7QUFDdEQsd0RBQWdFO0FBSWhFOzs7OztHQUtHO0FBRUgsMEVBQTBFO0FBQzFFLDhCQUE4QjtBQUM5QixNQUFNLFFBQVEsR0FBRyxJQUFBLG9CQUFjLEdBQUUsQ0FBQTtBQUNqQyxNQUFNLCtCQUErQixHQUFHLDZCQUE2QixDQUFBO0FBYXJFOzs7R0FHRztBQUNJLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsU0FBMEIsRUFDMUIsT0FBc0M7SUFFdEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSwwQkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtRQUNyRCxPQUFPLElBQUEsb0NBQWlCLEVBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sS0FBSyxDQUFBO1FBQ2IsQ0FBQztRQUNELFFBQVEsQ0FDTixTQUFTLEVBQ1QsMERBQTBELE9BQU8sQ0FBQyxPQUFPLElBQUksb0JBQW9CLHdDQUF3QyxFQUN6SSxLQUFLLENBQ04sQ0FBQTtRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLDhCQUE4QixDQUNsRCxTQUEwQjtJQUUxQixJQUFJLE1BQXdDLENBQUE7SUFDNUMsSUFBSSxDQUFDO1FBQ0gsQ0FBQztRQUFBLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsMEJBQWlCLEVBQ3BDLFNBQVMsRUFDVCw2Q0FBMkIsQ0FDNUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixRQUFRLENBQ04sU0FBUyxFQUNULGtHQUFrRyxFQUNsRyxLQUFLLENBQ04sQ0FBQTtRQUNELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUEsNENBQXlCLEVBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEUsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQixRQUFRLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUE7UUFDL0MsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQztJQUVELFFBQVEsQ0FBQywrQkFBK0IsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRTtRQUNoRSxJQUFJLENBQUM7WUFDSCxTQUFTO2lCQUNOLE9BQU8sQ0FBUyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUM7aUJBQ2pELElBQUksQ0FDSCxpRUFBaUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsdUpBQXVKLENBQzNPLENBQUE7UUFDTCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1Asa0RBQWtEO1FBQ3BELENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNGLE9BQU8sU0FBUyxDQUFBO0FBQ2xCLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FDZixTQUEwQixFQUMxQixPQUFlLEVBQ2YsS0FBYztJQUVkLElBQUksQ0FBQztRQUNILFNBQVM7YUFDTixPQUFPLENBQVMsaUNBQXlCLENBQUMsTUFBTSxDQUFDO2FBQ2pELEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxzRUFBc0U7SUFDeEUsQ0FBQztBQUNILENBQUMifQ==
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.taxCompliancePluginFeatures = void 0;
4
+ const public_1 = require("../public");
5
+ const tax_compliance_1 = require("@hartl-services/medusa-contracts/paths/tax-compliance");
6
+ const FINANZONLINE = "FinanzOnline";
7
+ exports.taxCompliancePluginFeatures = (0, public_1.definePluginFeatures)({
8
+ plugin_key: tax_compliance_1.TAX_COMPLIANCE_PLUGIN_KEY,
9
+ label: "Steuer-Compliance",
10
+ description: "UID-Prüfung über FinanzOnline, B2B-Verkauf mit Reverse Charge im Checkout und anteilige Versandsteuer. Aus: wie alle drei Schalter aus; Warenkorb und Versand werden nach Medusa-Standard besteuert, bereits eingefrorene Steuernachweise abgeschlossener Bestellungen gelten weiter.",
11
+ summary: "UID-Prüfung, B2B-Reverse-Charge und Versandsteuer.",
12
+ icon: "ReceiptPercent",
13
+ disable_hint: "Aus: keine UID-Prüfung, kein B2B, Versandsteuer nach Medusa.",
14
+ disable_confirm: "Kunden können dann keine UID mehr prüfen lassen oder im Warenkorb angeben, und der Versand wird nach Medusa-Standard besteuert. Bereits eingefrorene Steuernachweise abgeschlossener Bestellungen gelten weiter.",
15
+ features: [
16
+ {
17
+ key: tax_compliance_1.TAX_COMPLIANCE_FEATURES.vatValidation,
18
+ label: "UID-Prüfung erlauben",
19
+ description: "UID von Firmenadressen über FinanzOnline prüfen (Adressbuch, Partner-Registrierung).",
20
+ default_enabled: true,
21
+ },
22
+ {
23
+ key: tax_compliance_1.TAX_COMPLIANCE_FEATURES.b2b,
24
+ label: "B2B-Verkauf im Checkout",
25
+ description: "Firma und UID im Checkout; eine gültige ausländische UID ergibt 0 % (Reverse Charge). Aus: nur Firmenname.",
26
+ default_enabled: true,
27
+ parent_key: tax_compliance_1.TAX_COMPLIANCE_FEATURES.vatValidation,
28
+ },
29
+ {
30
+ key: tax_compliance_1.TAX_COMPLIANCE_FEATURES.shippingTax,
31
+ label: "Versandsteuer-Compliance",
32
+ description: "Versand mit dem gewichteten Steuersatz der Artikel. Aus: Steuersatz der Versandoption.",
33
+ default_enabled: true,
34
+ },
35
+ ],
36
+ setting_groups: [
37
+ {
38
+ name: FINANZONLINE,
39
+ description: "Webservice-Benutzer für die qualifizierte UID-Abfrage.",
40
+ requires_feature: tax_compliance_1.TAX_COMPLIANCE_FEATURES.vatValidation,
41
+ },
42
+ ],
43
+ settings: [
44
+ {
45
+ key: "finanzonline_participant_id",
46
+ label: "Teilnehmer-ID",
47
+ group: FINANZONLINE,
48
+ width: "half",
49
+ description: "Teilnehmer-ID des FinanzOnline-Webservice-Benutzers.",
50
+ type: "string",
51
+ required: true,
52
+ },
53
+ {
54
+ key: "finanzonline_user_id",
55
+ label: "Benutzer-ID",
56
+ group: FINANZONLINE,
57
+ width: "half",
58
+ description: "Benutzer-ID des FinanzOnline-Webservice-Benutzers.",
59
+ type: "string",
60
+ required: true,
61
+ },
62
+ {
63
+ key: "finanzonline_password",
64
+ label: "PIN",
65
+ group: FINANZONLINE,
66
+ width: "half",
67
+ description: "PIN des FinanzOnline-Webservice-Benutzers.",
68
+ type: "secret",
69
+ required: true,
70
+ },
71
+ ],
72
+ });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWZlYXR1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RheC1jb21wbGlhbmNlL3BsdWdpbi1mZWF0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBZ0Q7QUFDaEQsMEZBRzhEO0FBRTlELE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQTtBQUV0QixRQUFBLDJCQUEyQixHQUFHLElBQUEsNkJBQW9CLEVBQUM7SUFDOUQsVUFBVSxFQUFFLDBDQUF5QjtJQUNyQyxLQUFLLEVBQUUsbUJBQW1CO0lBQzFCLFdBQVcsRUFDVCx1UkFBdVI7SUFDelIsT0FBTyxFQUFFLG9EQUFvRDtJQUM3RCxJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLFlBQVksRUFBRSw4REFBOEQ7SUFDNUUsZUFBZSxFQUNiLGtOQUFrTjtJQUNwTixRQUFRLEVBQUU7UUFDUjtZQUNFLEdBQUcsRUFBRSx3Q0FBdUIsQ0FBQyxhQUFhO1lBQzFDLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsV0FBVyxFQUNULHNGQUFzRjtZQUN4RixlQUFlLEVBQUUsSUFBSTtTQUN0QjtRQUNEO1lBQ0UsR0FBRyxFQUFFLHdDQUF1QixDQUFDLEdBQUc7WUFDaEMsS0FBSyxFQUFFLHlCQUF5QjtZQUNoQyxXQUFXLEVBQ1QsNEdBQTRHO1lBQzlHLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFVBQVUsRUFBRSx3Q0FBdUIsQ0FBQyxhQUFhO1NBQ2xEO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsd0NBQXVCLENBQUMsV0FBVztZQUN4QyxLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLFdBQVcsRUFDVCx3RkFBd0Y7WUFDMUYsZUFBZSxFQUFFLElBQUk7U0FDdEI7S0FDRjtJQUNELGNBQWMsRUFBRTtRQUNkO1lBQ0UsSUFBSSxFQUFFLFlBQVk7WUFDbEIsV0FBVyxFQUFFLHdEQUF3RDtZQUNyRSxnQkFBZ0IsRUFBRSx3Q0FBdUIsQ0FBQyxhQUFhO1NBQ3hEO0tBQ0Y7SUFDRCxRQUFRLEVBQUU7UUFDUjtZQUNFLEdBQUcsRUFBRSw2QkFBNkI7WUFDbEMsS0FBSyxFQUFFLGVBQWU7WUFDdEIsS0FBSyxFQUFFLFlBQVk7WUFDbkIsS0FBSyxFQUFFLE1BQU07WUFDYixXQUFXLEVBQ1Qsc0RBQXNEO1lBQ3hELElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZjtRQUNEO1lBQ0UsR0FBRyxFQUFFLHNCQUFzQjtZQUMzQixLQUFLLEVBQUUsYUFBYTtZQUNwQixLQUFLLEVBQUUsWUFBWTtZQUNuQixLQUFLLEVBQUUsTUFBTTtZQUNiLFdBQVcsRUFBRSxvREFBb0Q7WUFDakUsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNmO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsdUJBQXVCO1lBQzVCLEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLFlBQVk7WUFDbkIsS0FBSyxFQUFFLE1BQU07WUFDYixXQUFXLEVBQUUsNENBQTRDO1lBQ3pELElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZjtLQUNGO0NBQ0YsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveTaxComplianceService = void 0;
4
+ const tax_compliance_1 = require("../modules/tax-compliance");
5
+ const resolveTaxComplianceService = (container) => container.resolve(tax_compliance_1.TAX_COMPLIANCE_MODULE);
6
+ exports.resolveTaxComplianceService = resolveTaxComplianceService;
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90YXgtY29tcGxpYW5jZS9yZXNvbHZlLXNlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLDhEQUdrQztBQUUzQixNQUFNLDJCQUEyQixHQUFHLENBQ3pDLFNBQTBCLEVBQ0osRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXFCLENBQUMsQ0FBQTtBQUZ0RCxRQUFBLDJCQUEyQiwrQkFFMkIifQ==
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TAX_COMPLIANCE_STATUSES = void 0;
4
+ var tax_compliance_1 = require("../../public/tax-compliance");
5
+ Object.defineProperty(exports, "TAX_COMPLIANCE_STATUSES", { enumerable: true, get: function () { return tax_compliance_1.TAX_COMPLIANCE_STATUSES; } });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWNvbXBsaWFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGF4LWNvbXBsaWFuY2UvdHlwZXMvdGF4LWNvbXBsaWFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsOERBS29DO0FBSmxDLHlIQUFBLHVCQUF1QixPQUFBIn0=
@@ -4,12 +4,14 @@ exports.issueInvoiceAfterShipmentWorkflow = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
5
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
6
  const core_flows_1 = require("@medusajs/medusa/core-flows");
7
+ const lib_1 = require("../../shared/lib");
8
+ const resolve_services_1 = require("../../tax-compliance/resolve-services");
7
9
  const issuance_rules_1 = require("../../modules/documents/domain/issuance-rules");
8
10
  const tax_breakdown_1 = require("../../modules/documents/domain/tax-breakdown");
9
11
  const document_resolution_1 = require("../../modules/documents/domain/document-resolution");
10
12
  const document_resolution_2 = require("../../modules/documents/domain/document-resolution");
11
- const resolve_services_1 = require("../../documents/utils/resolve-services");
12
- const lib_1 = require("../../shared/lib");
13
+ const resolve_services_2 = require("../../documents/utils/resolve-services");
14
+ const lib_2 = require("../../shared/lib");
13
15
  const issue_document_1 = require("./issue-document");
14
16
  const publish_document_facts_1 = require("./publish-document-facts");
15
17
  const asRecord = (value, field) => {
@@ -25,7 +27,7 @@ const asRequiredString = (value, field) => {
25
27
  return value;
26
28
  };
27
29
  // A blank string is a value here, unlike the packing list.
28
- const asOptionalString = (value) => (0, lib_1.asOptionalString)(value, { allowBlank: true });
30
+ const asOptionalString = (value) => (0, lib_2.asOptionalString)(value, { allowBlank: true });
29
31
  const asRequiredDate = (value, field) => {
30
32
  const date = value instanceof Date ? value : new Date(String(value ?? ""));
31
33
  if (Number.isNaN(date.getTime())) {
@@ -40,7 +42,7 @@ const asQuantity = (value, field) => {
40
42
  if (typeof value === "string" && value.trim() && Number.isFinite(Number(value))) {
41
43
  return Number(value);
42
44
  }
43
- const record = (0, lib_1.asRecordOrNull)(value);
45
+ const record = (0, lib_2.asRecordOrNull)(value);
44
46
  const nestedValue = record?.value;
45
47
  if ((typeof nestedValue === "number" || typeof nestedValue === "string") &&
46
48
  Number.isFinite(Number(nestedValue))) {
@@ -55,7 +57,7 @@ const asAmount = (value) => {
55
57
  if (typeof value === "number" && Number.isFinite(value)) {
56
58
  return String(value);
57
59
  }
58
- const record = (0, lib_1.asRecordOrNull)(value);
60
+ const record = (0, lib_2.asRecordOrNull)(value);
59
61
  const nestedValue = record?.value;
60
62
  if (typeof nestedValue === "string" && nestedValue.trim()) {
61
63
  return nestedValue;
@@ -104,7 +106,7 @@ const toShippingTaxLineAmounts = (shippingMethods) => Array.isArray(shippingMeth
104
106
  ? shippingMethods.flatMap((value) => toTaxLineAmountsOf(asRecord(value, "order.shipping_methods[]"), "shipping_methods"))
105
107
  : [];
106
108
  const toAddress = (value) => {
107
- const address = (0, lib_1.asRecordOrNull)(value);
109
+ const address = (0, lib_2.asRecordOrNull)(value);
108
110
  if (!address) {
109
111
  return null;
110
112
  }
@@ -123,16 +125,11 @@ const isBatchSnapshotCapability = (value) => !!value &&
123
125
  typeof value === "object" &&
124
126
  typeof value
125
127
  .getOrderDocumentBatchSnapshot === "function";
126
- const tryResolveOptional = (container, key) => {
127
- try {
128
- return container.resolve(key);
129
- }
130
- catch {
131
- return null;
132
- }
133
- };
134
128
  const resolveBatchAllocations = async (container, orderId) => {
135
- const resolved = tryResolveOptional(container, "batch_management");
129
+ // Batch management is an optional plugin; a failing dependency of an
130
+ // installed one is a real error and fails the invoice (the shipment event
131
+ // is retried).
132
+ const resolved = (0, lib_1.tryResolveOptional)(container, "batch_management");
136
133
  if (!resolved) {
137
134
  return [];
138
135
  }
@@ -146,10 +143,8 @@ const resolveBatchAllocations = async (container, orderId) => {
146
143
  return snapshot.allocations;
147
144
  };
148
145
  const resolveOrderTaxCompliance = async (container, orderId) => {
149
- if (!container.hasRegistration("tax_compliance")) {
150
- throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Documents benötigt das registrierte Plugin @hartl-services/medusa-tax-compliance (Modul tax_compliance) für Rechnungen.");
151
- }
152
- const service = container.resolve("tax_compliance");
146
+ // Steuer-Compliance is a module of this plugin, so it is always registered.
147
+ const service = (0, resolve_services_1.resolveTaxComplianceService)(container);
153
148
  const validationId = await service.getOrderValidationId(orderId);
154
149
  if (!validationId) {
155
150
  return null;
@@ -183,7 +178,7 @@ const toInvoiceSource = (rawOrder, batchAllocations, taxCompliance) => {
183
178
  const lines = rawItems.map((rawItem) => {
184
179
  const item = asRecord(rawItem, "order.items[]");
185
180
  const lineId = asRequiredString(item.id, "order.items[].id");
186
- const variant = (0, lib_1.asRecordOrNull)(item.variant);
181
+ const variant = (0, lib_2.asRecordOrNull)(item.variant);
187
182
  const batchAllocations = allocationsByLine[lineId] ?? [];
188
183
  const quantity = asQuantity(item.quantity, "order.items[].quantity");
189
184
  const subtotal = toMoney(item.subtotal, currencyCode);
@@ -209,7 +204,7 @@ const toInvoiceSource = (rawOrder, batchAllocations, taxCompliance) => {
209
204
  return {
210
205
  order: {
211
206
  id: asRequiredString(rawOrder.id, "order.id"),
212
- display_id: (0, lib_1.asFiniteNumber)(rawOrder.display_id),
207
+ display_id: (0, lib_2.asFiniteNumber)(rawOrder.display_id),
213
208
  email: asRequiredString(rawOrder.email, "order.email"),
214
209
  currency_code: currencyCode,
215
210
  billing_address: toAddress(rawOrder.billing_address),
@@ -239,7 +234,7 @@ const resolveInvoiceCandidateStep = (0, workflows_sdk_1.createStep)("documents-r
239
234
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "An order_id or fulfillment_id is required to issue an invoice.");
240
235
  }
241
236
  if (input.fulfillment_id) {
242
- await (0, resolve_services_1.resolveDocumentsService)(container).upsertShipmentInvoiceAssignment({
237
+ await (0, resolve_services_2.resolveDocumentsService)(container).upsertShipmentInvoiceAssignment({
243
238
  order_id: orderId,
244
239
  fulfillment_id: input.fulfillment_id,
245
240
  });
@@ -310,7 +305,7 @@ const resolveInvoiceCandidateStep = (0, workflows_sdk_1.createStep)("documents-r
310
305
  if (!fulfillmentId && !input.regenerate_document_id) {
311
306
  const fulfillments = Array.isArray(order.fulfillments)
312
307
  ? order.fulfillments
313
- .map((value) => (0, lib_1.asRecordOrNull)(value))
308
+ .map((value) => (0, lib_2.asRecordOrNull)(value))
314
309
  .filter((value) => Boolean(value) && Boolean(value?.shipped_at) && !value?.canceled_at)
315
310
  .map((value) => ({
316
311
  fulfillment_id: asRequiredString(value.id, "fulfillment.id"),
@@ -321,7 +316,7 @@ const resolveInvoiceCandidateStep = (0, workflows_sdk_1.createStep)("documents-r
321
316
  if (!fulfillmentId) {
322
317
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `Order ${orderId} has no shipped fulfillment for invoice assignment.`);
323
318
  }
324
- await (0, resolve_services_1.resolveDocumentsService)(container).upsertShipmentInvoiceAssignment({
319
+ await (0, resolve_services_2.resolveDocumentsService)(container).upsertShipmentInvoiceAssignment({
325
320
  order_id: orderId,
326
321
  fulfillment_id: fulfillmentId,
327
322
  });
@@ -340,7 +335,7 @@ const resolveInvoiceCandidateStep = (0, workflows_sdk_1.createStep)("documents-r
340
335
  const claimInvoiceStep = (0, workflows_sdk_1.createStep)("documents-claim-order-invoice", async (candidate, { container }) => {
341
336
  if (!candidate.should_issue || !candidate.source) {
342
337
  if (candidate.fulfillment_id) {
343
- await (0, resolve_services_1.resolveDocumentsService)(container).claimShipmentInvoiceDecision({
338
+ await (0, resolve_services_2.resolveDocumentsService)(container).claimShipmentInvoiceDecision({
344
339
  order_id: candidate.order_id,
345
340
  fulfillment_id: candidate.fulfillment_id,
346
341
  order_complete: false,
@@ -365,7 +360,7 @@ const claimInvoiceStep = (0, workflows_sdk_1.createStep)("documents-claim-order-
365
360
  const rawOrder = candidate.source.order;
366
361
  const orderId = rawOrder.id;
367
362
  if (candidate.regenerate_document_id) {
368
- const documents = (0, resolve_services_1.resolveDocumentsService)(container);
363
+ const documents = (0, resolve_services_2.resolveDocumentsService)(container);
369
364
  const document = await documents.getDocumentForOrder(candidate.regenerate_document_id, orderId);
370
365
  if (!document?.document_number || !document.issued_at) {
371
366
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "An issued invoice is required before it can be regenerated.");
@@ -407,7 +402,7 @@ const claimInvoiceStep = (0, workflows_sdk_1.createStep)("documents-claim-order-
407
402
  if (!candidate.fulfillment_id) {
408
403
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `Order ${orderId} has no invoice assignment candidate.`);
409
404
  }
410
- const decision = await (0, resolve_services_1.resolveDocumentsService)(container).claimShipmentInvoiceDecision({
405
+ const decision = await (0, resolve_services_2.resolveDocumentsService)(container).claimShipmentInvoiceDecision({
411
406
  order_id: orderId,
412
407
  fulfillment_id: candidate.fulfillment_id,
413
408
  order_complete: true,
@@ -429,7 +424,7 @@ const claimInvoiceStep = (0, workflows_sdk_1.createStep)("documents-claim-order-
429
424
  fulfillment_id: decision.assignment.fulfillment_id,
430
425
  }, null);
431
426
  }
432
- const claimed = await (0, resolve_services_1.resolveDocumentsService)(container).startInvoiceIssuance({
427
+ const claimed = await (0, resolve_services_2.resolveDocumentsService)(container).startInvoiceIssuance({
433
428
  order_id: orderId,
434
429
  order_display_id: rawOrder.display_id,
435
430
  customer_id: candidate.customer_id,
@@ -455,7 +450,7 @@ const finalizeInvoiceStep = (0, workflows_sdk_1.createStep)("documents-finalize-
455
450
  if (!prepared) {
456
451
  return new workflows_sdk_1.StepResponse(null);
457
452
  }
458
- const documents = (0, resolve_services_1.resolveDocumentsService)(container);
453
+ const documents = (0, resolve_services_2.resolveDocumentsService)(container);
459
454
  try {
460
455
  if (claim.overwrite_issued) {
461
456
  if (!claim.attempt_token) {
@@ -527,4 +522,4 @@ exports.issueInvoiceAfterShipmentWorkflow = (0, workflows_sdk_1.createWorkflow)(
527
522
  });
528
523
  return new workflows_sdk_1.WorkflowResponse(issuedDocumentId);
529
524
  });
530
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNzdWUtaW52b2ljZS1hZnRlci1zaGlwbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZG9jdW1lbnRzL2lzc3VlLWludm9pY2UtYWZ0ZXItc2hpcG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBS2tDO0FBQ2xDLHFFQU0wQztBQUMxQyw0REFBb0U7QUFTcEUsa0ZBSXNEO0FBQ3RELGdGQUlxRDtBQUNyRCw0RkFBbUc7QUFDbkcsNEZBQThGO0FBQzlGLDZFQUFnRjtBQUNoRiwwQ0FJeUI7QUFDekIscURBT3lCO0FBQ3pCLHFFQUFtRTtBQTREbkUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQUUsS0FBYSxFQUEyQixFQUFFO0lBQzFFLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoRSxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLGFBQWEsS0FBSyxvQkFBb0IsQ0FDdkMsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLEtBQWdDLENBQUE7QUFDekMsQ0FBQyxDQUFBO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBRSxLQUFhLEVBQVUsRUFBRTtJQUNqRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQy9DLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsYUFBYSxLQUFLLDZCQUE2QixDQUNoRCxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQyxDQUFBO0FBRUQsMkRBQTJEO0FBQzNELE1BQU0sZ0JBQWdCLEdBQUcsQ0FB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
525
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNzdWUtaW52b2ljZS1hZnRlci1zaGlwbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZG9jdW1lbnRzL2lzc3VlLWludm9pY2UtYWZ0ZXItc2hpcG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBS2tDO0FBQ2xDLHFFQU0wQztBQUMxQyw0REFBb0U7QUFTcEUsMENBQXFEO0FBQ3JELDRFQUFtRjtBQUNuRixrRkFJc0Q7QUFDdEQsZ0ZBSXFEO0FBQ3JELDRGQUFtRztBQUNuRyw0RkFBOEY7QUFDOUYsNkVBQWdGO0FBQ2hGLDBDQUl5QjtBQUN6QixxREFPeUI7QUFDekIscUVBQW1FO0FBOENuRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWMsRUFBRSxLQUFhLEVBQTJCLEVBQUU7SUFDMUUsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2hFLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsYUFBYSxLQUFLLG9CQUFvQixDQUN2QyxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sS0FBZ0MsQ0FBQTtBQUN6QyxDQUFDLENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYyxFQUFFLEtBQWEsRUFBVSxFQUFFO0lBQ2pFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDL0MsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUNsQyxhQUFhLEtBQUssNkJBQTZCLENBQ2hELENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCwyREFBMkQ7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
@@ -46,21 +46,10 @@ const asIsoDate = (value, field) => {
46
46
  return date.toISOString();
47
47
  };
48
48
  const tryResolveBatchCapability = (container) => {
49
- const registry = container;
50
- if (registry.hasRegistration?.("batch_management") === false) {
49
+ const resolved = (0, lib_1.tryResolveOptional)(container, "batch_management");
50
+ if (resolved === null) {
51
51
  return null;
52
52
  }
53
- let resolved;
54
- try {
55
- resolved = container.resolve("batch_management");
56
- }
57
- catch (error) {
58
- if (error instanceof Error &&
59
- error.message.includes("Missing registration")) {
60
- return null;
61
- }
62
- throw error;
63
- }
64
53
  if (!resolved ||
65
54
  typeof resolved !== "object" ||
66
55
  !("getFulfillmentPackingListBatchSnapshot" in resolved) ||
@@ -386,4 +375,4 @@ exports.issuePackingListWorkflow = (0, workflows_sdk_1.createWorkflow)("document
386
375
  const packingListId = publishPackingListStep(file);
387
376
  return new workflows_sdk_1.WorkflowResponse(packingListId);
388
377
  });
389
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNzdWUtcGFja2luZy1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kb2N1bWVudHMvaXNzdWUtcGFja2luZy1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUlrQztBQUNsQyxxRUFLMEM7QUFDMUMsNERBQW9FO0FBRXBFLDhFQU1vRDtBQUVwRCw2RkFBOEY7QUFDOUYsK0VBQWlGO0FBQ2pGLHFGQUFxRjtBQUNyRixtRUFBbUU7QUFDbkUsNkVBQWdGO0FBQ2hGLDBDQUd5QjtBQXdGekIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQUUsS0FBYSxFQUEyQixFQUFFO0lBQzFFLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoRSxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLGFBQWEsS0FBSyxvQkFBb0IsQ0FDdkMsQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLEtBQWdDLENBQUE7QUFDekMsQ0FBQyxDQUFBO0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQUUsS0FBYSxFQUFVLEVBQUU7SUFDekQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMvQyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLGFBQWEsS0FBSyw2QkFBNkIsQ0FDaEQsQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYyxFQUFFLEtBQWEsRUFBVSxFQUFFO0lBQzNELElBQUksT0FBTyxLQUFLLEtB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
378
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNzdWUtcGFja2luZy1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9kb2N1bWVudHMvaXNzdWUtcGFja2luZy1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUlrQztBQUNsQyxxRUFLMEM7QUFDMUMsNERBQW9FO0FBRXBFLDhFQU1vRDtBQUVwRCw2RkFBOEY7QUFDOUYsK0VBQWlGO0FBQ2pGLHFGQUFxRjtBQUNyRixtRUFBbUU7QUFDbkUsNkVBQWdGO0FBQ2hGLDBDQUl5QjtBQW9GekIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQUUsS0FBYSxFQUEyQixFQUFFO0lBQzFFLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoRSxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLGFBQWEsS0FBSyxvQkFBb0IsQ0FDdkMsQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLEtBQWdDLENBQUE7QUFDekMsQ0FBQyxDQUFBO0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQUUsS0FBYSxFQUFVLEVBQUU7SUFDekQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMvQyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLGFBQWEsS0FBSyw2QkFBNkIsQ0FDaEQsQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYyxFQUFFLEtBQWEsRUFBVSxFQUFFO0lBQzNELElBQUksT0FBTyxLQUFLLEtB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