@codee-sh/medusa-plugin-notification-emails 0.2.0 → 1.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 (175) hide show
  1. package/.medusa/server/emails-previews/contact-form.js +5 -4
  2. package/.medusa/server/emails-previews/inventory-level.js +5 -4
  3. package/.medusa/server/emails-previews/order-completed.js +5 -4
  4. package/.medusa/server/emails-previews/order-placed.js +5 -4
  5. package/.medusa/server/src/admin/index.js +17287 -2262
  6. package/.medusa/server/src/admin/index.mjs +17138 -2130
  7. package/.medusa/server/src/api/admin/mpn/available-templates/route.js +14 -0
  8. package/.medusa/server/src/api/admin/mpn/events/route.js +20 -0
  9. package/.medusa/server/src/api/admin/mpn/notifications/route.js +31 -0
  10. package/.medusa/server/src/api/admin/mpn/render-template/route.js +36 -0
  11. package/.medusa/server/src/api/admin/mpn/templates/[id]/blocks/route.js +119 -0
  12. package/.medusa/server/src/api/admin/mpn/templates/route.js +72 -0
  13. package/.medusa/server/src/api/admin/mpn/templates/types/[type]/services/[service]/templates/route.js +18 -0
  14. package/.medusa/server/src/api/admin/mpn/templates/types/[type]/services/route.js +16 -0
  15. package/.medusa/server/src/api/admin/mpn/templates/types/route.js +13 -0
  16. package/.medusa/server/src/api/middlewares.js +69 -3
  17. package/.medusa/server/src/hooks/api/available-templates/available-templates.js +37 -0
  18. package/.medusa/server/src/hooks/api/available-templates/index.js +18 -0
  19. package/.medusa/server/src/hooks/api/events.js +3 -3
  20. package/.medusa/server/src/hooks/api/notifications.js +4 -4
  21. package/.medusa/server/src/hooks/api/orders.js +3 -6
  22. package/.medusa/server/src/hooks/api/preview.js +6 -6
  23. package/.medusa/server/src/hooks/api/templates/blocks/blocks.js +49 -0
  24. package/.medusa/server/src/hooks/api/templates/blocks/index.js +18 -0
  25. package/.medusa/server/src/hooks/api/templates/index.js +18 -0
  26. package/.medusa/server/src/hooks/api/templates/services/index.js +18 -0
  27. package/.medusa/server/src/hooks/api/templates/services/services.js +36 -0
  28. package/.medusa/server/src/hooks/api/templates/services/templates/index.js +18 -0
  29. package/.medusa/server/src/hooks/api/templates/services/templates/templates.js +38 -0
  30. package/.medusa/server/src/hooks/api/templates/templates.js +74 -0
  31. package/.medusa/server/src/hooks/api/templates/types/index.js +18 -0
  32. package/.medusa/server/src/hooks/api/templates/types/types.js +34 -0
  33. package/.medusa/server/src/modules/mpn-builder/index.js +13 -0
  34. package/.medusa/server/src/modules/mpn-builder/migrations/Migration20260126192907.js +23 -0
  35. package/.medusa/server/src/modules/mpn-builder/migrations/Migration20260129194255.js +20 -0
  36. package/.medusa/server/src/modules/mpn-builder/migrations/Migration20260202123904.js +14 -0
  37. package/.medusa/server/src/modules/mpn-builder/models/builder_template.js +32 -0
  38. package/.medusa/server/src/modules/mpn-builder/models/builder_template_block.js +30 -0
  39. package/.medusa/server/src/modules/mpn-builder/models/index.js +11 -0
  40. package/.medusa/server/src/modules/mpn-builder/service.js +167 -0
  41. package/.medusa/server/src/modules/mpn-builder/services-local/base-template-service.js +123 -0
  42. package/.medusa/server/src/modules/mpn-builder/services-local/email-template-service.js +402 -0
  43. package/.medusa/server/src/modules/mpn-builder/services-local/index.js +13 -0
  44. package/.medusa/server/src/modules/mpn-builder/services-local/slack-template-service.js +452 -0
  45. package/.medusa/server/src/modules/mpn-builder/types/constants.js +14 -0
  46. package/.medusa/server/src/modules/mpn-builder/types/index.js +24 -0
  47. package/.medusa/server/src/modules/mpn-builder/types/interfaces.js +3 -0
  48. package/.medusa/server/src/modules/mpn-builder/types/template-service-interface.js +3 -0
  49. package/.medusa/server/src/{templates/emails/blocks → modules/mpn-builder/types}/types.js +1 -1
  50. package/.medusa/server/src/subscribers/order-completed.js +17 -14
  51. package/.medusa/server/src/subscribers/order-placed.js +29 -17
  52. package/.medusa/server/src/templates/emails/base-template/index.js +1 -1
  53. package/.medusa/server/src/templates/emails/base-template/template.js +2 -2
  54. package/.medusa/server/src/templates/emails/blocks/components/group.js +14 -0
  55. package/.medusa/server/src/templates/emails/blocks/components/heading.js +1 -1
  56. package/.medusa/server/src/templates/emails/blocks/components/product-item.js +4 -3
  57. package/.medusa/server/src/templates/emails/blocks/components/repeater.js +1 -1
  58. package/.medusa/server/src/templates/emails/blocks/components/row.js +4 -2
  59. package/.medusa/server/src/templates/emails/blocks/components/section.js +1 -1
  60. package/.medusa/server/src/templates/emails/blocks/components/separator.js +2 -2
  61. package/.medusa/server/src/templates/emails/blocks/components/text.js +2 -2
  62. package/.medusa/server/src/templates/emails/blocks/index.js +5 -2
  63. package/.medusa/server/src/templates/emails/contact-form/config.js +2 -2
  64. package/.medusa/server/src/templates/emails/contact-form/index.js +1 -1
  65. package/.medusa/server/src/templates/emails/index.js +1 -10
  66. package/.medusa/server/src/templates/emails/inventory-level/config.js +1 -1
  67. package/.medusa/server/src/templates/emails/inventory-level/index.js +1 -1
  68. package/.medusa/server/src/templates/emails/inventory-level/translations/index.js +1 -1
  69. package/.medusa/server/src/templates/emails/order/completed/config.js +1 -1
  70. package/.medusa/server/src/templates/emails/order/completed/index.js +1 -1
  71. package/.medusa/server/src/templates/emails/order/completed/translations/index.js +1 -1
  72. package/.medusa/server/src/templates/emails/order/placed/config.js +1 -1
  73. package/.medusa/server/src/templates/emails/order/placed/index.js +1 -1
  74. package/.medusa/server/src/templates/emails/order/placed/translations/index.js +1 -1
  75. package/.medusa/server/src/templates/emails/order/updated/config.js +1 -1
  76. package/.medusa/server/src/templates/emails/order/updated/index.js +1 -1
  77. package/.medusa/server/src/templates/emails/order/updated/translations/index.js +1 -1
  78. package/.medusa/server/src/templates/emails/types/index.js +18 -0
  79. package/.medusa/server/src/templates/emails/types/types.js +12 -0
  80. package/.medusa/server/src/templates/shared/abstract-template-service.js +4 -2
  81. package/.medusa/server/src/templates/shared/theme/index.js +1 -1
  82. package/.medusa/server/src/templates/shared/theme/presets/default/index.js +1 -1
  83. package/.medusa/server/src/templates/shared/utils/index.js +1 -1
  84. package/.medusa/server/src/templates/slack/index.js +1 -10
  85. package/.medusa/server/src/templates/slack/inventory-level/config.js +5 -5
  86. package/.medusa/server/src/templates/slack/inventory-level/index.js +1 -1
  87. package/.medusa/server/src/templates/slack/order/archived/config.js +1 -1
  88. package/.medusa/server/src/templates/slack/order/archived/index.js +1 -1
  89. package/.medusa/server/src/templates/slack/order/archived/translations/index.js +1 -1
  90. package/.medusa/server/src/templates/slack/order/canceled/config.js +1 -1
  91. package/.medusa/server/src/templates/slack/order/canceled/index.js +1 -1
  92. package/.medusa/server/src/templates/slack/order/canceled/translations/index.js +1 -1
  93. package/.medusa/server/src/templates/slack/order/completed/config.js +1 -1
  94. package/.medusa/server/src/templates/slack/order/completed/index.js +1 -1
  95. package/.medusa/server/src/templates/slack/order/completed/translations/index.js +1 -1
  96. package/.medusa/server/src/templates/slack/order/placed/config.js +1 -1
  97. package/.medusa/server/src/templates/slack/order/placed/index.js +1 -1
  98. package/.medusa/server/src/templates/slack/order/placed/translations/index.js +1 -1
  99. package/.medusa/server/src/templates/slack/order/updated/config.js +1 -1
  100. package/.medusa/server/src/templates/slack/order/updated/index.js +1 -1
  101. package/.medusa/server/src/templates/slack/order/updated/translations/index.js +1 -1
  102. package/.medusa/server/src/templates/slack/product/config.js +2 -2
  103. package/.medusa/server/src/templates/slack/product/index.js +1 -1
  104. package/.medusa/server/src/templates/slack/product-variant/config.js +2 -2
  105. package/.medusa/server/src/templates/slack/product-variant/index.js +1 -1
  106. package/.medusa/server/src/templates/slack/types/index.js +18 -0
  107. package/.medusa/server/src/templates/slack/types/types.js +15 -0
  108. package/.medusa/server/src/utils/addresses.js +4 -2
  109. package/.medusa/server/src/utils/data/countries.js +1 -1
  110. package/.medusa/server/src/utils/data/country-states.js +1 -1
  111. package/.medusa/server/src/utils/data/modules/inventory/inventory.js +6 -2
  112. package/.medusa/server/src/utils/data/modules/order/order.js +43 -42
  113. package/.medusa/server/src/utils/data/modules/product/helpers.js +1 -1
  114. package/.medusa/server/src/utils/data/modules/product/product.js +27 -7
  115. package/.medusa/server/src/utils/data/modules/product-category/product-category.js +19 -5
  116. package/.medusa/server/src/utils/data/modules/product-tag/product-tag.js +16 -4
  117. package/.medusa/server/src/utils/data/modules/product-type/product-type.js +16 -4
  118. package/.medusa/server/src/utils/data/modules/product-variant/product-variant.js +19 -5
  119. package/.medusa/server/src/utils/dnd/handle-drag-end.js +22 -0
  120. package/.medusa/server/src/utils/dnd/index.js +6 -0
  121. package/.medusa/server/src/utils/i18n/i18n.js +6 -5
  122. package/.medusa/server/src/utils/index.js +5 -1
  123. package/.medusa/server/src/utils/money-amount-helpers.js +9 -4
  124. package/.medusa/server/src/utils/omit.js +23 -0
  125. package/.medusa/server/src/utils/payment.js +1 -1
  126. package/.medusa/server/src/utils/pick-value-from-object.js +4 -2
  127. package/.medusa/server/src/utils/plugins.js +4 -2
  128. package/.medusa/server/src/utils/string-helpers.js +21 -0
  129. package/.medusa/server/src/utils/transforms/index.js +2 -2
  130. package/.medusa/server/src/utils/transforms/order-transformer.js +22 -8
  131. package/.medusa/server/src/utils/tree.js +34 -0
  132. package/.medusa/server/src/workflows/mpn-builder/create-template.js +24 -0
  133. package/.medusa/server/src/workflows/mpn-builder/delete-template.js +24 -0
  134. package/.medusa/server/src/workflows/mpn-builder/edit-template-blocks.js +26 -0
  135. package/.medusa/server/src/workflows/mpn-builder/edit-template.js +25 -0
  136. package/.medusa/server/src/workflows/mpn-builder/get-blocks-by-template-id.js +23 -0
  137. package/.medusa/server/src/workflows/mpn-builder/get-services-types-templates.js +23 -0
  138. package/.medusa/server/src/workflows/mpn-builder/get-template.js +28 -0
  139. package/.medusa/server/src/workflows/mpn-builder/get-templates-by-type-service.js +22 -0
  140. package/.medusa/server/src/workflows/mpn-builder/get-templates-services.js +21 -0
  141. package/.medusa/server/src/workflows/mpn-builder/get-templates-types.js +19 -0
  142. package/.medusa/server/src/workflows/mpn-builder/index.js +21 -0
  143. package/.medusa/server/src/workflows/mpn-builder/steps/create-template.js +28 -0
  144. package/.medusa/server/src/workflows/mpn-builder/steps/delete-template.js +22 -0
  145. package/.medusa/server/src/workflows/mpn-builder/steps/edit-template-blocks.js +128 -0
  146. package/.medusa/server/src/workflows/mpn-builder/steps/edit-template.js +29 -0
  147. package/.medusa/server/src/workflows/mpn-builder/steps/get-blocks-by-template-id.js +61 -0
  148. package/.medusa/server/src/workflows/mpn-builder/steps/get-services-types-templates.js +53 -0
  149. package/.medusa/server/src/workflows/mpn-builder/steps/get-template-services.js +24 -0
  150. package/.medusa/server/src/workflows/mpn-builder/steps/get-template-types.js +22 -0
  151. package/.medusa/server/src/workflows/mpn-builder/steps/get-template.js +71 -0
  152. package/.medusa/server/src/workflows/mpn-builder/steps/get-templates-by-type-service.js +45 -0
  153. package/.medusa/server/src/workflows/mpn-builder/steps/index.js +21 -0
  154. package/.medusa/server/src/workflows/mpn-builder-services/email-service.js +32 -0
  155. package/.medusa/server/src/workflows/mpn-builder-services/slack-service.js +33 -0
  156. package/.medusa/server/src/workflows/mpn-builder-services/steps/email-service.js +67 -0
  157. package/.medusa/server/src/workflows/mpn-builder-services/steps/slack-service.js +66 -0
  158. package/.medusa/server/src/workflows/order/steps/get-order-by-id.js +1 -1
  159. package/.medusa/server/src/workflows/region/get-region-by-id.js +25 -0
  160. package/.medusa/server/src/workflows/region/index.js +18 -0
  161. package/.medusa/server/src/workflows/region/steps/get-region-by-id.js +26 -0
  162. package/.medusa/server/src/workflows/region/steps/index.js +18 -0
  163. package/.medusa/server/src/workflows/steps/log-step.js +16 -0
  164. package/.medusa/server/src/workflows/store/get-store-by-id.js +23 -0
  165. package/.medusa/server/src/workflows/store/index.js +18 -0
  166. package/.medusa/server/src/workflows/store/steps/get-store-by-id.js +25 -0
  167. package/.medusa/server/src/workflows/store/steps/index.js +18 -0
  168. package/package.json +13 -9
  169. package/.medusa/server/src/api/admin/notification-plugin/events/route.js +0 -20
  170. package/.medusa/server/src/api/admin/notification-plugin/notifications/route.js +0 -31
  171. package/.medusa/server/src/api/admin/notification-plugin/render-template/route.js +0 -33
  172. package/.medusa/server/src/templates/emails/email-template-service.js +0 -210
  173. package/.medusa/server/src/templates/emails/types.js +0 -12
  174. package/.medusa/server/src/templates/slack/slack-template-service.js +0 -219
  175. package/.medusa/server/src/templates/slack/types.js +0 -15
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteTemplateWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const steps_1 = require("./steps");
6
+ /**
7
+ * Deletes a notification template by ID.
8
+ *
9
+ * @example
10
+ * const { result } = await deleteTemplateWorkflow(container).run({
11
+ * input: {
12
+ * id: "template_123"
13
+ * }
14
+ * })
15
+ */
16
+ exports.deleteTemplateWorkflow = (0, workflows_sdk_1.createWorkflow)("delete-template", ({ id }) => {
17
+ const result = (0, steps_1.deleteTemplateStep)({
18
+ id: id,
19
+ });
20
+ return new workflows_sdk_1.WorkflowResponse({
21
+ result,
22
+ });
23
+ });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9kZWxldGUtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBRzBDO0FBQzFDLG1DQUE0QztBQU01Qzs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLHNCQUFzQixHQUFHLElBQUEsOEJBQWMsRUFDbEQsaUJBQWlCLEVBQ2pCLENBQUMsRUFBRSxFQUFFLEVBQStCLEVBQUUsRUFBRTtJQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFBLDBCQUFrQixFQUFDO1FBQ2hDLEVBQUUsRUFBRSxFQUFFO0tBQ1AsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLE1BQU07S0FDUCxDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.editTemplateBlocksWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const edit_template_blocks_1 = require("./steps/edit-template-blocks");
6
+ /**
7
+ * Updates template blocks for a notification template.
8
+ *
9
+ * @example
10
+ * const { result } = await editTemplateBlocksWorkflow(container).run({
11
+ * input: {
12
+ * templateId: "template_123",
13
+ * blocks: [{ type: "text", content: "Hello" }]
14
+ * }
15
+ * })
16
+ */
17
+ exports.editTemplateBlocksWorkflow = (0, workflows_sdk_1.createWorkflow)("edit-template-blocks", ({ templateId, blocks, }) => {
18
+ const templateBlocks = (0, edit_template_blocks_1.editTemplateBlocksStep)({
19
+ template_id: templateId,
20
+ blocks: blocks,
21
+ });
22
+ return new workflows_sdk_1.WorkflowResponse({
23
+ blocks: templateBlocks,
24
+ });
25
+ });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10ZW1wbGF0ZS1ibG9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL2VkaXQtdGVtcGxhdGUtYmxvY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUcwQztBQUMxQyx1RUFBcUU7QUFPckU7Ozs7Ozs7Ozs7R0FVRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSw4QkFBYyxFQUN0RCxzQkFBc0IsRUFDdEIsQ0FBQyxFQUNDLFVBQVUsRUFDVixNQUFNLEdBQzBCLEVBQUUsRUFBRTtJQUNwQyxNQUFNLGNBQWMsR0FBRyxJQUFBLDZDQUFzQixFQUFDO1FBQzVDLFdBQVcsRUFBRSxVQUFVO1FBQ3ZCLE1BQU0sRUFBRSxNQUFNO0tBQ2YsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLE1BQU0sRUFBRSxjQUFjO0tBQ3ZCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.editTemplateWorkflow = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const steps_1 = require("./steps");
6
+ /**
7
+ * Updates existing notification templates.
8
+ *
9
+ * @example
10
+ * const { result } = await editTemplateWorkflow(container).run({
11
+ * input: {
12
+ * id: "template_123",
13
+ * items: [{ id: "template_123", name: "updated", ... }]
14
+ * }
15
+ * })
16
+ */
17
+ exports.editTemplateWorkflow = (0, workflows_sdk_1.createWorkflow)("edit-template", ({ id, items }) => {
18
+ const template = (0, steps_1.editTemplateStep)({
19
+ items: items,
20
+ });
21
+ return new workflows_sdk_1.WorkflowResponse({
22
+ template,
23
+ });
24
+ });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvZWRpdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMsbUNBQTBDO0FBUTFDOzs7Ozs7Ozs7O0dBVUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLElBQUEsOEJBQWMsRUFDaEQsZUFBZSxFQUNmLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUE2QixFQUFFLEVBQUU7SUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBQSx3QkFBZ0IsRUFBQztRQUNoQyxLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixRQUFRO0tBQ1QsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBlocksByTemplateWorkflow = exports.getBlocksByTemplateStepId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const get_blocks_by_template_id_1 = require("./steps/get-blocks-by-template-id");
6
+ exports.getBlocksByTemplateStepId = "get-blocks-by-template";
7
+ /**
8
+ * Retrieves all blocks for a specific template, organized as a tree structure.
9
+ *
10
+ * @example
11
+ * const { result } = await getBlocksByTemplateWorkflow(container).run({
12
+ * input: {
13
+ * template_id: "template_123"
14
+ * }
15
+ * })
16
+ */
17
+ exports.getBlocksByTemplateWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getBlocksByTemplateStepId, (input) => {
18
+ const blocks = (0, get_blocks_by_template_id_1.getBlocksByTemplateStep)({
19
+ template_id: input.template_id,
20
+ });
21
+ return new workflows_sdk_1.WorkflowResponse(blocks);
22
+ });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJsb2Nrcy1ieS10ZW1wbGF0ZS1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvZ2V0LWJsb2Nrcy1ieS10ZW1wbGF0ZS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFJMEM7QUFDMUMsaUZBQTJFO0FBTTlELFFBQUEseUJBQXlCLEdBQUcsd0JBQXdCLENBQUE7QUFFakU7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDhCQUFjLEVBQ3ZELGlDQUF5QixFQUN6QixDQUFDLEtBQXFELEVBQUUsRUFBRTtJQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFBLG1EQUF1QixFQUFDO1FBQ3JDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztLQUMvQixDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDckMsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getServicesTypesTemplatesWorkflow = exports.getServicesTypesTemplatesWorkflowName = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const get_services_types_templates_1 = require("./steps/get-services-types-templates");
6
+ exports.getServicesTypesTemplatesWorkflowName = "get-services-types-templates";
7
+ /**
8
+ * Retrieves services, types and templates. If service_id is provided, returns only templates for that service.
9
+ *
10
+ * @example
11
+ * const { result } = await getServicesTypesTemplatesWorkflow(container).run({
12
+ * input: {
13
+ * service_id: "email"
14
+ * }
15
+ * })
16
+ */
17
+ exports.getServicesTypesTemplatesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getServicesTypesTemplatesWorkflowName, (input) => {
18
+ const template = (0, get_services_types_templates_1.getServicesTypesTemplatesStep)({
19
+ service_id: input.service_id,
20
+ });
21
+ return new workflows_sdk_1.WorkflowResponse(template);
22
+ });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlcnZpY2VzLXR5cGVzLXRlbXBsYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvZ2V0LXNlcnZpY2VzLXR5cGVzLXRlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFJMEM7QUFDMUMsdUZBQW9GO0FBS3ZFLFFBQUEscUNBQXFDLEdBQUcsOEJBQThCLENBQUE7QUFFbkY7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FBRyxJQUFBLDhCQUFjLEVBQzdELDZDQUFxQyxFQUNyQyxDQUFDLEtBQTJELEVBQUUsRUFBRTtJQUM5RCxNQUFNLFFBQVEsR0FBRyxJQUFBLDREQUE2QixFQUFDO1FBQzdDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtLQUM3QixDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDdkMsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTemplateWorkflow = exports.getTemplateWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const get_template_1 = require("./steps/get-template");
6
+ exports.getTemplateWorkflowId = "get-template";
7
+ /**
8
+ * This workflow retrieves a template by its ID.
9
+ *
10
+ * @example
11
+ * const { result } = await getTemplateByIdWorkflow(container).run({
12
+ * input: {
13
+ * template_id: "template_123"
14
+ * }
15
+ * })
16
+ */
17
+ exports.getTemplateWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getTemplateWorkflowId, (input) => {
18
+ const templates = (0, get_template_1.getTemplateStep)({
19
+ template_id: input.template_id,
20
+ channel: input.channel,
21
+ name: input.name,
22
+ locale: input.locale,
23
+ active: input.active,
24
+ fields: input.fields,
25
+ });
26
+ return new workflows_sdk_1.WorkflowResponse(templates);
27
+ });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9nZXQtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTBDO0FBQzFDLHVEQUFzRDtBQVd6QyxRQUFBLHFCQUFxQixHQUFHLGNBQWMsQ0FBQTtBQUVuRDs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLG1CQUFtQixHQUFHLElBQUEsOEJBQWMsRUFDL0MsNkJBQXFCLEVBQ3JCLENBQUMsS0FBaUQsRUFBRSxFQUFFO0lBQ3BELE1BQU0sU0FBUyxHQUFHLElBQUEsOEJBQWUsRUFBQztRQUNoQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7UUFDOUIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07UUFDcEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1FBQ3BCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtLQUNyQixDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDeEMsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTemplatesByTypeServiceWorkflow = exports.getTemplatesByTypeServiceWorkflowName = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const get_templates_by_type_service_1 = require("./steps/get-templates-by-type-service");
6
+ exports.getTemplatesByTypeServiceWorkflowName = "get-templates-by-type-service";
7
+ /**
8
+ * This workflow retrieves templates filtered by type and service.
9
+ *
10
+ * @example
11
+ * const { result } = await getTemplatesByTypeServiceWorkflow(container).run({
12
+ * input: {
13
+ * type_id: "db",
14
+ * service_id: "email"
15
+ * }
16
+ * })
17
+ */
18
+ exports.getTemplatesByTypeServiceWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getTemplatesByTypeServiceWorkflowName, (input) => {
19
+ const template = (0, get_templates_by_type_service_1.getTemplatesByTypeServiceStep)(input);
20
+ return new workflows_sdk_1.WorkflowResponse(template);
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlcy1ieS10eXBlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL2dldC10ZW1wbGF0ZXMtYnktdHlwZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUkwQztBQUMxQyx5RkFBcUY7QUFPeEUsUUFBQSxxQ0FBcUMsR0FBRywrQkFBK0IsQ0FBQTtBQUVwRjs7Ozs7Ozs7OztHQVVHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FBRyxJQUFBLDhCQUFjLEVBQzdELDZDQUFxQyxFQUNyQyxDQUFDLEtBQTJELEVBQUUsRUFBRTtJQUM5RCxNQUFNLFFBQVEsR0FBRyxJQUFBLDZEQUE2QixFQUFDLEtBQUssQ0FBQyxDQUFBO0lBRXJELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTemplateServicesWorkflow = exports.getTemplateServicesWorkflowName = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const get_template_services_1 = require("./steps/get-template-services");
6
+ exports.getTemplateServicesWorkflowName = "get-template-services";
7
+ /**
8
+ * Retrieves available template services filtered by type.
9
+ *
10
+ * @example
11
+ * const { result } = await getTemplateServicesWorkflow(container).run({
12
+ * input: {
13
+ * type: "email"
14
+ * }
15
+ * })
16
+ */
17
+ exports.getTemplateServicesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getTemplateServicesWorkflowName, (input) => {
18
+ const template = (0, get_template_services_1.getTemplateServicesStep)(input);
19
+ return new workflows_sdk_1.WorkflowResponse(template);
20
+ });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlcy1zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvZ2V0LXRlbXBsYXRlcy1zZXJ2aWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFJMEM7QUFDMUMseUVBQXVFO0FBTTFELFFBQUEsK0JBQStCLEdBQUcsdUJBQXVCLENBQUE7QUFFdEU7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDhCQUFjLEVBQ3ZELHVDQUErQixFQUMvQixDQUFDLEtBQXFELEVBQUUsRUFBRTtJQUN4RCxNQUFNLFFBQVEsR0FBRyxJQUFBLCtDQUF1QixFQUFDLEtBQUssQ0FBQyxDQUFBO0lBRS9DLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTemplateTypesWorkflow = exports.getTemplateTypesWorkflowName = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const get_template_types_1 = require("./steps/get-template-types");
6
+ exports.getTemplateTypesWorkflowName = "get-template-types";
7
+ /**
8
+ * Retrieves all available template types.
9
+ *
10
+ * @example
11
+ * const { result } = await getTemplateTypesWorkflow(container).run({
12
+ * input: {}
13
+ * })
14
+ */
15
+ exports.getTemplateTypesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getTemplateTypesWorkflowName, (input) => {
16
+ const template = (0, get_template_types_1.getTemplateTypesStep)();
17
+ return new workflows_sdk_1.WorkflowResponse(template);
18
+ });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlcy10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvZ2V0LXRlbXBsYXRlcy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFJMEM7QUFDMUMsbUVBQWlFO0FBSXBELFFBQUEsNEJBQTRCLEdBQUcsb0JBQW9CLENBQUE7QUFFaEU7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsd0JBQXdCLEdBQUcsSUFBQSw4QkFBYyxFQUNwRCxvQ0FBNEIsRUFDNUIsQ0FBQyxLQUFrRCxFQUFFLEVBQUU7SUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBQSx5Q0FBb0IsR0FBRSxDQUFBO0lBRXZDLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./create-template"), exports);
18
+ __exportStar(require("./edit-template"), exports);
19
+ __exportStar(require("./delete-template"), exports);
20
+ __exportStar(require("./get-template"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMsa0RBQStCO0FBQy9CLG9EQUFpQztBQUNqQyxpREFBOEIifQ==
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTemplateStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const mpn_builder_1 = require("../../../modules/mpn-builder");
6
+ const string_helpers_1 = require("../../../utils/string-helpers");
7
+ /**
8
+ * Creates new notification templates.
9
+ *
10
+ * @example
11
+ * const data = createTemplateStep({
12
+ * items: [{ name: "welcome", label: "Welcome Email", ... }]
13
+ * })
14
+ */
15
+ exports.createTemplateStep = (0, workflows_sdk_1.createStep)("create-template", async ({ items }, { container }) => {
16
+ const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
17
+ const template = await mpnBuilderService.createMpnBuilderTemplates(items.map((item) => ({
18
+ name: (0, string_helpers_1.toKebabCase)(item.name),
19
+ description: item.description,
20
+ label: item.label,
21
+ channel: item.channel,
22
+ locale: item.locale,
23
+ subject: item.subject ?? null,
24
+ is_active: item.is_active,
25
+ })));
26
+ return new workflows_sdk_1.StepResponse(template, template);
27
+ });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9jcmVhdGUtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBRzBDO0FBRTFDLDhEQUFpRTtBQUVqRSxrRUFBMkQ7QUFNM0Q7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsSUFBQSwwQkFBVSxFQUMxQyxpQkFBaUIsRUFDakIsS0FBSyxFQUNILEVBQUUsS0FBSyxFQUEyQixFQUNsQyxFQUFFLFNBQVMsRUFBRSxFQUNiLEVBQUU7SUFDRixNQUFNLGlCQUFpQixHQUNyQixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFFdkMsTUFBTSxRQUFRLEdBQ1osTUFBTSxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FDL0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQixJQUFJLEVBQUUsSUFBQSw0QkFBVyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1FBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUk7UUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO0tBQzFCLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFSCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDN0MsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteTemplateStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const mpn_builder_1 = require("../../../modules/mpn-builder");
6
+ /**
7
+ * Deletes a notification template by ID.
8
+ *
9
+ * @example
10
+ * const data = deleteTemplateStep({
11
+ * id: "template_123"
12
+ * })
13
+ */
14
+ exports.deleteTemplateStep = (0, workflows_sdk_1.createStep)("delete-template", async ({ id }, { container }) => {
15
+ const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
16
+ // Delete the trigger (cascade delete will handle related rules, states, and actions)
17
+ await mpnBuilderService.deleteMpnBuilderTemplates([
18
+ id,
19
+ ]);
20
+ return new workflows_sdk_1.StepResponse({ id, deleted: true }, { id, deleted: true });
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9kZWxldGUtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUUscUVBR3dDO0FBRTFDLDhEQUFpRTtBQU1qRTs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxJQUFBLDBCQUFVLEVBQzFDLGlCQUFpQixFQUNqQixLQUFLLEVBQ0gsRUFBRSxFQUFFLEVBQTJCLEVBQy9CLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0saUJBQWlCLEdBQ3JCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUV2QyxxRkFBcUY7SUFDckYsTUFBTSxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQztRQUNoRCxFQUFFO0tBQ0gsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQ3JCLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFDckIsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUN0QixDQUFBO0FBQ0gsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.editTemplateBlocksStep = void 0;
7
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
8
+ const mpn_builder_1 = require("../../../modules/mpn-builder");
9
+ const flatMapDeep_1 = __importDefault(require("lodash/flatMapDeep"));
10
+ const configWithUndefined = (config) => {
11
+ return config
12
+ ? Object.entries(config).reduce((acc, [key, value]) => {
13
+ if (value === "") {
14
+ acc[key] = undefined;
15
+ }
16
+ else if (value !== null &&
17
+ value !== undefined) {
18
+ acc[key] = value;
19
+ }
20
+ return acc;
21
+ }, {})
22
+ : null;
23
+ };
24
+ /**
25
+ * Updates template blocks for a notification template.
26
+ *
27
+ * @example
28
+ * const data = editTemplateBlocksStep({
29
+ * template_id: "template_123",
30
+ * blocks: [{ type: "text", content: "Hello" }]
31
+ * })
32
+ */
33
+ exports.editTemplateBlocksStep = (0, workflows_sdk_1.createStep)("edit-template-blocks", async ({ template_id, blocks }, { container }) => {
34
+ const MpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
35
+ // Flatten the blocks and children
36
+ const flatBlocks = (0, flatMapDeep_1.default)(blocks, (node) => [
37
+ node,
38
+ ...(node.children || []),
39
+ ]);
40
+ // Get existing blocks for this template
41
+ const existingBlocks = await MpnBuilderService.listMpnBuilderTemplateBlocks({
42
+ template_id: template_id,
43
+ });
44
+ // Get the existing block ids
45
+ const existingBlockIds = existingBlocks.map((block) => block.id);
46
+ // Get the incoming block ids
47
+ const incomingBlockIds = flatBlocks
48
+ .filter((block) => block.id)
49
+ .map((block) => block.id);
50
+ // Find blocks to delete (existing but not in incoming data)
51
+ const blocksToDelete = existingBlockIds.filter((id) => !incomingBlockIds.includes(id));
52
+ // Delete actions that are no longer in the incoming data
53
+ if (blocksToDelete.length > 0) {
54
+ await MpnBuilderService.deleteMpnBuilderTemplateBlocks(blocksToDelete);
55
+ }
56
+ /**
57
+ * Create a new block
58
+ * @param block - The block to create
59
+ * @returns The created block
60
+ */
61
+ const createBlock = async (block) => {
62
+ const blockData = {
63
+ template_id: template_id,
64
+ type: block.type,
65
+ position: block.position,
66
+ metadata: configWithUndefined(block.metadata),
67
+ parent_id: block.parent_id,
68
+ };
69
+ const newBlock = await MpnBuilderService.createMpnBuilderTemplateBlocks([blockData]);
70
+ return newBlock[0];
71
+ };
72
+ /**
73
+ * Update a block
74
+ * @param block - The block to update
75
+ * @returns The updated block
76
+ */
77
+ const updateBlock = async (block) => {
78
+ const existingBlock = existingBlocks.find((b) => b.id === block.id);
79
+ if (!existingBlock) {
80
+ throw new Error(`Block with id ${block.id} does not exist`);
81
+ }
82
+ const updatedBlock = await MpnBuilderService.updateMpnBuilderTemplateBlocks([
83
+ {
84
+ id: block.id,
85
+ template_id: template_id,
86
+ parent_id: block.parent_id,
87
+ position: block.position,
88
+ metadata: configWithUndefined(block.metadata),
89
+ },
90
+ ]);
91
+ return updatedBlock[0];
92
+ };
93
+ /**
94
+ * Mutate a block
95
+ * @param block - The block to mutate
96
+ * @returns The mutated block
97
+ */
98
+ const mutateBlock = async (block) => {
99
+ if (block?.id && !block.virtual) {
100
+ return await updateBlock(block);
101
+ }
102
+ else {
103
+ return await createBlock(block);
104
+ }
105
+ };
106
+ // Update or create blocks
107
+ const updatedBlocks = await Promise.all(blocks.map(async (block) => {
108
+ const children = block.children;
109
+ if (children && children.length > 0) {
110
+ let block_id = null;
111
+ let savedBlock;
112
+ savedBlock = await mutateBlock(block);
113
+ block_id = savedBlock.id;
114
+ const updatedChildrenBlocks = await Promise.all(children.map(async (child) => {
115
+ return await mutateBlock({
116
+ ...child,
117
+ parent_id: block_id,
118
+ });
119
+ }));
120
+ return updatedChildrenBlocks;
121
+ }
122
+ else {
123
+ return await mutateBlock(block);
124
+ }
125
+ }));
126
+ return new workflows_sdk_1.StepResponse(updatedBlocks, updatedBlocks);
127
+ });
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10ZW1wbGF0ZS1ibG9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL3N0ZXBzL2VkaXQtdGVtcGxhdGUtYmxvY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFFQUcwQztBQUUxQyw4REFBaUU7QUFDakUscUVBQTRDO0FBUTVDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtJQUMxQyxPQUFPLE1BQU07UUFDWCxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQzNCLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2pCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUE7WUFDdEIsQ0FBQztpQkFBTSxJQUNMLEtBQUssS0FBSyxJQUFJO2dCQUNkLEtBQUssS0FBSyxTQUFTLEVBQ25CLENBQUM7Z0JBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUNsQixDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDLEVBQ0QsRUFBeUIsQ0FDMUI7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQ1YsQ0FBQyxDQUFBO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDVSxRQUFBLHNCQUFzQixHQUFHLElBQUEsMEJBQVUsRUFDOUMsc0JBQXNCLEVBQ3RCLEtBQUssRUFDSCxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQStCLEVBQ3BELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0saUJBQWlCLEdBQ3JCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUV2QyxrQ0FBa0M7SUFDbEMsTUFBTSxVQUFVLEdB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
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.editTemplateStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const mpn_builder_1 = require("../../../modules/mpn-builder");
6
+ const string_helpers_1 = require("../../../utils/string-helpers");
7
+ /**
8
+ * Updates existing notification templates.
9
+ *
10
+ * @example
11
+ * const data = editTemplateStep({
12
+ * items: [{ id: "template_123", name: "updated", ... }]
13
+ * })
14
+ */
15
+ exports.editTemplateStep = (0, workflows_sdk_1.createStep)("edit-template", async ({ items }, { container }) => {
16
+ const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
17
+ const template = await mpnBuilderService.updateMpnBuilderTemplates(items.map((item) => ({
18
+ id: item.id,
19
+ name: (0, string_helpers_1.toKebabCase)(item.name),
20
+ description: item.description,
21
+ label: item.label,
22
+ channel: item.channel,
23
+ locale: item.locale,
24
+ subject: item.subject ?? null,
25
+ is_active: item.is_active
26
+ })));
27
+ return new workflows_sdk_1.StepResponse(template, template);
28
+ });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvc3RlcHMvZWRpdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFFMUMsOERBQWlFO0FBRWpFLGtFQUEyRDtBQU0zRDs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3hDLGVBQWUsRUFDZixLQUFLLEVBQ0gsRUFBRSxLQUFLLEVBQXlCLEVBQ2hDLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0saUJBQWlCLEdBQ3JCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUV2QyxNQUFNLFFBQVEsR0FDWixNQUFNLGlCQUFpQixDQUFDLHlCQUF5QixDQUMvQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtRQUNYLElBQUksRUFBRSxJQUFBLDRCQUFXLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7UUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07UUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSTtRQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7S0FDMUIsQ0FBQyxDQUFDLENBQ0osQ0FBQTtJQUVILE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUM3QyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBlocksByTemplateStep = exports.getBlocksByTemplateStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ exports.getBlocksByTemplateStepId = "get-blocks-by-template";
7
+ function buildTree(items) {
8
+ const byId = new Map();
9
+ const roots = [];
10
+ // 1) utwórz "node" dla każdego rekordu (bez relacji)
11
+ for (const b of items) {
12
+ byId.set(b.id, { ...b, children: [] });
13
+ }
14
+ // 2) podepnij do rodzica albo wrzuć do rootów
15
+ for (const b of items) {
16
+ const node = byId.get(b.id);
17
+ const pid = b.parent_id;
18
+ if (pid && byId.has(pid)) {
19
+ byId.get(pid).children.push(node);
20
+ }
21
+ else {
22
+ roots.push(node);
23
+ }
24
+ }
25
+ // 3) sortowanie rekurencyjne po position (opcjonalne)
26
+ const sortRec = (arr) => {
27
+ arr.sort((a, b) => (a.position ?? 0) - (b.position ?? 0));
28
+ for (const n of arr)
29
+ sortRec(n.children);
30
+ };
31
+ sortRec(roots);
32
+ return roots;
33
+ }
34
+ /**
35
+ * Retrieves all blocks for a specific template, organized as a tree structure.
36
+ *
37
+ * @example
38
+ * const data = getBlocksByTemplateStep({
39
+ * template_id: "template_123"
40
+ * })
41
+ */
42
+ exports.getBlocksByTemplateStep = (0, workflows_sdk_1.createStep)(exports.getBlocksByTemplateStepId, async (input, { container }) => {
43
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
44
+ if (!input.template_id) {
45
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_ARGUMENT, "Template ID is required");
46
+ }
47
+ const { data: blocks } = await query.graph({
48
+ entity: "mpn_builder_template_block",
49
+ fields: ["id", "type", "parent_id", "position", "metadata", "template_id", "template", "template.subject"],
50
+ filters: {
51
+ template_id: {
52
+ $in: [input.template_id],
53
+ },
54
+ },
55
+ });
56
+ const tree = buildTree(blocks);
57
+ return new workflows_sdk_1.StepResponse({
58
+ blocks: tree
59
+ });
60
+ });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJsb2Nrcy1ieS10ZW1wbGF0ZS1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvc3RlcHMvZ2V0LWJsb2Nrcy1ieS10ZW1wbGF0ZS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFHa0M7QUFDbEMscUVBRzBDO0FBcUI3QixRQUFBLHlCQUF5QixHQUFHLHdCQUF3QixDQUFBO0FBRWpFLFNBQVMsU0FBUyxDQUFDLEtBQWM7SUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQXFCLENBQUE7SUFDekMsTUFBTSxLQUFLLEdBQWdCLEVBQUUsQ0FBQTtJQUU3QixxREFBcUQ7SUFDckQsS0FBSyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsOENBQThDO0lBQzlDLEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUE7UUFDNUIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUV2QixJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQWdCLEVBQUUsRUFBRTtRQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3pELEtBQUssTUFBTSxDQUFDLElBQUksR0FBRztZQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsQ0FBQyxDQUFBO0lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsSUFBQSwwQkFBVSxFQUMvQyxpQ0FBeUIsRUFDekIsS0FBSyxFQUNILEtBQW1DLEVBQ25DLEVBQUUsU0FBUyxFQUFFLEVBQ3lDLEVBQUU7SUFDeEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFBO0lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLHlCQUF5QixDQUMxQixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSw0QkFBNEI7UUFDcEMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixDQUFDO1FBQzFHLE9BQU8sRUFBRTtZQUNQLFdBQVcsRUFBRTtnQkFDWCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ3pCO1NBQ0Y7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsTUFBaUIsQ0FBQyxDQUFBO0lBRXpDLE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getServicesTypesTemplatesStep = exports.getServicesTypesTemplatesStepId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const mpn_builder_1 = require("../../../modules/mpn-builder");
6
+ const get_template_1 = require("../get-template");
7
+ exports.getServicesTypesTemplatesStepId = "get-services-types-templates";
8
+ /**
9
+ * Retrieves services, types and templates. If service_id is provided, returns only templates for that service.
10
+ *
11
+ * @example
12
+ * const data = getServicesTypesTemplatesStep({
13
+ * service_id: "email"
14
+ * })
15
+ */
16
+ exports.getServicesTypesTemplatesStep = (0, workflows_sdk_1.createStep)(exports.getServicesTypesTemplatesStepId, async (input, { container }) => {
17
+ const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
18
+ let listTemplateServices = mpnBuilderService.listTemplateServices();
19
+ // Filter by service_id if provided
20
+ if (input.service_id) {
21
+ listTemplateServices = listTemplateServices.filter((service) => service.id === input.service_id);
22
+ }
23
+ const newTemplates = await Promise.all(listTemplateServices.map(async (template) => {
24
+ const serviceTemplate = mpnBuilderService.getTemplateService(template.id)?.templateService;
25
+ let templates = [];
26
+ try {
27
+ const { result } = await (0, get_template_1.getTemplateWorkflow)(container).run({
28
+ input: {
29
+ channel: template.id,
30
+ },
31
+ });
32
+ templates = result?.templates || [];
33
+ }
34
+ catch (error) {
35
+ // If no templates found, return empty array
36
+ templates = [];
37
+ }
38
+ return {
39
+ id: template.id,
40
+ label: template.label,
41
+ channel: template.id,
42
+ templates: {
43
+ system: serviceTemplate?.getSystemTemplates(),
44
+ external: serviceTemplate?.getExternalTemplates(),
45
+ db: templates,
46
+ }
47
+ };
48
+ }));
49
+ return new workflows_sdk_1.StepResponse({
50
+ templates: newTemplates
51
+ });
52
+ });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlcnZpY2VzLXR5cGVzLXRlbXBsYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXIvc3RlcHMvZ2V0LXNlcnZpY2VzLXR5cGVzLXRlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHNEM7QUFFMUMsOERBQWlFO0FBQ2pFLGtEQUFxRDtBQVV4QyxRQUFBLCtCQUErQixHQUFHLDhCQUE4QixDQUFBO0FBRTdFOzs7Ozs7O0dBT0c7QUFDVSxRQUFBLDZCQUE2QixHQUFHLElBQUEsMEJBQVUsRUFDckQsdUNBQStCLEVBQy9CLEtBQUssRUFDSCxLQUF5QyxFQUN6QyxFQUFFLFNBQVMsRUFBRSxFQUMrQyxFQUFFO0lBQ2hFLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDdkMsZ0NBQWtCLENBQ0UsQ0FBQTtJQUV0QixJQUFJLG9CQUFvQixHQUFHLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUE7SUFFbkUsbUNBQW1DO0lBQ25DLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JCLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FDaEQsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLFVBQVUsQ0FDbEQsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFhLEVBQUUsRUFBRTtRQUN0RixNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsZUFBZSxDQUFBO1FBRTFGLElBQUksU0FBUyxHQUFVLEVBQUUsQ0FBQTtRQUN6QixJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLGtDQUFtQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDMUQsS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRTtpQkFDckI7YUFDRixDQUFDLENBQUE7WUFDRixTQUFTLEdBQUcsTUFBTSxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUE7UUFDckMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZiw0Q0FBNEM7WUFDNUMsU0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUNoQixDQUFDO1FBRUQsT0FBTztZQUNMLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtZQUNmLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztZQUNyQixPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDcEIsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQzdDLFFBQVEsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUU7Z0JBQ2pELEVBQUUsRUFBRSxTQUFTO2FBQ2Q7U0FDRixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVILE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLFNBQVMsRUFBRSxZQUFZO0tBQ3hCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTemplateServicesStep = exports.getTemplateServicesStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ const mpn_builder_1 = require("../../../modules/mpn-builder");
7
+ exports.getTemplateServicesStepId = "get-template-services";
8
+ /**
9
+ * Retrieves available template services filtered by type.
10
+ *
11
+ * @example
12
+ * const data = getTemplateServicesStep({
13
+ * type: "email"
14
+ * })
15
+ */
16
+ exports.getTemplateServicesStep = (0, workflows_sdk_1.createStep)(exports.getTemplateServicesStepId, async (input, { container }) => {
17
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
18
+ const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
19
+ const listTemplateServices = mpnBuilderService.listTemplateServices(input.type);
20
+ return new workflows_sdk_1.StepResponse({
21
+ list: listTemplateServices
22
+ });
23
+ });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlLXNlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9nZXQtdGVtcGxhdGUtc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBRWtDO0FBQ2xDLHFFQUcwQztBQUUxQyw4REFBaUU7QUFVcEQsUUFBQSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FBQTtBQUVoRTs7Ozs7OztHQU9HO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBQy9DLGlDQUF5QixFQUN6QixLQUFLLEVBQ0gsS0FBbUMsRUFDbkMsRUFBRSxTQUFTLEVBQUUsRUFDeUMsRUFBRTtJQUN4RCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM3QixpQ0FBeUIsQ0FBQyxLQUFLLENBQ2hDLENBQUE7SUFFRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ3pDLGdDQUFrQixDQUNFLENBQUE7SUFFdEIsTUFBTSxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFL0UsT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsSUFBSSxFQUFFLG9CQUFvQjtLQUMzQixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9