@hartl-services/medusa-base 2.4.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/ImageSettingInput.js +48 -0
  2. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.js +3 -2
  3. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +17 -0
  4. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginPageShell.js +20 -0
  5. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.js +16 -3
  6. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.d.ts +5 -1
  7. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.d.ts +20 -4
  8. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.js +1 -1
  9. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.d.ts +5 -1
  10. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.d.ts +1 -1
  11. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.js +3 -2
  12. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.d.ts +20 -4
  13. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.js +1 -1
  14. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.d.ts +17 -2
  15. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.js +33 -1
  16. package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.d.ts +3 -0
  17. package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.js +3 -0
  18. package/.medusa/server/src/admin/admin-components/index.d.ts +36 -0
  19. package/.medusa/server/src/admin/admin-components/index.js +37 -0
  20. package/.medusa/server/src/admin/admin-components/shared/lib/date-input.d.ts +8 -0
  21. package/.medusa/server/src/admin/admin-components/shared/lib/date-input.js +43 -0
  22. package/.medusa/server/src/admin/admin-components/shared/lib/errors.d.ts +9 -0
  23. package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/errors.js +4 -6
  24. package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.d.ts +24 -0
  25. package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.js +18 -0
  26. package/.medusa/server/src/admin/admin-components/shared/lib/format.d.ts +32 -0
  27. package/.medusa/server/src/admin/admin-components/shared/lib/format.js +77 -0
  28. package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.d.ts +16 -0
  29. package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.js +31 -0
  30. package/.medusa/server/src/admin/admin-components/shared/lib/pdf.d.ts +6 -0
  31. package/.medusa/server/src/admin/admin-components/shared/lib/pdf.js +13 -0
  32. package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.d.ts +2 -0
  33. package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.js +10 -0
  34. package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.d.ts +24 -0
  35. package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.js +47 -0
  36. package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.d.ts +8 -0
  37. package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.js +9 -0
  38. package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.d.ts +8 -0
  39. package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.js +5 -0
  40. package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.d.ts +20 -0
  41. package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.js +17 -0
  42. package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.d.ts +14 -0
  43. package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.js +14 -0
  44. package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.d.ts +17 -0
  45. package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.js +12 -0
  46. package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.d.ts +15 -0
  47. package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.js +19 -0
  48. package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.d.ts +20 -0
  49. package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.js +7 -0
  50. package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.d.ts +19 -0
  51. package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.js +16 -0
  52. package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.d.ts +24 -0
  53. package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.js +23 -0
  54. package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.d.ts +63 -0
  55. package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.js +84 -0
  56. package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.d.ts +15 -0
  57. package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.js +13 -0
  58. package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.d.ts +6 -0
  59. package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.js +10 -0
  60. package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.d.ts +17 -0
  61. package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.js +15 -0
  62. package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.d.ts +16 -0
  63. package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.js +13 -0
  64. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.d.ts +8 -0
  65. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.js +10 -0
  66. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.d.ts +14 -0
  67. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.js +26 -0
  68. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.d.ts +15 -0
  69. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.js +8 -0
  70. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.d.ts +10 -0
  71. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.js +49 -0
  72. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.d.ts +11 -0
  73. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.js +44 -0
  74. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.d.ts +8 -0
  75. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.js +43 -0
  76. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.d.ts +15 -0
  77. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.js +161 -0
  78. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.d.ts +30 -0
  79. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.js +47 -0
  80. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.d.ts +6 -0
  81. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.js +46 -0
  82. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.d.ts +9 -0
  83. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.js +6 -0
  84. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.d.ts +8 -0
  85. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.js +21 -0
  86. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.d.ts +13 -0
  87. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.js +20 -0
  88. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.d.ts +13 -0
  89. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.js +60 -0
  90. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.d.ts +25 -0
  91. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.js +10 -0
  92. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.d.ts +7 -0
  93. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.js +7 -0
  94. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.d.ts +44 -0
  95. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.js +37 -0
  96. package/.medusa/server/src/admin/index.js +4513 -1447
  97. package/.medusa/server/src/admin/index.mjs +4515 -1452
  98. package/.medusa/server/src/api/admin/email/attachments/[id]/mail-kinds/route.js +16 -0
  99. package/.medusa/server/src/api/admin/email/attachments/[id]/route.js +15 -0
  100. package/.medusa/server/src/api/admin/email/attachments/[id]/versions/[version_id]/download/route.js +16 -0
  101. package/.medusa/server/src/api/admin/email/attachments/[id]/versions/route.js +41 -0
  102. package/.medusa/server/src/api/admin/email/attachments/route.js +21 -0
  103. package/.medusa/server/src/api/admin/email/templates/[kind]/preview/route.js +31 -0
  104. package/.medusa/server/src/api/admin/email/templates/[kind]/route.js +28 -0
  105. package/.medusa/server/src/api/admin/email/templates/[kind]/send-test/route.js +179 -0
  106. package/.medusa/server/src/api/admin/email/templates/[kind]/test-sources/route.js +19 -0
  107. package/.medusa/server/src/api/admin/email/templates/route.js +15 -0
  108. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/route.js +2 -2
  109. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/runs/route.js +2 -2
  110. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/route.js +2 -2
  111. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/settings/route.js +2 -2
  112. package/.medusa/server/src/api/admin/plugin-features/route.js +2 -2
  113. package/.medusa/server/src/api/attachment-download-response.js +12 -0
  114. package/.medusa/server/src/api/email-template-response.js +43 -0
  115. package/.medusa/server/src/api/middlewares.js +75 -17
  116. package/.medusa/server/src/api/plugin-actions.js +6 -5
  117. package/.medusa/server/src/api/plugin-features-http.js +4 -9
  118. package/.medusa/server/src/api/store/carts/[id]/completion-check/route.js +15 -0
  119. package/.medusa/server/src/api/store/plugin-features/[plugin_key]/route.js +2 -2
  120. package/.medusa/server/src/api/store/plugin-features/route.js +2 -2
  121. package/.medusa/server/src/documents/plugin-features.js +1 -7
  122. package/.medusa/server/src/documents/templates/financial-document.js +12 -11
  123. package/.medusa/server/src/documents/templates/html-factory.js +1 -1
  124. package/.medusa/server/src/documents/templates/html-utils.js +4 -10
  125. package/.medusa/server/src/documents/templates/layout.js +30 -11
  126. package/.medusa/server/src/documents/templates/packing-list.js +8 -7
  127. package/.medusa/server/src/documents/utils/document-render-settings.js +9 -6
  128. package/.medusa/server/src/email/application/handle-customer-verification-event.js +8 -3
  129. package/.medusa/server/src/email/application/handle-invite-event.js +8 -3
  130. package/.medusa/server/src/email/application/handle-password-reset-event.js +8 -3
  131. package/.medusa/server/src/email/application/notification-attachments.js +86 -0
  132. package/.medusa/server/src/email/application/template-data-from-order.js +339 -0
  133. package/.medusa/server/src/email/config/index.js +5 -29
  134. package/.medusa/server/src/email/domain/business-keys.js +5 -5
  135. package/.medusa/server/src/email/domain/documents-fact-fingerprint.js +3 -3
  136. package/.medusa/server/src/email/domain/order-summary.js +21 -27
  137. package/.medusa/server/src/email/domain/refund-summary.js +7 -12
  138. package/.medusa/server/src/email/domain/return-summary.js +32 -38
  139. package/.medusa/server/src/email/domain/shipment-summary.js +22 -28
  140. package/.medusa/server/src/email/plugin-features.js +2 -10
  141. package/.medusa/server/src/email/rendering/calendar-dates.js +19 -0
  142. package/.medusa/server/src/email/rendering/default-templates.js +99 -682
  143. package/.medusa/server/src/email/rendering/email-html.js +189 -0
  144. package/.medusa/server/src/email/rendering/load-email-shop-details.js +14 -12
  145. package/.medusa/server/src/email/rendering/render-email.js +46 -13
  146. package/.medusa/server/src/email/rendering/resolve-shop-configuration.js +3 -14
  147. package/.medusa/server/src/email/templates/blocks/dynamic-blocks.js +427 -0
  148. package/.medusa/server/src/email/templates/blocks/placeholders.js +71 -0
  149. package/.medusa/server/src/email/templates/blocks/render-document.js +137 -0
  150. package/.medusa/server/src/email/templates/code-override.js +18 -0
  151. package/.medusa/server/src/email/templates/defaults/documents.js +129 -0
  152. package/.medusa/server/src/email/templates/defaults/subjects.js +62 -0
  153. package/.medusa/server/src/email/templates/defaults/texts.js +42 -0
  154. package/.medusa/server/src/email/templates/index.js +22 -0
  155. package/.medusa/server/src/email/templates/load-template.js +39 -0
  156. package/.medusa/server/src/email/templates/preview.js +33 -0
  157. package/.medusa/server/src/email/templates/render.js +70 -0
  158. package/.medusa/server/src/email/templates/sample-data.js +165 -0
  159. package/.medusa/server/src/email/templates/types.js +3 -0
  160. package/.medusa/server/src/email/templates/validate.js +113 -0
  161. package/.medusa/server/src/files/config/index.js +6 -9
  162. package/.medusa/server/src/migration-scripts/move-logo-to-shop-appearance.js +53 -0
  163. package/.medusa/server/src/modules/documents/domain/cancellation-snapshot.js +4 -3
  164. package/.medusa/server/src/modules/documents/domain/merchant.js +4 -3
  165. package/.medusa/server/src/modules/documents/domain/options.js +3 -5
  166. package/.medusa/server/src/modules/documents/domain/tax-breakdown.js +4 -7
  167. package/.medusa/server/src/modules/documents/service.js +12 -33
  168. package/.medusa/server/src/modules/email/domain/attachment.js +22 -8
  169. package/.medusa/server/src/modules/email/migrations/Migration20261009083539.js +80 -0
  170. package/.medusa/server/src/modules/email/migrations/Migration20261009100654.js +17 -0
  171. package/.medusa/server/src/modules/email/models/email-attachment-document-version.js +39 -0
  172. package/.medusa/server/src/modules/email/models/email-attachment-document.js +27 -0
  173. package/.medusa/server/src/modules/email/models/email-template.js +25 -0
  174. package/.medusa/server/src/modules/email/service.js +370 -93
  175. package/.medusa/server/src/modules/plugin-features/domain/plugin-settings.js +9 -11
  176. package/.medusa/server/src/modules/plugin-features/service.js +2 -1
  177. package/.medusa/server/src/providers/s3-cache/cache/cache-manager.js +3 -3
  178. package/.medusa/server/src/providers/s3-cache/s3-object-store.js +3 -9
  179. package/.medusa/server/src/providers/smtp/service.js +13 -13
  180. package/.medusa/server/src/public/descriptor.js +16 -18
  181. package/.medusa/server/src/public/enforcement.js +29 -1
  182. package/.medusa/server/src/public/index.js +8 -2
  183. package/.medusa/server/src/public/module-access.js +9 -2
  184. package/.medusa/server/src/public/shop-master-data.js +109 -18
  185. package/.medusa/server/src/shared/lib/coerce.js +26 -0
  186. package/.medusa/server/src/shared/lib/collections.js +19 -0
  187. package/.medusa/server/src/shared/lib/dates.js +43 -0
  188. package/.medusa/server/src/shared/lib/errors.js +11 -0
  189. package/.medusa/server/src/shared/lib/hash.js +8 -0
  190. package/.medusa/server/src/shared/lib/index.js +29 -0
  191. package/.medusa/server/src/shared/lib/logging.js +61 -0
  192. package/.medusa/server/src/shared/lib/money.js +47 -0
  193. package/.medusa/server/src/shared/lib/text.js +53 -0
  194. package/.medusa/server/src/shared/lib/transaction.js +58 -0
  195. package/.medusa/server/src/{api → shared/lib}/wire-response.js +1 -1
  196. package/.medusa/server/src/shop-config/options.js +3 -5
  197. package/.medusa/server/src/subscribers/packing-list-fulfillment-canceled.js +4 -6
  198. package/.medusa/server/src/workflows/documents/issue-invoice-after-shipment.js +10 -12
  199. package/.medusa/server/src/workflows/documents/issue-packing-list.js +5 -6
  200. package/.medusa/server/src/workflows/documents/reconcile-order-cancellation.js +6 -8
  201. package/.medusa/server/src/workflows/email/dispatch-email-message.js +11 -41
  202. package/.medusa/server/src/workflows/email/prepare-order-received-email.js +2 -2
  203. package/.medusa/server/src/workflows/hooks/check-cart-completion.js +32 -0
  204. package/.medusa/server/src/workflows/hooks/complete-cart-fields.js +30 -0
  205. package/.medusa/server/src/workflows/hooks/complete-cart-participants.js +4 -8
  206. package/.medusa/server/src/workflows/hooks/complete-cart.js +6 -2
  207. package/.medusa/server/src/workflows/hooks/refunded-cart-payment.js +23 -0
  208. package/README.md +446 -54
  209. package/dist/documents/templates/financial-document.js +11 -10
  210. package/dist/documents/templates/html-factory.d.ts +1 -1
  211. package/dist/documents/templates/html-factory.js +1 -1
  212. package/dist/documents/templates/html-utils.d.ts +0 -1
  213. package/dist/documents/templates/html-utils.js +3 -9
  214. package/dist/documents/templates/layout.js +29 -10
  215. package/dist/documents/templates/packing-list.js +7 -6
  216. package/dist/documents/types/documents.d.ts +7 -1
  217. package/dist/email/config/index.js +4 -28
  218. package/dist/email/types/shop-configuration.d.ts +6 -5
  219. package/dist/files/config/index.js +5 -8
  220. package/dist/modules/documents/domain/options.js +2 -4
  221. package/dist/public/descriptor.js +15 -17
  222. package/dist/public/enforcement.d.ts +21 -1
  223. package/dist/public/enforcement.js +28 -0
  224. package/dist/public/index.d.ts +3 -2
  225. package/dist/public/index.js +7 -1
  226. package/dist/public/module-access.d.ts +8 -0
  227. package/dist/public/module-access.js +8 -1
  228. package/dist/public/shop-master-data.d.ts +22 -5
  229. package/dist/public/shop-master-data.js +108 -17
  230. package/dist/public/types.d.ts +10 -2
  231. package/dist/shared/lib/coerce.d.ts +19 -0
  232. package/dist/shared/lib/coerce.js +25 -0
  233. package/dist/shared/lib/collections.d.ts +3 -0
  234. package/dist/shared/lib/collections.js +18 -0
  235. package/dist/shared/lib/dates.d.ts +12 -0
  236. package/dist/shared/lib/dates.js +42 -0
  237. package/dist/shared/lib/errors.d.ts +2 -0
  238. package/dist/shared/lib/errors.js +10 -0
  239. package/dist/shared/lib/hash.d.ts +2 -0
  240. package/dist/shared/lib/hash.js +7 -0
  241. package/dist/shared/lib/index.d.ts +10 -0
  242. package/dist/shared/lib/index.js +28 -0
  243. package/dist/shared/lib/logging.d.ts +26 -0
  244. package/dist/shared/lib/logging.js +60 -0
  245. package/dist/shared/lib/money.d.ts +13 -0
  246. package/dist/shared/lib/money.js +46 -0
  247. package/dist/shared/lib/text.d.ts +19 -0
  248. package/dist/shared/lib/text.js +52 -0
  249. package/dist/shared/lib/transaction.d.ts +26 -0
  250. package/dist/shared/lib/transaction.js +57 -0
  251. package/dist/shared/lib/wire-response.d.ts +6 -0
  252. package/dist/shared/lib/wire-response.js +9 -0
  253. package/dist/shop-config/options.js +2 -4
  254. package/package.json +19 -4
  255. package/.medusa/server/src/api/admin/email/terms-versions/[id]/download/route.js +0 -16
  256. package/.medusa/server/src/api/admin/email/terms-versions/route.js +0 -47
  257. package/.medusa/server/src/api/terms-download-response.js +0 -12
  258. package/.medusa/server/src/modules/email/models/email-terms-version.js +0 -37
  259. package/dist/admin-components/features/plugin-features/components/ImageSettingInput.js +0 -42
  260. package/dist/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +0 -16
  261. package/dist/admin-components/features/plugin-features/components/PluginPageShell.js +0 -20
  262. package/dist/admin-components/features/plugin-features/lib/image-upload.d.ts +0 -6
  263. package/dist/admin-components/features/plugin-features/lib/image-upload.js +0 -17
  264. package/dist/admin-components/index.d.ts +0 -14
  265. package/dist/admin-components/index.js +0 -14
  266. package/dist/admin-components/lib/errors.d.ts +0 -6
  267. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/ImageSettingInput.d.ts +0 -0
  268. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.d.ts +0 -0
  269. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.d.ts +0 -0
  270. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.js +0 -0
  271. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.d.ts +0 -0
  272. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.js +0 -0
  273. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.d.ts +0 -0
  274. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.js +0 -0
  275. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.d.ts +0 -0
  276. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.js +0 -0
  277. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.d.ts +0 -0
  278. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.d.ts +0 -0
  279. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.js +0 -0
  280. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginPageShell.d.ts +0 -0
  281. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.d.ts +0 -0
  282. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.d.ts +0 -0
  283. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.js +0 -0
  284. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.js +0 -0
  285. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.js +0 -0
  286. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.d.ts +0 -0
  287. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.js +0 -0
  288. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.d.ts +0 -0
  289. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.js +0 -0
  290. /package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/sdk.d.ts +0 -0
  291. /package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/sdk.js +0 -0
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
5
+ const email_2 = require("../../../../../../modules/email");
6
+ /** Attaches the document to one mail kind or detaches it, leaving the other kinds untouched. */
7
+ const POST = async (req, res) => {
8
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
9
+ const attachment = await email.setAttachmentDocumentMailKind(req.params.id, req.validatedBody.kind, req.validatedBody.attached);
10
+ res.json(email_1.AdminEmailAttachmentDocumentResponseSchema.parse({
11
+ created: false,
12
+ attachment,
13
+ }));
14
+ };
15
+ exports.POST = POST;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL2F0dGFjaG1lbnRzL1tpZF0vbWFpbC1raW5kcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSwyRkFBNkg7QUFNN0gsMkRBQStEO0FBRy9ELGdHQUFnRztBQUN6RixNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQWdFLEVBQ2hFLEdBQXlELEVBQzFDLEVBQUU7SUFDakIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXFCLG9CQUFZLENBQUMsQ0FBQztJQUNsRSxNQUFNLFVBQVUsR0FBRyxNQUFNLEtBQUssQ0FBQyw2QkFBNkIsQ0FDMUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQ2IsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQ3RCLEdBQUcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUMzQixDQUFDO0lBQ0YsR0FBRyxDQUFDLElBQUksQ0FDTixrREFBMEMsQ0FBQyxLQUFLLENBQUM7UUFDL0MsT0FBTyxFQUFFLEtBQUs7UUFDZCxVQUFVO0tBQ1gsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUM7QUFoQlcsUUFBQSxJQUFJLFFBZ0JmIn0=
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
5
+ const email_2 = require("../../../../../modules/email");
6
+ const POST = async (req, res) => {
7
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
8
+ const attachment = await email.updateAttachmentDocument(req.params.id, req.validatedBody);
9
+ res.json(email_1.AdminEmailAttachmentDocumentResponseSchema.parse({
10
+ created: false,
11
+ attachment,
12
+ }));
13
+ };
14
+ exports.POST = POST;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL2F0dGFjaG1lbnRzL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsMkZBQTZIO0FBTTdILHdEQUE0RDtBQUdyRCxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQW1FLEVBQ25FLEdBQXlELEVBQzFDLEVBQUU7SUFDakIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXFCLG9CQUFZLENBQUMsQ0FBQztJQUNsRSxNQUFNLFVBQVUsR0FBRyxNQUFNLEtBQUssQ0FBQyx3QkFBd0IsQ0FDckQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQ2IsR0FBRyxDQUFDLGFBQWEsQ0FDbEIsQ0FBQztJQUNGLEdBQUcsQ0FBQyxJQUFJLENBQ04sa0RBQTBDLENBQUMsS0FBSyxDQUFDO1FBQy9DLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVTtLQUNYLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBZlcsUUFBQSxJQUFJLFFBZWYifQ==
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const email_1 = require("../../../../../../../../modules/email");
6
+ const attachment_download_response_1 = require("../../../../../../../attachment-download-response");
7
+ const GET = async (req, res) => {
8
+ const email = req.scope.resolve(email_1.EMAIL_MODULE);
9
+ const version = await email.getAttachmentDocumentVersionFile(req.params.id, req.params.version_id);
10
+ const files = req.scope.resolve(utils_1.Modules.FILE);
11
+ const stream = await files.getDownloadStream(version.file_id);
12
+ (0, attachment_download_response_1.setAttachmentDownloadHeaders)(res, version.filename);
13
+ stream.pipe(res);
14
+ };
15
+ exports.GET = GET;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL2F0dGFjaG1lbnRzL1tpZF0vdmVyc2lvbnMvW3ZlcnNpb25faWRdL2Rvd25sb2FkL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHFEQUFvRDtBQUVwRCxpRUFBcUU7QUFFckUsb0dBQWlHO0FBRTFGLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDSixFQUFFO0lBQ2pCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFxQixvQkFBWSxDQUFDLENBQUM7SUFDbEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQzFELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUNiLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUN0QixDQUFDO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXFCLGVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsSUFBQSwyREFBNEIsRUFBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBYlcsUUFBQSxHQUFHLE9BYWQifQ==
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
6
+ const lib_1 = require("../../../../../../shared/lib");
7
+ const email_2 = require("../../../../../../modules/email");
8
+ const decodePdf = (contentBase64) => {
9
+ const content = Buffer.from(contentBase64, "base64");
10
+ if (content.length < 1 ||
11
+ content.length > email_1.EMAIL_ATTACHMENT_MAX_PDF_BYTES ||
12
+ content.toString("base64") !== contentBase64 ||
13
+ content.subarray(0, 5).toString("ascii") !== "%PDF-") {
14
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "content_base64 must contain a valid PDF of at most 5 MiB.");
15
+ }
16
+ return content;
17
+ };
18
+ const POST = async (req, res) => {
19
+ const body = req.validatedBody;
20
+ const content = decodePdf(body.content_base64);
21
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
22
+ const files = req.scope.resolve(utils_1.Modules.FILE);
23
+ const result = await email.createAttachmentDocumentVersion(req.params.id, {
24
+ request_id: body.request_id,
25
+ filename: body.filename,
26
+ effective_at: new Date(body.effective_at),
27
+ byte_size: content.byteLength,
28
+ sha256: (0, lib_1.sha256Hex)(content),
29
+ }, async () => (await files.createFiles({
30
+ filename: body.filename,
31
+ mimeType: "application/pdf",
32
+ content: content.toString("base64"),
33
+ access: "private",
34
+ })).id, async (fileId) => {
35
+ await files.deleteFiles([fileId]);
36
+ });
37
+ const response = email_1.CreateAdminEmailAttachmentVersionResponseSchema.parse(result);
38
+ res.status(result.created ? 201 : 200).json(response);
39
+ };
40
+ exports.POST = POST;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL2F0dGFjaG1lbnRzL1tpZF0vdmVyc2lvbnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EscURBQWlFO0FBQ2pFLDJGQUd5RTtBQU16RSxzREFBeUQ7QUFDekQsMkRBQStEO0FBRy9ELE1BQU0sU0FBUyxHQUFHLENBQUMsYUFBcUIsRUFBVSxFQUFFO0lBQ2xELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELElBQ0UsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsc0NBQThCO1FBQy9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssYUFBYTtRQUM1QyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssT0FBTyxFQUNwRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMkRBQTJELENBQzVELENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUssTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUFrRSxFQUNsRSxHQUE4RCxFQUMvQyxFQUFFO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDL0IsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBcUIsb0JBQVksQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFxQixlQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsK0JBQStCLENBQ3hELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUNiO1FBQ0UsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1FBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUN2QixZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN6QyxTQUFTLEVBQUUsT0FBTyxDQUFDLFVBQVU7UUFDN0IsTUFBTSxFQUFFLElBQUEsZUFBUyxFQUFDLE9BQU8sQ0FBQztLQUMzQixFQUNELEtBQUssSUFBSSxFQUFFLENBQ1QsQ0FDRSxNQUFNLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1FBQ3ZCLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ25DLE1BQU0sRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FDSCxDQUFDLEVBQUUsRUFDTixLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDZixNQUFNLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FDRixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsdURBQStDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9FLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBaENXLFFBQUEsSUFBSSxRQWdDZiJ9
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = exports.GET = void 0;
4
+ const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
5
+ const email_2 = require("../../../../modules/email");
6
+ const GET = async (req, res) => {
7
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
8
+ const response = email_1.ListAdminEmailAttachmentDocumentsResponseSchema.parse({
9
+ attachments: await email.listAdminAttachmentDocuments(),
10
+ });
11
+ res.json(response);
12
+ };
13
+ exports.GET = GET;
14
+ const POST = async (req, res) => {
15
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
16
+ const result = await email.createAttachmentDocument(req.validatedBody);
17
+ const response = email_1.AdminEmailAttachmentDocumentResponseSchema.parse(result);
18
+ res.status(result.created ? 201 : 200).json(response);
19
+ };
20
+ exports.POST = POST;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL2F0dGFjaG1lbnRzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLDJGQUd5RTtBQU96RSxxREFBeUQ7QUFHbEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUE4RCxFQUMvQyxFQUFFO0lBQ2pCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFxQixvQkFBWSxDQUFDLENBQUM7SUFDbEUsTUFBTSxRQUFRLEdBQUcsdURBQStDLENBQUMsS0FBSyxDQUFDO1FBQ3JFLFdBQVcsRUFBRSxNQUFNLEtBQUssQ0FBQyw0QkFBNEIsRUFBRTtLQUN4RCxDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQVRXLFFBQUEsR0FBRyxPQVNkO0FBRUssTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUFtRSxFQUNuRSxHQUF5RCxFQUMxQyxFQUFFO0lBQ2pCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFxQixvQkFBWSxDQUFDLENBQUM7SUFDbEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sUUFBUSxHQUFHLGtEQUEwQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FBQztBQVJXLFFBQUEsSUFBSSxRQVFmIn0=
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
6
+ const load_email_shop_details_1 = require("../../../../../../email/rendering/load-email-shop-details");
7
+ const templates_1 = require("../../../../../../email/templates");
8
+ const email_2 = require("../../../../../../modules/email");
9
+ const email_template_response_1 = require("../../../../../email-template-response");
10
+ /** The template with sample data in the shop's current layout and appearance. */
11
+ const POST = async (req, res) => {
12
+ const kind = (0, email_template_response_1.editableKindParam)(req.params.kind);
13
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
14
+ let configuration;
15
+ try {
16
+ configuration = email.getDispatchConfiguration();
17
+ }
18
+ catch {
19
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "E-Mail ist nicht konfiguriert; die Vorschau braucht die Shop-Konfiguration des E-Mail-Plugins.");
20
+ }
21
+ const preview = (0, templates_1.renderTemplatePreview)({
22
+ configuration,
23
+ shop: await (0, load_email_shop_details_1.loadEmailShopDetails)(req.scope),
24
+ kind,
25
+ subject: req.validatedBody.subject,
26
+ document: req.validatedBody.document,
27
+ });
28
+ res.json(email_1.PreviewAdminEmailTemplateResponseSchema.parse(preview));
29
+ };
30
+ exports.POST = POST;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL3RlbXBsYXRlcy9ba2luZF0vcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFBd0Q7QUFDeEQsMkZBQTBIO0FBTTFILHVHQUFpRztBQUNqRyxpRUFBMEU7QUFDMUUsMkRBQStEO0FBRS9ELG9GQUEyRTtBQUUzRSxpRkFBaUY7QUFDMUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUEwRCxFQUMxRCxHQUFzRCxFQUN2QyxFQUFFO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUEsMkNBQWlCLEVBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBcUIsb0JBQVksQ0FBQyxDQUFDO0lBQ2xFLElBQUksYUFBeUUsQ0FBQztJQUM5RSxJQUFJLENBQUM7UUFDSCxhQUFhLEdBQUcsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQzdCLGdHQUFnRyxDQUNqRyxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUEsaUNBQXFCLEVBQUM7UUFDcEMsYUFBYTtRQUNiLElBQUksRUFBRSxNQUFNLElBQUEsOENBQW9CLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJO1FBQ0osT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTztRQUNsQyxRQUFRLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRO0tBQ3JDLENBQUMsQ0FBQztJQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsK0NBQXVDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDbkUsQ0FBQyxDQUFDO0FBdkJXLFFBQUEsSUFBSSxRQXVCZiJ9
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DELETE = exports.POST = exports.GET = void 0;
4
+ const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
5
+ const email_2 = require("../../../../../modules/email");
6
+ const email_template_response_1 = require("../../../../email-template-response");
7
+ const GET = async (req, res) => {
8
+ const kind = (0, email_template_response_1.editableKindParam)(req.params.kind);
9
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
10
+ res.json(email_1.AdminEmailTemplateResponseSchema.parse((0, email_template_response_1.toTemplateResponse)(email, kind, await email.getTemplate(kind))));
11
+ };
12
+ exports.GET = GET;
13
+ const POST = async (req, res) => {
14
+ const kind = (0, email_template_response_1.editableKindParam)(req.params.kind);
15
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
16
+ const saved = await email.saveTemplate(kind, req.validatedBody);
17
+ res.json(email_1.AdminEmailTemplateResponseSchema.parse((0, email_template_response_1.toTemplateResponse)(email, kind, saved)));
18
+ };
19
+ exports.POST = POST;
20
+ /** Back to the default template; answers with it. */
21
+ const DELETE = async (req, res) => {
22
+ const kind = (0, email_template_response_1.editableKindParam)(req.params.kind);
23
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
24
+ await email.resetTemplate(kind);
25
+ res.json(email_1.AdminEmailTemplateResponseSchema.parse((0, email_template_response_1.toTemplateResponse)(email, kind, null)));
26
+ };
27
+ exports.DELETE = DELETE;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL3RlbXBsYXRlcy9ba2luZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsMkZBQW1IO0FBTW5ILHdEQUE0RDtBQUU1RCxpRkFHNkM7QUFFdEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUErQyxFQUNoQyxFQUFFO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUEsMkNBQWlCLEVBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBcUIsb0JBQVksQ0FBQyxDQUFDO0lBQ2xFLEdBQUcsQ0FBQyxJQUFJLENBQ04sd0NBQWdDLENBQUMsS0FBSyxDQUNwQyxJQUFBLDRDQUFrQixFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQy9ELENBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVhXLFFBQUEsR0FBRyxPQVdkO0FBRUssTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUF1RCxFQUN2RCxHQUErQyxFQUNoQyxFQUFFO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUEsMkNBQWlCLEVBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBcUIsb0JBQVksQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sS0FBSyxHQUFHLE1BQU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hFLEdBQUcsQ0FBQyxJQUFJLENBQ04sd0NBQWdDLENBQUMsS0FBSyxDQUFDLElBQUEsNENBQWtCLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUMvRSxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVlcsUUFBQSxJQUFJLFFBVWY7QUFFRixxREFBcUQ7QUFDOUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUN6QixHQUErQixFQUMvQixHQUErQyxFQUNoQyxFQUFFO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUEsMkNBQWlCLEVBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBcUIsb0JBQVksQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxHQUFHLENBQUMsSUFBSSxDQUNOLHdDQUFnQyxDQUFDLEtBQUssQ0FBQyxJQUFBLDRDQUFrQixFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDOUUsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVZXLFFBQUEsTUFBTSxVQVVqQiJ9
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
6
+ const notification_attachments_1 = require("../../../../../../email/application/notification-attachments");
7
+ const template_data_from_order_1 = require("../../../../../../email/application/template-data-from-order");
8
+ const business_keys_1 = require("../../../../../../email/domain/business-keys");
9
+ const failure_classification_1 = require("../../../../../../email/domain/failure-classification");
10
+ const load_email_shop_details_1 = require("../../../../../../email/rendering/load-email-shop-details");
11
+ const templates_1 = require("../../../../../../email/templates");
12
+ const email_2 = require("../../../../../../modules/email");
13
+ const attachment_1 = require("../../../../../../modules/email/domain/attachment");
14
+ const email_template_response_1 = require("../../../../../email-template-response");
15
+ const TEST_SUBJECT_PREFIX = "[Test] ";
16
+ /** A German Admin message for a failed test send; the provider's own text never reaches the Admin. */
17
+ const testSendFailure = (error) => {
18
+ const { code } = (0, failure_classification_1.classifyNotificationFailure)(error);
19
+ if (code === "permanent_rejection") {
20
+ return new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Der Mailserver hat die Adresse abgelehnt.");
21
+ }
22
+ if (code === "connection_failed" ||
23
+ code === "temporary_rejection" ||
24
+ code === "resource_unavailable") {
25
+ return new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Der Mailserver ist gerade nicht erreichbar. Bitte später erneut versuchen.");
26
+ }
27
+ return new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Ob die Testmail angekommen ist, ist unklar.");
28
+ };
29
+ const isAttachableKind = (kind) => email_1.EMAIL_ATTACHABLE_KINDS.includes(kind);
30
+ /**
31
+ * Loads the attachments like the dispatch loads them. A German Admin message
32
+ * names the file.
33
+ */
34
+ const loadTestAttachments = async (req, descriptors) => {
35
+ if (!descriptors.length) {
36
+ return [];
37
+ }
38
+ try {
39
+ return await (0, notification_attachments_1.loadNotificationAttachments)(req.scope.resolve(utils_1.Modules.FILE), descriptors);
40
+ }
41
+ catch (error) {
42
+ if (error instanceof notification_attachments_1.NotificationAttachmentError &&
43
+ !(error instanceof notification_attachments_1.NotificationAttachmentUnavailableError)) {
44
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Anhang „${error.filename}“ fehlt bzw. ist beschädigt.`);
45
+ }
46
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, error instanceof notification_attachments_1.NotificationAttachmentError
47
+ ? `Anhang „${error.filename}“ konnte gerade nicht geladen werden.`
48
+ : "Die Anhänge konnten gerade nicht geladen werden.");
49
+ }
50
+ };
51
+ /** The real message of the shown event and the flag of its receipt hint. */
52
+ const realMessageOf = (kind, order) => {
53
+ switch (kind) {
54
+ case "order.shipped":
55
+ return order.source_id
56
+ ? {
57
+ businessKey: (0, business_keys_1.orderShippedBusinessKey)(order.source_id),
58
+ flag: "invoice_attached",
59
+ }
60
+ : null;
61
+ case "order.canceled":
62
+ return {
63
+ businessKey: (0, business_keys_1.orderCanceledBusinessKey)(order.order_id),
64
+ flag: "cancellation_attached",
65
+ };
66
+ case "order.refunded":
67
+ return order.source_id
68
+ ? {
69
+ businessKey: (0, business_keys_1.orderRefundedBusinessKey)(order.source_id),
70
+ flag: "cancellation_attached",
71
+ }
72
+ : null;
73
+ default:
74
+ return null;
75
+ }
76
+ };
77
+ /**
78
+ * The receipts (invoice, cancellation) the real mail of this shipment,
79
+ * cancellation or refund carried, and the order data with its receipt hint
80
+ * set as that mail had it. Without a real mail: no receipts, hint off.
81
+ */
82
+ const withRealDocuments = async (email, kind, order) => {
83
+ const real = realMessageOf(kind, order);
84
+ if (!real) {
85
+ return { order, documents: [] };
86
+ }
87
+ const message = await email.findMessageByBusinessKey(real.businessKey);
88
+ const data = (message?.template_data ?? {});
89
+ return {
90
+ order: {
91
+ ...order,
92
+ input: {
93
+ ...order.input,
94
+ data: { ...order.input.data, [real.flag]: data[real.flag] === true },
95
+ },
96
+ },
97
+ documents: (message?.attachments ?? []).filter((attachment) => !(0, attachment_1.isLibraryAttachment)(attachment)),
98
+ };
99
+ };
100
+ /** When the attachments apply: the order's placing for its confirmation, else now. */
101
+ const attachmentsEffectiveAt = (kind, order) => order && kind === "order.received" ? order.placed_at : new Date();
102
+ /**
103
+ * Sends the draft to one address, outside the message ledger (no idempotency
104
+ * key, no retry): with sample data, or with the data of a real order when
105
+ * `order_display_id` is given (order mails only; `source_id` picks its
106
+ * shipment, return or refund, else the newest). Unless `include_attachments`
107
+ * is `false`, it carries the mail's current library attachments and, for a
108
+ * shipment, cancellation or refund, the receipts and receipt hint the real
109
+ * mail of that event carried.
110
+ */
111
+ const POST = async (req, res) => {
112
+ const kind = (0, email_template_response_1.editableKindParam)(req.params.kind);
113
+ const body = req.validatedBody;
114
+ if (body.source_id !== undefined && body.order_display_id === undefined) {
115
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Ein Vorgang lässt sich nur zusammen mit einer Bestellung wählen.");
116
+ }
117
+ if (body.order_display_id !== undefined && !(0, template_data_from_order_1.isOrderTemplateKind)(kind)) {
118
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Nur Bestell-Mails lassen sich mit den Daten einer Bestellung senden.");
119
+ }
120
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
121
+ let configuration;
122
+ try {
123
+ configuration = email.getDispatchConfiguration();
124
+ }
125
+ catch {
126
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "E-Mail ist nicht konfiguriert; die Testmail braucht die Shop-Konfiguration des E-Mail-Plugins.");
127
+ }
128
+ const shop = await (0, load_email_shop_details_1.loadEmailShopDetails)(req.scope);
129
+ const includeAttachments = body.include_attachments !== false;
130
+ const resolved = body.order_display_id !== undefined && (0, template_data_from_order_1.isOrderTemplateKind)(kind)
131
+ ? await (0, template_data_from_order_1.templateDataFromOrder)(req.scope, kind, body.order_display_id, shop, body.source_id)
132
+ : null;
133
+ const { order, documents } = resolved && includeAttachments
134
+ ? await withRealDocuments(email, kind, resolved)
135
+ : { order: resolved, documents: [] };
136
+ const preview = (0, templates_1.renderTemplatePreview)({
137
+ configuration,
138
+ shop,
139
+ kind,
140
+ subject: body.subject,
141
+ document: body.document,
142
+ ...(order ? { input: order.input } : {}),
143
+ });
144
+ const library = includeAttachments && isAttachableKind(kind)
145
+ ? await email.listLibraryAttachmentsAt(kind, attachmentsEffectiveAt(kind, order))
146
+ : [];
147
+ const attachments = await loadTestAttachments(req, (0, attachment_1.orderEmailAttachments)([...documents, ...library]));
148
+ const subject = `${TEST_SUBJECT_PREFIX}${preview.subject}`;
149
+ const to = body.to;
150
+ const notifications = req.scope.resolve(utils_1.Modules.NOTIFICATION);
151
+ try {
152
+ await notifications.createNotifications({
153
+ to,
154
+ channel: "email",
155
+ content: { subject, html: preview.html, text: preview.text },
156
+ ...(attachments.length ? { attachments } : {}),
157
+ template: kind,
158
+ trigger_type: "email.template.test",
159
+ ...(order
160
+ ? {
161
+ resource_type: "order",
162
+ resource_id: order.order_id,
163
+ data: { admin_id: req.auth_context.actor_id },
164
+ }
165
+ : { resource_type: "email_template", resource_id: kind }),
166
+ });
167
+ }
168
+ catch (error) {
169
+ throw testSendFailure(error);
170
+ }
171
+ res.json(email_1.SendAdminEmailTemplateTestResponseSchema.parse({
172
+ sent: true,
173
+ to,
174
+ subject,
175
+ attachments: attachments.length,
176
+ }));
177
+ };
178
+ exports.POST = POST;
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL3RlbXBsYXRlcy9ba2luZF0vc2VuZC10ZXN0L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFpRTtBQUtqRSwyRkFHeUU7QUFRekUsMkdBS3NFO0FBQ3RFLDJHQUlzRTtBQUN0RSxnRkFJc0Q7QUFDdEQsa0dBQW9HO0FBQ3BHLHVHQUFpRztBQUNqRyxpRUFBMEU7QUFFMUUsMkRBQStEO0FBQy9ELGtGQUkyRDtBQUUzRCxvRkFBMkU7QUFFM0UsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLENBQUM7QUFFdEMsc0dBQXNHO0FBQ3RHLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFlLEVBQUU7SUFDdEQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUEsb0RBQTJCLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsSUFBSSxJQUFJLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksbUJBQVcsQ0FDcEIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QiwyQ0FBMkMsQ0FDNUMsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUNFLElBQUksS0FBSyxtQkFBbUI7UUFDNUIsSUFBSSxLQUFLLHFCQUFxQjtRQUM5QixJQUFJLEtBQUssc0JBQXNCLEVBQy9CLENBQUM7UUFDRCxPQUFPLElBQUksbUJBQVcsQ0FDcEIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLDRFQUE0RSxDQUM3RSxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sSUFBSSxtQkFBVyxDQUNwQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsNkNBQTZDLENBQzlDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBWSxFQUErQixFQUFFLENB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
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
5
+ const template_data_from_order_1 = require("../../../../../../email/application/template-data-from-order");
6
+ const email_template_response_1 = require("../../../../../email-template-response");
7
+ /**
8
+ * The shipments, returns or refunds of an order a test mail of `kind` can be
9
+ * sent with, newest first; `latest` marks the default. Other mails list none.
10
+ */
11
+ const GET = async (req, res) => {
12
+ const kind = (0, email_template_response_1.editableKindParam)(req.params.kind);
13
+ const sources = (0, template_data_from_order_1.isOrderTemplateKind)(kind)
14
+ ? await (0, template_data_from_order_1.listOrderTemplateSources)(req.scope, kind, req.validatedQuery.order_display_id)
15
+ : [];
16
+ res.json(email_1.ListAdminEmailTemplateTestSourcesResponseSchema.parse({ sources }));
17
+ };
18
+ exports.GET = GET;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL3RlbXBsYXRlcy9ba2luZF0vdGVzdC1zb3VyY2VzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLDJGQUFrSTtBQU1sSSwyR0FHc0U7QUFDdEUsb0ZBQTJFO0FBRTNFOzs7R0FHRztBQUNJLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FHQyxFQUNELEdBQThELEVBQy9DLEVBQUU7SUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBQSwyQ0FBaUIsRUFBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELE1BQU0sT0FBTyxHQUFHLElBQUEsOENBQW1CLEVBQUMsSUFBSSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxNQUFNLElBQUEsbURBQXdCLEVBQzVCLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsSUFBSSxFQUNKLEdBQUcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQ3BDO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsdURBQStDLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQztBQWhCVyxRQUFBLEdBQUcsT0FnQmQifQ==
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
5
+ const email_2 = require("../../../../modules/email");
6
+ const email_template_response_1 = require("../../../email-template-response");
7
+ const GET = async (req, res) => {
8
+ const email = req.scope.resolve(email_2.EMAIL_MODULE);
9
+ const stored = await email.listTemplates();
10
+ res.json(email_1.ListAdminEmailTemplatesResponseSchema.parse({
11
+ templates: email_1.EMAIL_EDITABLE_KINDS.map((kind) => (0, email_template_response_1.toTemplateSummary)(email, kind, stored.find((template) => template.kind === kind) ?? null)),
12
+ }));
13
+ };
14
+ exports.GET = GET;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2VtYWlsL3RlbXBsYXRlcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSwyRkFHeUU7QUFHekUscURBQXlEO0FBRXpELDhFQUFxRTtBQUU5RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW9ELEVBQ3JDLEVBQUU7SUFDakIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXFCLG9CQUFZLENBQUMsQ0FBQztJQUNsRSxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxHQUFHLENBQUMsSUFBSSxDQUNOLDZDQUFxQyxDQUFDLEtBQUssQ0FBQztRQUMxQyxTQUFTLEVBQUUsNEJBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDM0MsSUFBQSwyQ0FBaUIsRUFDZixLQUFLLEVBQ0wsSUFBSSxFQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUMxRCxDQUNGO0tBQ0YsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUM7QUFqQlcsUUFBQSxHQUFHLE9BaUJkIn0=
@@ -4,7 +4,7 @@ exports.POST = void 0;
4
4
  const plugin_features_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/plugin-features");
5
5
  const plugin_actions_1 = require("../../../../../plugin-actions");
6
6
  const plugin_features_http_1 = require("../../../../../plugin-features-http");
7
- const wire_response_1 = require("../../../../../wire-response");
7
+ const wire_response_1 = require("../../../../../../shared/lib/wire-response");
8
8
  /**
9
9
  * Runs a declared action. `sync` answers 200 after the workflow finished
10
10
  * (202 when it is still running on async steps), `background` answers 202
@@ -28,4 +28,4 @@ const POST = async (req, res) => {
28
28
  .json((0, wire_response_1.toWireResponse)(plugin_features_1.AdminPluginActionRunResponseSchema, { action: outcome }));
29
29
  };
30
30
  exports.POST = POST;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9bcGx1Z2luX2tleV0vYWN0aW9ucy9bYWN0aW9uX2tleV0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsK0dBR2tGO0FBTWxGLGtFQUlzQztBQUN0Qyw4RUFBb0Y7QUFDcEYsZ0VBQTZEO0FBRTdEOzs7OztHQUtHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUErQixFQUMvQixHQUVDLEVBQ0QsRUFBRTtJQUNGLE1BQU0sVUFBVSxHQUFHLElBQUEscURBQThCLEVBQy9DLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFBLG9DQUFtQixFQUNoQyxVQUFVLEVBQ1YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsZ0NBQWUsRUFDbkMsR0FBRyxDQUFDLEtBQUssRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUMxQixDQUFBO0lBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLGlCQUFpQixFQUFFLENBQUM7UUFDekMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2xCLElBQUEsOEJBQWMsRUFBQyx5REFBdUMsRUFBRTtZQUN0RCxJQUFJLEVBQUUsVUFBVTtZQUNoQixPQUFPLEVBQUUsc0RBQXFDO1lBQzlDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztTQUNqQixDQUFDLENBQ0gsQ0FBQTtRQUNELE9BQU07SUFDUixDQUFDO0lBQ0QsR0FBRztTQUNBLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDaEQsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxvREFBa0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDbEYsQ0FBQyxDQUFBO0FBakNZLFFBQUEsSUFBSSxRQWlDaEIifQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9bcGx1Z2luX2tleV0vYWN0aW9ucy9bYWN0aW9uX2tleV0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsK0dBR2tGO0FBTWxGLGtFQUlzQztBQUN0Qyw4RUFBb0Y7QUFDcEYsOEVBQTJFO0FBRTNFOzs7OztHQUtHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUErQixFQUMvQixHQUVDLEVBQ0QsRUFBRTtJQUNGLE1BQU0sVUFBVSxHQUFHLElBQUEscURBQThCLEVBQy9DLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFBLG9DQUFtQixFQUNoQyxVQUFVLEVBQ1YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsZ0NBQWUsRUFDbkMsR0FBRyxDQUFDLEtBQUssRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUMxQixDQUFBO0lBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLGlCQUFpQixFQUFFLENBQUM7UUFDekMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2xCLElBQUEsOEJBQWMsRUFBQyx5REFBdUMsRUFBRTtZQUN0RCxJQUFJLEVBQUUsVUFBVTtZQUNoQixPQUFPLEVBQUUsc0RBQXFDO1lBQzlDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztTQUNqQixDQUFDLENBQ0gsQ0FBQTtRQUNELE9BQU07SUFDUixDQUFDO0lBQ0QsR0FBRztTQUNBLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDaEQsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxvREFBa0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDbEYsQ0FBQyxDQUFBO0FBakNZLFFBQUEsSUFBSSxRQWlDaEIifQ==
@@ -4,7 +4,7 @@ exports.GET = void 0;
4
4
  const plugin_features_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/plugin-features");
5
5
  const plugin_actions_1 = require("../../../../../../plugin-actions");
6
6
  const plugin_features_http_1 = require("../../../../../../plugin-features-http");
7
- const wire_response_1 = require("../../../../../../wire-response");
7
+ const wire_response_1 = require("../../../../../../../shared/lib/wire-response");
8
8
  /** Latest runs of a declared action, newest first (`?limit=`, default 1). */
9
9
  const GET = async (req, res) => {
10
10
  const descriptor = (0, plugin_features_http_1.requirePluginFeatureDescriptor)(req.scope, String(req.params.plugin_key));
@@ -13,4 +13,4 @@ const GET = async (req, res) => {
13
13
  res.json((0, wire_response_1.toWireResponse)(plugin_features_1.AdminPluginActionRunsResponseSchema, { runs }));
14
14
  };
15
15
  exports.GET = GET;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9bcGx1Z2luX2tleV0vYWN0aW9ucy9bYWN0aW9uX2tleV0vcnVucy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSwrR0FHa0Y7QUFHbEYscUVBQXNFO0FBQ3RFLGlGQUcrQztBQUMvQyxtRUFBZ0U7QUFJaEUsNkVBQTZFO0FBQ3RFLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBbUQsRUFDbkQsR0FBa0QsRUFDbEQsRUFBRTtJQUNGLE1BQU0sVUFBVSxHQUFHLElBQUEscURBQThCLEVBQy9DLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFBLG9DQUFtQixFQUNoQyxVQUFVLEVBQ1YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsbURBQTRCLEVBQzdDLEdBQUcsQ0FBQyxLQUFLLENBQ1YsQ0FBQywwQkFBMEIsQ0FDMUIsVUFBVSxDQUFDLFVBQVUsRUFDckIsTUFBTSxDQUFDLEdBQUcsRUFDVixHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FDekIsQ0FBQTtJQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBQSw4QkFBYyxFQUFDLHFEQUFtQyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ3pFLENBQUMsQ0FBQTtBQXBCWSxRQUFBLEdBQUcsT0FvQmYifQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9bcGx1Z2luX2tleV0vYWN0aW9ucy9bYWN0aW9uX2tleV0vcnVucy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSwrR0FHa0Y7QUFHbEYscUVBQXNFO0FBQ3RFLGlGQUcrQztBQUMvQyxpRkFBOEU7QUFJOUUsNkVBQTZFO0FBQ3RFLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBbUQsRUFDbkQsR0FBa0QsRUFDbEQsRUFBRTtJQUNGLE1BQU0sVUFBVSxHQUFHLElBQUEscURBQThCLEVBQy9DLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFBLG9DQUFtQixFQUNoQyxVQUFVLEVBQ1YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsbURBQTRCLEVBQzdDLEdBQUcsQ0FBQyxLQUFLLENBQ1YsQ0FBQywwQkFBMEIsQ0FDMUIsVUFBVSxDQUFDLFVBQVUsRUFDckIsTUFBTSxDQUFDLEdBQUcsRUFDVixHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FDekIsQ0FBQTtJQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBQSw4QkFBYyxFQUFDLHFEQUFtQyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ3pFLENBQUMsQ0FBQTtBQXBCWSxRQUFBLEdBQUcsT0FvQmYifQ==
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GET = void 0;
4
4
  const plugin_features_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/plugin-features");
5
5
  const plugin_features_http_1 = require("../../../plugin-features-http");
6
- const wire_response_1 = require("../../../wire-response");
6
+ const wire_response_1 = require("../../../../shared/lib/wire-response");
7
7
  /** One plugin like in the list; 404 for an unknown plugin key. */
8
8
  const GET = async (req, res) => {
9
9
  const { descriptor, fallback } = (0, plugin_features_http_1.requireDiscoveredPlugin)(req.scope, String(req.params.plugin_key));
@@ -11,4 +11,4 @@ const GET = async (req, res) => {
11
11
  res.json((0, wire_response_1.toWireResponse)(plugin_features_1.AdminPluginFeaturesResponseSchema, { plugin }));
12
12
  };
13
13
  exports.GET = GET;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9bcGx1Z2luX2tleV0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsK0dBQTZIO0FBRzdILHdFQUdzQztBQUN0QywwREFBdUQ7QUFFdkQsa0VBQWtFO0FBQzNELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBZ0QsRUFDaEQsRUFBRTtJQUNGLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBQSw4Q0FBdUIsRUFDdEQsR0FBRyxDQUFDLEtBQUssRUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FDOUIsQ0FBQTtJQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxtREFBNEIsRUFDL0MsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxtREFBaUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN6RSxDQUFDLENBQUE7QUFaWSxRQUFBLEdBQUcsT0FZZiJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9bcGx1Z2luX2tleV0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsK0dBQTZIO0FBRzdILHdFQUdzQztBQUN0Qyx3RUFBcUU7QUFFckUsa0VBQWtFO0FBQzNELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBZ0QsRUFDaEQsRUFBRTtJQUNGLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBQSw4Q0FBdUIsRUFDdEQsR0FBRyxDQUFDLEtBQUssRUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FDOUIsQ0FBQTtJQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxtREFBNEIsRUFDL0MsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxtREFBaUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN6RSxDQUFDLENBQUE7QUFaWSxRQUFBLEdBQUcsT0FZZiJ9
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.POST = exports.GET = void 0;
4
4
  const plugin_features_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/plugin-features");
5
5
  const plugin_features_http_1 = require("../../../../plugin-features-http");
6
- const wire_response_1 = require("../../../../wire-response");
6
+ const wire_response_1 = require("../../../../../shared/lib/wire-response");
7
7
  /** Settings with their source; secret values are never returned. */
8
8
  const GET = async (req, res) => {
9
9
  const { descriptor, fallback } = (0, plugin_features_http_1.requireDiscoveredPlugin)(req.scope, String(req.params.plugin_key));
@@ -19,4 +19,4 @@ const POST = async (req, res) => {
19
19
  res.json((0, wire_response_1.toWireResponse)(plugin_features_1.AdminPluginFeaturesResponseSchema, { plugin }));
20
20
  };
21
21
  exports.POST = POST;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9bcGx1Z2luX2tleV0vc2V0dGluZ3Mvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsK0dBSWtGO0FBTWxGLDJFQUl5QztBQUN6Qyw2REFBMEQ7QUFJMUQsb0VBQW9FO0FBQzdELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBZ0QsRUFDaEQsRUFBRTtJQUNGLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBQSw4Q0FBdUIsRUFDdEQsR0FBRyxDQUFDLEtBQUssRUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FDOUIsQ0FBQTtJQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxtREFBNEIsRUFDakQsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxtREFBaUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUMzRSxDQUFDLENBQUE7QUFaWSxRQUFBLEdBQUcsT0FZZjtBQUVELHdFQUF3RTtBQUNqRSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQTJDLEVBQzNDLEdBQWdELEVBQ2hELEVBQUU7SUFDRixNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUEsOENBQXVCLEVBQ3RELEdBQUcsQ0FBQyxLQUFLLEVBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sSUFBQSxtREFBNEIsRUFDakUsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQy9ELE1BQU0sSUFBQSxnREFBeUIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUNoRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxtREFBaUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN6RSxDQUFDLENBQUE7QUFiWSxRQUFBLElBQUksUUFhaEIifQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9bcGx1Z2luX2tleV0vc2V0dGluZ3Mvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsK0dBSWtGO0FBTWxGLDJFQUl5QztBQUN6QywyRUFBd0U7QUFJeEUsb0VBQW9FO0FBQzdELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBZ0QsRUFDaEQsRUFBRTtJQUNGLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBQSw4Q0FBdUIsRUFDdEQsR0FBRyxDQUFDLEtBQUssRUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FDOUIsQ0FBQTtJQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxtREFBNEIsRUFDakQsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxtREFBaUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUMzRSxDQUFDLENBQUE7QUFaWSxRQUFBLEdBQUcsT0FZZjtBQUVELHdFQUF3RTtBQUNqRSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQTJDLEVBQzNDLEdBQWdELEVBQ2hELEVBQUU7SUFDRixNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUEsOENBQXVCLEVBQ3RELEdBQUcsQ0FBQyxLQUFLLEVBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzlCLENBQUE7SUFDRCxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sSUFBQSxtREFBNEIsRUFDakUsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQy9ELE1BQU0sSUFBQSxnREFBeUIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUNoRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxtREFBaUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN6RSxDQUFDLENBQUE7QUFiWSxRQUFBLElBQUksUUFhaEIifQ==
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.POST = exports.GET = void 0;
4
4
  const plugin_features_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/plugin-features");
5
5
  const plugin_features_http_1 = require("../../plugin-features-http");
6
- const wire_response_1 = require("../../wire-response");
6
+ const wire_response_1 = require("../../../shared/lib/wire-response");
7
7
  /** Toggles, settings (no secret values), actions and pages of every plugin. */
8
8
  const GET = async (req, res) => {
9
9
  const service = (0, plugin_features_http_1.resolvePluginFeaturesService)(req.scope);
@@ -19,4 +19,4 @@ const POST = async (req, res) => {
19
19
  res.json((0, wire_response_1.toWireResponse)(plugin_features_1.AdminPluginFeaturesResponseSchema, { plugin }));
20
20
  };
21
21
  exports.POST = POST;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSwrR0FJa0Y7QUFNbEYscUVBS21DO0FBQ25DLHVEQUFvRDtBQUlwRCwrRUFBK0U7QUFDeEUsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFvRCxFQUNwRCxFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBQSxtREFBNEIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixJQUFBLDRDQUFxQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQ2hFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQ3JELENBQ0YsQ0FBQTtJQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBQSw4QkFBYyxFQUFDLHVEQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQzlFLENBQUMsQ0FBQTtBQVhZLFFBQUEsR0FBRyxPQVdmO0FBRU0sTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUEyQyxFQUMzQyxHQUFnRCxFQUNoRCxFQUFFO0lBQ0YsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFDbEQsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFBLDhDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDL0UsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLG1EQUE0QixFQUMvQyxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNuRCxNQUFNLElBQUEsZ0RBQXlCLEVBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUNsRCxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxtREFBaUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN6RSxDQUFDLENBQUE7QUFYWSxRQUFBLElBQUksUUFXaEIifQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi1mZWF0dXJlcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSwrR0FJa0Y7QUFNbEYscUVBS21DO0FBQ25DLHFFQUFrRTtBQUlsRSwrRUFBK0U7QUFDeEUsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFvRCxFQUNwRCxFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBQSxtREFBNEIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixJQUFBLDRDQUFxQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQ2hFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQ3JELENBQ0YsQ0FBQTtJQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBQSw4QkFBYyxFQUFDLHVEQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQzlFLENBQUMsQ0FBQTtBQVhZLFFBQUEsR0FBRyxPQVdmO0FBRU0sTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUEyQyxFQUMzQyxHQUFnRCxFQUNoRCxFQUFFO0lBQ0YsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFDbEQsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFBLDhDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDL0UsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLG1EQUE0QixFQUMvQyxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNuRCxNQUFNLElBQUEsZ0RBQXlCLEVBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUNsRCxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxtREFBaUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN6RSxDQUFDLENBQUE7QUFYWSxRQUFBLElBQUksUUFXaEIifQ==
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setAttachmentDownloadHeaders = void 0;
4
+ const safeFilename = (filename) => filename.replaceAll(/[^a-zA-Z0-9._-]/g, "_");
5
+ const setAttachmentDownloadHeaders = (res, filename) => {
6
+ res.setHeader("Cache-Control", "private, no-store, max-age=0");
7
+ res.setHeader("Content-Type", "application/pdf");
8
+ res.setHeader("Content-Disposition", `attachment; filename="${safeFilename(filename)}"`);
9
+ res.setHeader("X-Content-Type-Options", "nosniff");
10
+ };
11
+ exports.setAttachmentDownloadHeaders = setAttachmentDownloadHeaders;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1kb3dubG9hZC1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvYXR0YWNobWVudC1kb3dubG9hZC1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFNLFlBQVksR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUNoRCxRQUFRLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXhDLE1BQU0sNEJBQTRCLEdBQUcsQ0FDMUMsR0FBbUIsRUFDbkIsUUFBZ0IsRUFDVixFQUFFO0lBQ1IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUMsQ0FBQztJQUMvRCxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pELEdBQUcsQ0FBQyxTQUFTLENBQ1gscUJBQXFCLEVBQ3JCLHlCQUF5QixZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDbkQsQ0FBQztJQUNGLEdBQUcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBWFcsUUFBQSw0QkFBNEIsZ0NBV3ZDIn0=
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toTemplateResponse = exports.toTemplateSummary = exports.hasCodeOverride = exports.editableKindParam = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const templates_1 = require("../email/templates");
6
+ /** The editable kind named in the path; any other kind answers 404. */
7
+ const editableKindParam = (kind) => {
8
+ if (!kind || !(0, templates_1.isEditableKind)(kind)) {
9
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "This mail has no editable template.");
10
+ }
11
+ return kind;
12
+ };
13
+ exports.editableKindParam = editableKindParam;
14
+ /** Whether the shop's code configuration overrides the kind; `false` while e-mail is not configured. */
15
+ const hasCodeOverride = (email, kind) => {
16
+ try {
17
+ return (0, templates_1.isCodeOverride)(email.getDispatchConfiguration(), kind);
18
+ }
19
+ catch {
20
+ return false;
21
+ }
22
+ };
23
+ exports.hasCodeOverride = hasCodeOverride;
24
+ const toTemplateSummary = (email, kind, stored) => ({
25
+ kind,
26
+ customized: stored !== null,
27
+ code_override: (0, exports.hasCodeOverride)(email, kind),
28
+ updated_at: stored ? new Date(stored.updated_at).toISOString() : null,
29
+ });
30
+ exports.toTemplateSummary = toTemplateSummary;
31
+ /** The stored template, or the default one; an invalid stored document shows as the default. */
32
+ const toTemplateResponse = (email, kind, stored) => {
33
+ const validated = stored ? (0, templates_1.validateTemplateDocument)(kind, stored.document) : null;
34
+ return {
35
+ template: {
36
+ ...(0, exports.toTemplateSummary)(email, kind, stored),
37
+ subject: stored?.subject ?? null,
38
+ document: validated?.ok ? validated.document : (0, templates_1.defaultTemplateDocument)(kind),
39
+ },
40
+ };
41
+ };
42
+ exports.toTemplateResponse = toTemplateResponse;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdGVtcGxhdGUtcmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2VtYWlsLXRlbXBsYXRlLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF3RDtBQVF4RCxrREFLNEI7QUFFNUIsdUVBQXVFO0FBQ2hFLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUF3QixFQUFxQixFQUFFO0lBQy9FLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFBLDBCQUFjLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixxQ0FBcUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQVJXLFFBQUEsaUJBQWlCLHFCQVE1QjtBQUVGLHdHQUF3RztBQUNqRyxNQUFNLGVBQWUsR0FBRyxDQUM3QixLQUF5QixFQUN6QixJQUF1QixFQUNkLEVBQUU7SUFDWCxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUEsMEJBQWMsRUFBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBVFcsUUFBQSxlQUFlLG1CQVMxQjtBQUlLLE1BQU0saUJBQWlCLEdBQUcsQ0FDL0IsS0FBeUIsRUFDekIsSUFBdUIsRUFDdkIsTUFBc0IsRUFDSyxFQUFFLENBQUMsQ0FBQztJQUMvQixJQUFJO0lBQ0osVUFBVSxFQUFFLE1BQU0sS0FBSyxJQUFJO0lBQzNCLGFBQWEsRUFBRSxJQUFBLHVCQUFlLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztJQUMzQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7Q0FDdEUsQ0FBQyxDQUFDO0FBVFUsUUFBQSxpQkFBaUIscUJBUzNCO0FBRUgsZ0dBQWdHO0FBQ3pGLE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsS0FBeUIsRUFDekIsSUFBdUIsRUFDdkIsTUFBc0IsRUFDTSxFQUFFO0lBQzlCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBQSxvQ0FBd0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEYsT0FBTztRQUNMLFFBQVEsRUFBRTtZQUNSLEdBQUcsSUFBQSx5QkFBaUIsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztZQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sSUFBSSxJQUFJO1lBQ2hDLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFBLG1DQUF1QixFQUFDLElBQUksQ0FBQztTQUM3RTtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFiVyxRQUFBLGtCQUFrQixzQkFhN0IifQ==