@codee-sh/medusa-plugin-notification-emails 0.2.1 → 1.0.1

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 (177) 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/medusa-config.js +20 -0
  6. package/.medusa/server/src/admin/index.js +17284 -2259
  7. package/.medusa/server/src/admin/index.mjs +17135 -2127
  8. package/.medusa/server/src/api/admin/mpn/available-templates/route.js +14 -0
  9. package/.medusa/server/src/api/admin/mpn/events/route.js +20 -0
  10. package/.medusa/server/src/api/admin/mpn/notifications/route.js +31 -0
  11. package/.medusa/server/src/api/admin/mpn/render-template/route.js +36 -0
  12. package/.medusa/server/src/api/admin/mpn/templates/[id]/blocks/route.js +119 -0
  13. package/.medusa/server/src/api/admin/mpn/templates/route.js +72 -0
  14. package/.medusa/server/src/api/admin/mpn/templates/types/[type]/services/[service]/templates/route.js +18 -0
  15. package/.medusa/server/src/api/admin/mpn/templates/types/[type]/services/route.js +16 -0
  16. package/.medusa/server/src/api/admin/mpn/templates/types/route.js +13 -0
  17. package/.medusa/server/src/api/middlewares.js +69 -3
  18. package/.medusa/server/src/hooks/api/available-templates/available-templates.js +37 -0
  19. package/.medusa/server/src/hooks/api/available-templates/index.js +18 -0
  20. package/.medusa/server/src/hooks/api/events.js +3 -3
  21. package/.medusa/server/src/hooks/api/notifications.js +4 -4
  22. package/.medusa/server/src/hooks/api/orders.js +3 -6
  23. package/.medusa/server/src/hooks/api/preview.js +6 -6
  24. package/.medusa/server/src/hooks/api/templates/blocks/blocks.js +49 -0
  25. package/.medusa/server/src/hooks/api/templates/blocks/index.js +18 -0
  26. package/.medusa/server/src/hooks/api/templates/index.js +18 -0
  27. package/.medusa/server/src/hooks/api/templates/services/index.js +18 -0
  28. package/.medusa/server/src/hooks/api/templates/services/services.js +36 -0
  29. package/.medusa/server/src/hooks/api/templates/services/templates/index.js +18 -0
  30. package/.medusa/server/src/hooks/api/templates/services/templates/templates.js +38 -0
  31. package/.medusa/server/src/hooks/api/templates/templates.js +74 -0
  32. package/.medusa/server/src/hooks/api/templates/types/index.js +18 -0
  33. package/.medusa/server/src/hooks/api/templates/types/types.js +34 -0
  34. package/.medusa/server/src/modules/mpn-builder/index.js +13 -0
  35. package/.medusa/server/src/modules/mpn-builder/migrations/Migration20260126192907.js +23 -0
  36. package/.medusa/server/src/modules/mpn-builder/migrations/Migration20260129194255.js +20 -0
  37. package/.medusa/server/src/modules/mpn-builder/migrations/Migration20260202123904.js +14 -0
  38. package/.medusa/server/src/modules/mpn-builder/models/builder_template.js +32 -0
  39. package/.medusa/server/src/modules/mpn-builder/models/builder_template_block.js +30 -0
  40. package/.medusa/server/src/modules/mpn-builder/models/index.js +11 -0
  41. package/.medusa/server/src/modules/mpn-builder/service.js +167 -0
  42. package/.medusa/server/src/modules/mpn-builder/services-local/base-template-service.js +123 -0
  43. package/.medusa/server/src/modules/mpn-builder/services-local/email-template-service.js +402 -0
  44. package/.medusa/server/src/modules/mpn-builder/services-local/index.js +13 -0
  45. package/.medusa/server/src/modules/mpn-builder/services-local/slack-template-service.js +452 -0
  46. package/.medusa/server/src/modules/mpn-builder/types/constants.js +14 -0
  47. package/.medusa/server/src/modules/mpn-builder/types/index.js +24 -0
  48. package/.medusa/server/src/modules/mpn-builder/types/interfaces.js +3 -0
  49. package/.medusa/server/src/modules/mpn-builder/types/template-service-interface.js +3 -0
  50. package/.medusa/server/src/{templates/emails/blocks → modules/mpn-builder/types}/types.js +1 -1
  51. package/.medusa/server/src/subscribers/order-completed.js +17 -14
  52. package/.medusa/server/src/subscribers/order-placed.js +29 -17
  53. package/.medusa/server/src/templates/emails/base-template/index.js +1 -1
  54. package/.medusa/server/src/templates/emails/base-template/template.js +2 -2
  55. package/.medusa/server/src/templates/emails/blocks/components/group.js +14 -0
  56. package/.medusa/server/src/templates/emails/blocks/components/heading.js +1 -1
  57. package/.medusa/server/src/templates/emails/blocks/components/product-item.js +4 -3
  58. package/.medusa/server/src/templates/emails/blocks/components/repeater.js +1 -1
  59. package/.medusa/server/src/templates/emails/blocks/components/row.js +4 -2
  60. package/.medusa/server/src/templates/emails/blocks/components/section.js +1 -1
  61. package/.medusa/server/src/templates/emails/blocks/components/separator.js +2 -2
  62. package/.medusa/server/src/templates/emails/blocks/components/text.js +2 -2
  63. package/.medusa/server/src/templates/emails/blocks/index.js +5 -2
  64. package/.medusa/server/src/templates/emails/contact-form/config.js +4 -4
  65. package/.medusa/server/src/templates/emails/contact-form/index.js +1 -1
  66. package/.medusa/server/src/templates/emails/index.js +1 -10
  67. package/.medusa/server/src/templates/emails/inventory-level/config.js +4 -4
  68. package/.medusa/server/src/templates/emails/inventory-level/index.js +1 -1
  69. package/.medusa/server/src/templates/emails/inventory-level/translations/index.js +1 -1
  70. package/.medusa/server/src/templates/emails/order/completed/config.js +7 -7
  71. package/.medusa/server/src/templates/emails/order/completed/index.js +1 -1
  72. package/.medusa/server/src/templates/emails/order/completed/translations/index.js +1 -1
  73. package/.medusa/server/src/templates/emails/order/placed/config.js +7 -7
  74. package/.medusa/server/src/templates/emails/order/placed/index.js +1 -1
  75. package/.medusa/server/src/templates/emails/order/placed/translations/index.js +1 -1
  76. package/.medusa/server/src/templates/emails/order/updated/config.js +7 -7
  77. package/.medusa/server/src/templates/emails/order/updated/index.js +1 -1
  78. package/.medusa/server/src/templates/emails/order/updated/translations/index.js +1 -1
  79. package/.medusa/server/src/templates/emails/types/index.js +18 -0
  80. package/.medusa/server/src/templates/emails/types/types.js +12 -0
  81. package/.medusa/server/src/templates/shared/abstract-template-service.js +4 -2
  82. package/.medusa/server/src/templates/shared/theme/index.js +1 -1
  83. package/.medusa/server/src/templates/shared/theme/presets/default/index.js +1 -1
  84. package/.medusa/server/src/templates/shared/utils/index.js +1 -1
  85. package/.medusa/server/src/templates/slack/index.js +1 -10
  86. package/.medusa/server/src/templates/slack/inventory-level/config.js +5 -5
  87. package/.medusa/server/src/templates/slack/inventory-level/index.js +1 -1
  88. package/.medusa/server/src/templates/slack/order/archived/config.js +1 -1
  89. package/.medusa/server/src/templates/slack/order/archived/index.js +1 -1
  90. package/.medusa/server/src/templates/slack/order/archived/translations/index.js +1 -1
  91. package/.medusa/server/src/templates/slack/order/canceled/config.js +1 -1
  92. package/.medusa/server/src/templates/slack/order/canceled/index.js +1 -1
  93. package/.medusa/server/src/templates/slack/order/canceled/translations/index.js +1 -1
  94. package/.medusa/server/src/templates/slack/order/completed/config.js +1 -1
  95. package/.medusa/server/src/templates/slack/order/completed/index.js +1 -1
  96. package/.medusa/server/src/templates/slack/order/completed/translations/index.js +1 -1
  97. package/.medusa/server/src/templates/slack/order/placed/config.js +1 -1
  98. package/.medusa/server/src/templates/slack/order/placed/index.js +1 -1
  99. package/.medusa/server/src/templates/slack/order/placed/translations/index.js +1 -1
  100. package/.medusa/server/src/templates/slack/order/updated/config.js +1 -1
  101. package/.medusa/server/src/templates/slack/order/updated/index.js +1 -1
  102. package/.medusa/server/src/templates/slack/order/updated/translations/index.js +1 -1
  103. package/.medusa/server/src/templates/slack/product/config.js +2 -2
  104. package/.medusa/server/src/templates/slack/product/index.js +1 -1
  105. package/.medusa/server/src/templates/slack/product-variant/config.js +2 -2
  106. package/.medusa/server/src/templates/slack/product-variant/index.js +1 -1
  107. package/.medusa/server/src/templates/slack/types/index.js +18 -0
  108. package/.medusa/server/src/templates/slack/types/types.js +15 -0
  109. package/.medusa/server/src/utils/addresses.js +4 -2
  110. package/.medusa/server/src/utils/data/countries.js +1 -1
  111. package/.medusa/server/src/utils/data/country-states.js +1 -1
  112. package/.medusa/server/src/utils/data/modules/inventory/inventory.js +6 -2
  113. package/.medusa/server/src/utils/data/modules/order/order.js +43 -42
  114. package/.medusa/server/src/utils/data/modules/product/helpers.js +1 -1
  115. package/.medusa/server/src/utils/data/modules/product/product.js +27 -7
  116. package/.medusa/server/src/utils/data/modules/product-category/product-category.js +19 -5
  117. package/.medusa/server/src/utils/data/modules/product-tag/product-tag.js +16 -4
  118. package/.medusa/server/src/utils/data/modules/product-type/product-type.js +16 -4
  119. package/.medusa/server/src/utils/data/modules/product-variant/product-variant.js +19 -5
  120. package/.medusa/server/src/utils/dnd/handle-drag-end.js +22 -0
  121. package/.medusa/server/src/utils/dnd/index.js +6 -0
  122. package/.medusa/server/src/utils/i18n/i18n.js +6 -5
  123. package/.medusa/server/src/utils/index.js +4 -1
  124. package/.medusa/server/src/utils/money-amount-helpers.js +9 -4
  125. package/.medusa/server/src/utils/omit.js +1 -1
  126. package/.medusa/server/src/utils/payment.js +1 -1
  127. package/.medusa/server/src/utils/pick-value-from-object.js +4 -2
  128. package/.medusa/server/src/utils/plugins.js +4 -2
  129. package/.medusa/server/src/utils/string-helpers.js +21 -0
  130. package/.medusa/server/src/utils/transforms/index.js +2 -2
  131. package/.medusa/server/src/utils/transforms/order-transformer.js +22 -8
  132. package/.medusa/server/src/utils/tree.js +34 -0
  133. package/.medusa/server/src/workflows/mpn-builder/create-template.js +24 -0
  134. package/.medusa/server/src/workflows/mpn-builder/delete-template.js +24 -0
  135. package/.medusa/server/src/workflows/mpn-builder/edit-template-blocks.js +26 -0
  136. package/.medusa/server/src/workflows/mpn-builder/edit-template.js +25 -0
  137. package/.medusa/server/src/workflows/mpn-builder/get-blocks-by-template-id.js +23 -0
  138. package/.medusa/server/src/workflows/mpn-builder/get-services-types-templates.js +23 -0
  139. package/.medusa/server/src/workflows/mpn-builder/get-template.js +28 -0
  140. package/.medusa/server/src/workflows/mpn-builder/get-templates-by-type-service.js +22 -0
  141. package/.medusa/server/src/workflows/mpn-builder/get-templates-services.js +21 -0
  142. package/.medusa/server/src/workflows/mpn-builder/get-templates-types.js +19 -0
  143. package/.medusa/server/src/workflows/mpn-builder/index.js +21 -0
  144. package/.medusa/server/src/workflows/mpn-builder/steps/create-template.js +28 -0
  145. package/.medusa/server/src/workflows/mpn-builder/steps/delete-template.js +22 -0
  146. package/.medusa/server/src/workflows/mpn-builder/steps/edit-template-blocks.js +128 -0
  147. package/.medusa/server/src/workflows/mpn-builder/steps/edit-template.js +29 -0
  148. package/.medusa/server/src/workflows/mpn-builder/steps/get-blocks-by-template-id.js +61 -0
  149. package/.medusa/server/src/workflows/mpn-builder/steps/get-services-types-templates.js +53 -0
  150. package/.medusa/server/src/workflows/mpn-builder/steps/get-template-services.js +24 -0
  151. package/.medusa/server/src/workflows/mpn-builder/steps/get-template-types.js +22 -0
  152. package/.medusa/server/src/workflows/mpn-builder/steps/get-template.js +71 -0
  153. package/.medusa/server/src/workflows/mpn-builder/steps/get-templates-by-type-service.js +45 -0
  154. package/.medusa/server/src/workflows/mpn-builder/steps/index.js +21 -0
  155. package/.medusa/server/src/workflows/mpn-builder-services/email-service.js +32 -0
  156. package/.medusa/server/src/workflows/mpn-builder-services/slack-service.js +33 -0
  157. package/.medusa/server/src/workflows/mpn-builder-services/steps/email-service.js +69 -0
  158. package/.medusa/server/src/workflows/mpn-builder-services/steps/slack-service.js +67 -0
  159. package/.medusa/server/src/workflows/order/steps/get-order-by-id.js +1 -1
  160. package/.medusa/server/src/workflows/region/get-region-by-id.js +25 -0
  161. package/.medusa/server/src/workflows/region/index.js +18 -0
  162. package/.medusa/server/src/workflows/region/steps/get-region-by-id.js +26 -0
  163. package/.medusa/server/src/workflows/region/steps/index.js +18 -0
  164. package/.medusa/server/src/workflows/steps/log-step.js +16 -0
  165. package/.medusa/server/src/workflows/store/get-store-by-id.js +23 -0
  166. package/.medusa/server/src/workflows/store/index.js +18 -0
  167. package/.medusa/server/src/workflows/store/steps/get-store-by-id.js +25 -0
  168. package/.medusa/server/src/workflows/store/steps/index.js +18 -0
  169. package/README.md +40 -103
  170. package/package.json +21 -8
  171. package/.medusa/server/src/api/admin/notification-plugin/events/route.js +0 -20
  172. package/.medusa/server/src/api/admin/notification-plugin/notifications/route.js +0 -31
  173. package/.medusa/server/src/api/admin/notification-plugin/render-template/route.js +0 -33
  174. package/.medusa/server/src/templates/emails/email-template-service.js +0 -210
  175. package/.medusa/server/src/templates/emails/types.js +0 -12
  176. package/.medusa/server/src/templates/slack/slack-template-service.js +0 -219
  177. package/.medusa/server/src/templates/slack/types.js +0 -15
@@ -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
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTemplateTypesStep = exports.getTemplateTypesStepId = 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.getTemplateTypesStepId = "get-template-types";
8
+ /**
9
+ * Retrieves all available template types.
10
+ *
11
+ * @example
12
+ * const data = getTemplateTypesStep()
13
+ */
14
+ exports.getTemplateTypesStep = (0, workflows_sdk_1.createStep)(exports.getTemplateTypesStepId, async (input, { container }) => {
15
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
16
+ const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
17
+ const listTemplateTypes = mpnBuilderService.getTemplateTypes();
18
+ return new workflows_sdk_1.StepResponse({
19
+ list: listTemplateTypes
20
+ });
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9nZXQtdGVtcGxhdGUtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBRWtDO0FBQ2xDLHFFQUcwQztBQUUxQyw4REFBaUU7QUFTcEQsUUFBQSxzQkFBc0IsR0FBRyxvQkFBb0IsQ0FBQTtBQUUxRDs7Ozs7R0FLRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsSUFBQSwwQkFBVSxFQUM1Qyw4QkFBc0IsRUFDdEIsS0FBSyxFQUNILEtBQWdDLEVBQ2hDLEVBQUUsU0FBUyxFQUFFLEVBQ3NDLEVBQUU7SUFDckQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFBO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUN6QyxnQ0FBa0IsQ0FDRSxDQUFBO0lBRXRCLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUU5RCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixJQUFJLEVBQUUsaUJBQWlCO0tBQ3hCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTemplateStep = exports.getTemplateStepId = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
6
+ exports.getTemplateStepId = "get-template";
7
+ /**
8
+ * Retrieves templates matching the provided filters (template_id, channel, name, locale, active).
9
+ *
10
+ * @example
11
+ * const data = getTemplateStep({
12
+ * channel: "email",
13
+ * name: "welcome",
14
+ * locale: "en",
15
+ * active: true
16
+ * })
17
+ */
18
+ exports.getTemplateStep = (0, workflows_sdk_1.createStep)(exports.getTemplateStepId, async (input, { container }) => {
19
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
20
+ const filters = {};
21
+ if (input.template_id) {
22
+ filters.id = {
23
+ $eq: input.template_id,
24
+ };
25
+ }
26
+ if (input.channel) {
27
+ filters.channel = {
28
+ $eq: input.channel,
29
+ };
30
+ }
31
+ if (input.name) {
32
+ filters.name = {
33
+ $eq: input.name,
34
+ };
35
+ }
36
+ if (input.locale) {
37
+ filters.locale = {
38
+ $eq: input.locale,
39
+ };
40
+ }
41
+ if (input.active) {
42
+ filters.is_active = {
43
+ $eq: input.active,
44
+ };
45
+ }
46
+ const fields = [
47
+ "id",
48
+ "name",
49
+ "label",
50
+ "description",
51
+ "channel",
52
+ "locale",
53
+ "subject",
54
+ "is_active",
55
+ "created_at",
56
+ "updated_at",
57
+ ...(input.fields || []),
58
+ ];
59
+ const { data: templates } = await query.graph({
60
+ entity: "mpn_builder_template",
61
+ fields: fields,
62
+ filters,
63
+ });
64
+ if (!templates || templates.length === 0) {
65
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Template with filters: ${JSON.stringify(filters)} was not found`);
66
+ }
67
+ return new workflows_sdk_1.StepResponse({
68
+ templates: templates,
69
+ });
70
+ });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYnVpbGRlci9zdGVwcy9nZXQtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBR2tDO0FBQ2xDLHFFQUcwQztBQWU3QixRQUFBLGlCQUFpQixHQUFHLGNBQWMsQ0FBQTtBQUUvQzs7Ozs7Ozs7OztHQVVHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsSUFBQSwwQkFBVSxFQUN2Qyx5QkFBaUIsRUFDakIsS0FBSyxFQUNILEtBQTJCLEVBQzNCLEVBQUUsU0FBUyxFQUFFLEVBQ2lDLEVBQUU7SUFDaEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDN0IsaUNBQXlCLENBQUMsS0FBSyxDQUNoQyxDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFBO0lBRXZCLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxFQUFFLEdBQUc7WUFDWCxHQUFHLEVBQUUsS0FBSyxDQUFDLFdBQVc7U0FDdkIsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsT0FBTyxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTztTQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLElBQUksR0FBRztZQUNiLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSTtTQUNoQixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxNQUFNLEdBQUc7WUFDZixHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU07U0FDbEIsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQixPQUFPLENBQUMsU0FBUyxHQUFHO1lBQ2xCLEdBQUcsRUFBRSxLQUFLLENBQUMsTUFBTTtTQUNsQixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHO1FBQ2IsSUFBSTtRQUNKLE1BQU07UUFDTixPQUFPO1FBQ1AsYUFBYTtRQUNiLFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztRQUNULFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztLQUN4QixDQUFBO0lBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDNUMsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU87S0FDUixDQUFDLENBQUE7SUFFRixJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IsMEJBQTBCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUNsRSxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO0tBQ3JCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTemplatesByTypeServiceStep = exports.getTemplatesByTypeServiceStepId = 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
+ const get_template_1 = require("../get-template");
8
+ exports.getTemplatesByTypeServiceStepId = "get-templates-by-type-service";
9
+ /**
10
+ * This step retrieves templates filtered by type and service.
11
+ *
12
+ * @example
13
+ * const data = getTemplatesByTypeServiceStep({
14
+ * type_id: "db",
15
+ * service_id: "email"
16
+ * })
17
+ */
18
+ exports.getTemplatesByTypeServiceStep = (0, workflows_sdk_1.createStep)(exports.getTemplatesByTypeServiceStepId, async (input, { container }) => {
19
+ const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
20
+ const mpnBuilderService = container.resolve(mpn_builder_1.MPN_BUILDER_MODULE);
21
+ const { type_id, service_id } = input;
22
+ let templates = [];
23
+ if (type_id === "db") {
24
+ const { result: templatesResult } = await (0, get_template_1.getTemplateWorkflow)(container).run({
25
+ input: {
26
+ channel: service_id,
27
+ },
28
+ });
29
+ templates = templatesResult?.templates;
30
+ }
31
+ if (type_id === "system") {
32
+ const serviceTemplate = mpnBuilderService.getTemplateService(service_id)?.templateService;
33
+ templates =
34
+ serviceTemplate?.getSystemTemplates() || [];
35
+ }
36
+ if (type_id === "external") {
37
+ const serviceTemplate = mpnBuilderService.getTemplateService(service_id)?.templateService;
38
+ templates =
39
+ serviceTemplate?.getExternalTemplates() || [];
40
+ }
41
+ return new workflows_sdk_1.StepResponse({
42
+ templates: templates,
43
+ });
44
+ });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlcy1ieS10eXBlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL3N0ZXBzL2dldC10ZW1wbGF0ZXMtYnktdHlwZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFxRTtBQUNyRSxxRUFHMEM7QUFFMUMsOERBQWlFO0FBQ2pFLGtEQUFxRDtBQVd4QyxRQUFBLCtCQUErQixHQUFHLCtCQUErQixDQUFBO0FBRTlFOzs7Ozs7OztHQVFHO0FBQ1UsUUFBQSw2QkFBNkIsR0FBRyxJQUFBLDBCQUFVLEVBQ3JELHVDQUErQixFQUMvQixLQUFLLEVBQ0gsS0FBeUMsRUFDekMsRUFBRSxTQUFTLEVBQUUsRUFDK0MsRUFBRTtJQUM5RCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM3QixpQ0FBeUIsQ0FBQyxLQUFLLENBQ2hDLENBQUE7SUFFRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ3pDLGdDQUFrQixDQUNFLENBQUE7SUFFdEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUE7SUFFckMsSUFBSSxTQUFTLEdBQVUsRUFBRSxDQUFBO0lBRXpCLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQy9CLE1BQU0sSUFBQSxrQ0FBbUIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDdkMsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxVQUFVO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFBO1FBRUosU0FBUyxHQUFHLGVBQWUsRUFBRSxTQUFTLENBQUE7SUFDeEMsQ0FBQztJQUVELElBQUksT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sZUFBZSxHQUNuQixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FDbEMsVUFBVSxDQUNYLEVBQUUsZUFBZSxDQUFBO1FBQ3BCLFNBQVM7WUFDUCxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDL0MsQ0FBQztJQUVELElBQUksT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzNCLE1BQU0sZUFBZSxHQUNuQixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FDbEMsVUFBVSxDQUNYLEVBQUUsZUFBZSxDQUFBO1FBQ3BCLFNBQVM7WUFDUCxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDakQsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO0tBQ3JCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1idWlsZGVyL3N0ZXBzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMsa0RBQStCO0FBQy9CLG9EQUFpQztBQUNqQyxpREFBOEIifQ==
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emailServiceWorkflow = exports.emailServiceWorkflowName = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const email_service_1 = require("./steps/email-service");
6
+ exports.emailServiceWorkflowName = "mpn-builder-email-service";
7
+ /**
8
+ * This workflow renders an email template using the email service.
9
+ *
10
+ * @param input - The input for the workflow.
11
+ * - template_id: Required - The ID of the template to render. It can be a system template or a database template.
12
+ * - data: Required - The data to render the template with.
13
+ * - options: Optional - The options to render the template with.
14
+ *
15
+ *
16
+ * @example
17
+ * const { html, text, subject } = emailServiceWorkflow({
18
+ * template_id: "system_template_123", // or "123" - ID from the database template
19
+ * data: {
20
+ * name: "John Doe",
21
+ * },
22
+ * })
23
+ */
24
+ exports.emailServiceWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.emailServiceWorkflowName, (input) => {
25
+ const { html, text, subject } = (0, email_service_1.emailServiceStep)(input);
26
+ return new workflows_sdk_1.WorkflowResponse({
27
+ html,
28
+ text,
29
+ subject,
30
+ });
31
+ });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXItc2VydmljZXMvZW1haWwtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMseURBQXdEO0FBRTNDLFFBQUEsd0JBQXdCLEdBQUcsMkJBQTJCLENBQUE7QUFFbkU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLElBQUEsOEJBQWMsRUFDaEQsZ0NBQXdCLEVBQ3hCLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDYixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFBLGdDQUFnQixFQUFDLEtBQUssQ0FBQyxDQUFBO0lBRXZELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixJQUFJO1FBQ0osSUFBSTtRQUNKLE9BQU87S0FDUixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.slackServiceWorkflow = exports.slackServiceWorkflowName = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const slack_service_1 = require("./steps/slack-service");
6
+ exports.slackServiceWorkflowName = "mpn-builder-slack-service";
7
+ /**
8
+ * This workflow renders a Slack template using the Slack service.
9
+ *
10
+ * @param input - The input for the workflow.
11
+ * - template_id: Required - The ID of the template to render. It can be a system template or a database template.
12
+ * - data: Required - The data to render the template with.
13
+ * - options: Optional - The options to render the template with.
14
+ *
15
+ *
16
+ * @example
17
+ * const { blocks } = slackServiceWorkflow({
18
+ * template_id: "system_template_123", // or "123" - ID from the database template
19
+ * data: {
20
+ * name: "John Doe",
21
+ * },
22
+ * options: {
23
+ * locale: "en",
24
+ * },
25
+ * })
26
+ */
27
+ exports.slackServiceWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.slackServiceWorkflowName, (input) => {
28
+ const { blocks } = (0, slack_service_1.slackServiceStep)(input);
29
+ return new workflows_sdk_1.WorkflowResponse({
30
+ blocks: blocks,
31
+ });
32
+ });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhY2stc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbXBuLWJ1aWxkZXItc2VydmljZXMvc2xhY2stc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMEM7QUFDMUMseURBQXdEO0FBRTNDLFFBQUEsd0JBQXdCLEdBQUcsMkJBQTJCLENBQUE7QUFFbkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLElBQUEsOEJBQWMsRUFDaEQsZ0NBQXdCLEVBQ3hCLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDYixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSxnQ0FBZ0IsRUFBQyxLQUFLLENBQUMsQ0FBQTtJQUUxQyxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsTUFBTSxFQUFFLE1BQU07S0FDZixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9