@codee-sh/medusa-plugin-automations 1.0.9 → 1.0.10

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 (33) hide show
  1. package/.medusa/server/src/admin/_chunks/{__admin-extensions__-BZrUHl9N → __admin-extensions__-CzXvFkp_} +5 -1
  2. package/.medusa/server/src/admin/_chunks/{__admin-extensions__-BV7n9V1I → __admin-extensions__-FXmyAEGa} +5 -1
  3. package/.medusa/server/src/admin/_chunks/{base-config-D0IqhDVr → base-config-CjqEuEOM} +7 -9
  4. package/.medusa/server/src/admin/_chunks/{base-config-CbWD1XMk → base-config-fXd1L6SD} +7 -9
  5. package/.medusa/server/src/admin/index.js +1 -1
  6. package/.medusa/server/src/admin/index.mjs +1 -1
  7. package/.medusa/server/src/api/admin/mpn/automations/actions/route.js +1 -20
  8. package/.medusa/server/src/api/admin/mpn/automations/available-actions/route.js +20 -3
  9. package/.medusa/server/src/modules/mpn-automation/index.js +6 -3
  10. package/.medusa/server/src/modules/mpn-automation/service.js +261 -0
  11. package/.medusa/server/src/modules/mpn-automation/services-local/base-action-service.js +117 -0
  12. package/.medusa/server/src/modules/mpn-automation/services-local/email-action-service.js +130 -0
  13. package/.medusa/server/src/modules/mpn-automation/services-local/slack-action-service.js +84 -0
  14. package/.medusa/server/src/providers/slack/service.js +4 -7
  15. package/.medusa/server/src/subscribers/mpn.automation.action.email.executed.js +9 -2
  16. package/.medusa/server/src/subscribers/mpn.automation.action.slack.executed.js +8 -6
  17. package/.medusa/server/src/subscribers/product-updated.js +1 -2
  18. package/.medusa/server/src/utils/validate-rules.js +8 -8
  19. package/.medusa/server/src/workflows/mpn-automation/run-automation.js +5 -6
  20. package/.medusa/server/src/workflows/mpn-automation/run-email-action.js +7 -7
  21. package/.medusa/server/src/workflows/mpn-automation/run-slack-action.js +12 -13
  22. package/.medusa/server/src/workflows/notifications/index.js +2 -1
  23. package/.medusa/server/src/workflows/notifications/send-email.js +7 -7
  24. package/.medusa/server/src/workflows/notifications/send-slack.js +7 -7
  25. package/.medusa/server/src/workflows/notifications/steps/index.js +2 -1
  26. package/.medusa/server/src/workflows/notifications/steps/send-email.js +66 -53
  27. package/.medusa/server/src/workflows/notifications/steps/send-slack.js +15 -16
  28. package/package.json +4 -3
  29. package/.medusa/server/src/modules/mpn-automation/services/base-action-service.js +0 -98
  30. package/.medusa/server/src/modules/mpn-automation/services/email-action-service.js +0 -94
  31. package/.medusa/server/src/modules/mpn-automation/services/index.js +0 -15
  32. package/.medusa/server/src/modules/mpn-automation/services/service.js +0 -356
  33. package/.medusa/server/src/modules/mpn-automation/services/slack-action-service.js +0 -57
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendSlackWorkflow = exports.sendSlackWorkflowId = void 0;
3
+ exports.sendNotificationSlackWorkflow = exports.sendNotificationSlackWorkflowId = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
5
  const send_slack_1 = require("./steps/send-slack");
6
- exports.sendSlackWorkflowId = "send-slack";
6
+ exports.sendNotificationSlackWorkflowId = "send-notification-slack";
7
7
  /**
8
8
  * Universal workflow that sends a slack notification.
9
9
  *
@@ -16,7 +16,7 @@ exports.sendSlackWorkflowId = "send-slack";
16
16
  * @example
17
17
  * ```typescript
18
18
  * // Standalone usage
19
- * const { result } = await sendSlackWorkflow(container).run({
19
+ * const { result } = await sendNotificationSlackWorkflow(container).run({
20
20
  * input: {
21
21
  * settings: {
22
22
  * templateName: "inventory-level",
@@ -33,13 +33,13 @@ exports.sendSlackWorkflowId = "send-slack";
33
33
  * })
34
34
  * ```
35
35
  */
36
- exports.sendSlackWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.sendSlackWorkflowId, (input) => {
36
+ exports.sendNotificationSlackWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.sendNotificationSlackWorkflowId, (input) => {
37
37
  const result = (0, send_slack_1.sendSlackStep)({
38
- settings: input.settings,
39
- context: input.context,
40
38
  eventName: input.eventName,
39
+ context: input.context,
41
40
  contextType: input.contextType,
41
+ options: input.options
42
42
  });
43
43
  return new workflows_sdk_1.WorkflowResponse(result);
44
44
  });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1zbGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvbm90aWZpY2F0aW9ucy9zZW5kLXNsYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUkwQztBQUMxQyxtREFBa0Q7QUFlckMsUUFBQSxtQkFBbUIsR0FBRyxZQUFZLENBQUE7QUFFL0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFDVSxRQUFBLGlCQUFpQixHQUFHLElBQUEsOEJBQWMsRUFDN0MsMkJBQW1CLEVBQ25CLENBQUMsS0FBMkMsRUFBRSxFQUFFO0lBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUEsMEJBQWEsRUFBQztRQUMzQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7UUFDeEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztRQUMxQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7S0FDL0IsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FDRixDQUFBIn0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1zbGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvbm90aWZpY2F0aW9ucy9zZW5kLXNsYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUkwQztBQUMxQyxtREFBa0Q7QUFlckMsUUFBQSwrQkFBK0IsR0FBRyx5QkFBeUIsQ0FBQTtBQUV4RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsSUFBQSw4QkFBYyxFQUN6RCx1Q0FBK0IsRUFDL0IsQ0FBQyxLQUEyQyxFQUFFLEVBQUU7SUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBQSwwQkFBYSxFQUFDO1FBQzNCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztRQUMxQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1FBQzlCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztLQUN2QixDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDckMsQ0FBQyxDQUNGLENBQUEifQ==
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./send-email"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL25vdGlmaWNhdGlvbnMvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE0QiJ9
18
+ __exportStar(require("./send-slack"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL25vdGlmaWNhdGlvbnMvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE0QjtBQUM1QiwrQ0FBNEIifQ==
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sendEmailStep = exports.sendEmailStepId = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
- const utils_1 = require("@medusajs/framework/utils");
6
- const plugins_1 = require("@codee-sh/medusa-plugin-automations/utils/plugins");
7
- const utils_2 = require("@medusajs/utils");
5
+ const utils_1 = require("@medusajs/utils");
6
+ const utils_2 = require("@medusajs/framework/utils");
8
7
  exports.sendEmailStepId = "send-email";
9
8
  /**
10
9
  * Universal step that sends an email notification.
@@ -12,10 +11,9 @@ exports.sendEmailStepId = "send-email";
12
11
  * This step can be used independently or as part of automation workflows.
13
12
  *
14
13
  * Configuration:
15
- * - templateName: Required - Name of the email template to use
14
+ * - templateId: Required - ID or name of the email template to use
16
15
  * - to: Required - Recipient email address
17
16
  * - locale: Optional - Locale for translations (default: "pl")
18
- * - customTemplate: Optional - Path to custom template function
19
17
  * - subject: Optional - Custom subject (otherwise uses template default)
20
18
  * - template: Optional - Template identifier for notification (defaults to templateName)
21
19
  * - resourceId: Optional - Resource ID for notification tracking
@@ -25,8 +23,8 @@ exports.sendEmailStepId = "send-email";
25
23
  * ```typescript
26
24
  * // Standalone usage
27
25
  * const result = await sendEmailStep({
28
- * settings: {
29
- * templateName: "inventory-level",
26
+ * options: {
27
+ * templateId: "inventory-level",
30
28
  * to: "admin@example.com",
31
29
  * locale: "pl"
32
30
  * },
@@ -37,78 +35,93 @@ exports.sendEmailStepId = "send-email";
37
35
  * ```
38
36
  */
39
37
  exports.sendEmailStep = (0, workflows_sdk_1.createStep)(exports.sendEmailStepId, async (input, { container }) => {
40
- const { settings, templateData, contextType, eventName, } = input;
38
+ const { options, templateData, contextType, eventName, } = input;
41
39
  // Validate required config
42
- if (!settings.templateName) {
40
+ if (!options.templateName) {
43
41
  return new workflows_sdk_1.StepResponse({
44
42
  success: false,
45
43
  error: "templateName is required in config",
46
44
  });
47
45
  }
48
- if (!settings.to) {
46
+ if (!options.to) {
49
47
  return new workflows_sdk_1.StepResponse({
50
48
  success: false,
51
49
  error: "to (recipient email) is required in config",
52
50
  });
53
51
  }
54
52
  try {
55
- const notificationModuleService = container.resolve(utils_1.Modules.NOTIFICATION);
56
- const pluginOptions = (0, plugins_1.getPluginOptions)(container, "@codee-sh/medusa-plugin-notification-emails");
57
- const templateName = settings.templateName;
58
- const to = settings.to;
59
- const locale = settings.locale || "pl";
60
- const customSubject = settings.subject;
61
- const resourceId = settings.resourceId || "unknown";
62
- const resourceType = settings.resourceType || "email.notification";
63
- const channel = settings.channel || "email";
64
- const triggerType = settings.triggerType || "system";
65
- // Prepare render options
66
- const renderOptions = {
67
- locale,
68
- theme: pluginOptions?.theme,
69
- customTranslations: pluginOptions?.customTranslations?.[templateName],
70
- contextType: contextType,
71
- };
53
+ const notificationModuleService = container.resolve(utils_2.Modules.NOTIFICATION);
54
+ const templateName = options.templateName;
55
+ const to = options.to;
56
+ const locale = options.locale || "pl";
57
+ const customSubject = options.subject;
58
+ const resourceId = options.resourceId || "unknown";
59
+ const resourceType = options.resourceType || "email.notification";
60
+ const channel = options.channel || "email";
61
+ const triggerType = options.triggerType || "system";
62
+ // // Prepare render options
63
+ // const renderOptions: TemplateOptionsType = {
64
+ // locale,
65
+ // theme: pluginOptions?.theme,
66
+ // customTranslations:
67
+ // pluginOptions?.customTranslations?.[templateName],
68
+ // contextType: contextType,
69
+ // }
72
70
  // Load custom template function if specified
73
- let customTemplateFunction;
74
- if (settings.customTemplate) {
75
- try {
76
- // Dynamic import of custom template
77
- // config.customTemplate should be a relative path like "../emails/pos-email-inventory"
78
- // or absolute path from project root like "src/emails/pos-email-inventory"
79
- const customTemplateModule = await import(settings.customTemplate);
80
- customTemplateFunction =
81
- customTemplateModule.default ||
82
- customTemplateModule.createCustomTemplate ||
83
- customTemplateModule.createTemplate;
84
- if (!customTemplateFunction) {
85
- throw new utils_2.MedusaError(utils_2.MedusaError.Types.INVALID_DATA, `Custom template module from ${settings.customTemplate} does not export a default function or createCustomTemplate/createTemplate`);
86
- }
87
- }
88
- catch (error) {
89
- if (error instanceof utils_2.MedusaError) {
90
- throw error;
91
- }
92
- throw new utils_2.MedusaError(utils_2.MedusaError.Types.INVALID_DATA, `Failed to load custom template from ${settings.customTemplate}: ${error?.message || "Unknown error"}`);
93
- }
94
- }
71
+ // let customTemplateFunction:
72
+ // | ((
73
+ // data: TemplateData,
74
+ // options: TemplateOptionsType
75
+ // ) => React.ReactElement<any>)
76
+ // | undefined
77
+ // if (options.customTemplate) {
78
+ // try {
79
+ // // Dynamic import of custom template
80
+ // // config.customTemplate should be a relative path like "../emails/pos-email-inventory"
81
+ // // or absolute path from project root like "src/emails/pos-email-inventory"
82
+ // const customTemplateModule = await import(
83
+ // options.customTemplate
84
+ // )
85
+ // customTemplateFunction =
86
+ // customTemplateModule.default ||
87
+ // customTemplateModule.createCustomTemplate ||
88
+ // customTemplateModule.createTemplate
89
+ // if (!customTemplateFunction) {
90
+ // throw new MedusaError(
91
+ // MedusaError.Types.INVALID_DATA,
92
+ // `Custom template module from ${options.customTemplate} does not export a default function or createCustomTemplate/createTemplate`
93
+ // )
94
+ // }
95
+ // } catch (error: any) {
96
+ // if (error instanceof MedusaError) {
97
+ // throw error
98
+ // }
99
+ // throw new MedusaError(
100
+ // MedusaError.Types.INVALID_DATA,
101
+ // `Failed to load custom template from ${options.customTemplate}: ${error?.message || "Unknown error"}`
102
+ // )
103
+ // }
104
+ // }
95
105
  // Use action handler for template rendering
96
106
  const mpnAutomationService = container.resolve("mpnAutomation");
97
107
  const emailHandler = mpnAutomationService.getActionHandler("email");
98
108
  if (!emailHandler?.handler?.renderTemplate) {
99
- throw new utils_2.MedusaError(utils_2.MedusaError.Types.NOT_FOUND, `Email action handler not found or does not support template rendering`);
109
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Email action handler not found or does not support template rendering`);
100
110
  }
101
111
  const { html, text, subject } = await emailHandler.handler.renderTemplate({
102
112
  templateName: templateName,
103
113
  context: templateData,
104
114
  contextType: contextType,
105
- options: renderOptions,
115
+ options: {
116
+ locale: locale,
117
+ },
118
+ container: container,
106
119
  });
107
120
  // Send notification
108
121
  const notificationResult = await notificationModuleService.createNotifications({
109
122
  to: to,
110
123
  channel: channel,
111
- template: settings.template || templateName,
124
+ template: options.template || templateName,
112
125
  trigger_type: triggerType,
113
126
  resource_id: resourceId,
114
127
  resource_type: resourceType,
@@ -132,4 +145,4 @@ exports.sendEmailStep = (0, workflows_sdk_1.createStep)(exports.sendEmailStepId,
132
145
  });
133
146
  }
134
147
  });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1lbWFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvbm90aWZpY2F0aW9ucy9zdGVwcy9zZW5kLWVtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUcwQztBQUMxQyxxREFBbUQ7QUFDbkQsK0VBQW9GO0FBTXBGLDJDQUE2QztBQTZCaEMsUUFBQSxlQUFlLEdBQUcsWUFBWSxDQUFBO0FBRTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUNVLFFBQUEsYUFBYSxHQUFHLElBQUEsMEJBQVUsRUFDckMsdUJBQWUsRUFDZixLQUFLLEVBQ0gsS0FBeUIsRUFDekIsRUFBRSxTQUFTLEVBQUUsRUFDK0IsRUFBRTtJQUM5QyxNQUFNLEVBQ0osUUFBUSxFQUNSLFlBQVksRUFDWixXQUFXLEVBQ1gsU0FBUyxHQUNWLEdBQUcsS0FBSyxDQUFBO0lBRVQsMkJBQTJCO0lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLDRCQUFZLENBQUM7WUFDdEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxLQUFLLEVBQUUsb0NBQW9DO1NBQzVDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSw0QkFBWSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsS0FBSyxFQUFFLDRDQUE0QztTQUNwRCxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSx5QkFBeUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUNqRCxlQUFPLENBQUMsWUFBWSxDQUNyQixDQUFBO1FBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBQSwwQkFBZ0IsRUFDcEMsU0FBUyxFQUNULDZDQUE2QyxDQUM5QyxDQUFBO1FBRUQsTUFBTSxZQUFZLEdB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
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1lbWFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvbm90aWZpY2F0aW9ucy9zdGVwcy9zZW5kLWVtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUcwQztBQUMxQywyQ0FBNkM7QUFDN0MscURBQW1EO0FBOEJ0QyxRQUFBLGVBQWUsR0FBRyxZQUFZLENBQUE7QUFFM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFDVSxRQUFBLGFBQWEsR0FBRyxJQUFBLDBCQUFVLEVBQ3JDLHVCQUFlLEVBQ2YsS0FBSyxFQUNILEtBQXlCLEVBQ3pCLEVBQUUsU0FBUyxFQUFFLEVBQytCLEVBQUU7SUFDOUMsTUFBTSxFQUNKLE9BQU8sRUFDUCxZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsR0FDVixHQUFHLEtBQUssQ0FBQTtJQUVULDJCQUEyQjtJQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLE9BQU8sSUFBSSw0QkFBWSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsS0FBSyxFQUFFLG9DQUFvQztTQUM1QyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNoQixPQUFPLElBQUksNEJBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsS0FBSztZQUNkLEtBQUssRUFBRSw0Q0FBNEM7U0FDcEQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDakQsZUFBTyxDQUFDLFlBQVksQ0FDckIsQ0FBQTtRQUVELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUE7UUFDekMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQTtRQUNyQixNQUFNLE1BQU0s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
@@ -29,24 +29,23 @@ exports.sendSlackStepId = "send-slack";
29
29
  * ```
30
30
  */
31
31
  exports.sendSlackStep = (0, workflows_sdk_1.createStep)(exports.sendSlackStepId, async (input, { container }) => {
32
- const { settings, context, contextType, eventName } = input;
32
+ const { options, context, contextType, eventName } = input;
33
33
  // Validate required config
34
- if (!settings.template) {
34
+ if (!options.templateName) {
35
35
  return new workflows_sdk_1.StepResponse({
36
36
  success: false,
37
- error: "template is required in config",
37
+ error: "templateName is required in config",
38
38
  });
39
39
  }
40
40
  try {
41
41
  const notificationModuleService = container.resolve(utils_1.Modules.NOTIFICATION);
42
- const template = settings.template;
43
- const to = settings.to || "slack-channel";
44
- const locale = settings.locale || "pl";
45
- const resourceId = settings.resourceId || "unknown";
46
- const resourceType = settings.resourceType || "slack.notification";
47
- const channel = settings.channel || "slack";
48
- const triggerType = settings.triggerType || "system";
49
- const backendUrl = settings.backendUrl || "";
42
+ const templateName = options.templateName;
43
+ const to = options.to || "slack-channel";
44
+ const locale = options.locale || "pl";
45
+ const resourceId = options.resourceId || "unknown";
46
+ const resourceType = options.resourceType || "slack.notification";
47
+ const channel = "slack";
48
+ const triggerType = options.triggerType || "system";
50
49
  // Use action handler for template rendering
51
50
  const mpnAutomationService = container.resolve("mpnAutomation");
52
51
  const slackHandler = mpnAutomationService.getActionHandler("slack");
@@ -54,19 +53,19 @@ exports.sendSlackStep = (0, workflows_sdk_1.createStep)(exports.sendSlackStepId,
54
53
  throw new utils_2.MedusaError(utils_2.MedusaError.Types.NOT_FOUND, `Slack action handler not found or does not support template rendering`);
55
54
  }
56
55
  const { text, blocks } = await slackHandler.handler.renderTemplate({
57
- templateName: template,
56
+ templateName: templateName,
58
57
  context: context,
59
58
  contextType: contextType,
60
59
  options: {
61
- locale: locale,
62
- backendUrl: backendUrl,
60
+ locale: locale
63
61
  },
62
+ container: container
64
63
  });
65
64
  // Send notification
66
65
  const notificationResult = await notificationModuleService.createNotifications({
67
66
  to: to,
68
67
  channel: channel,
69
- template: template,
68
+ template: templateName,
70
69
  trigger_type: triggerType,
71
70
  resource_id: resourceId,
72
71
  resource_type: resourceType,
@@ -91,4 +90,4 @@ exports.sendSlackStep = (0, workflows_sdk_1.createStep)(exports.sendSlackStepId,
91
90
  });
92
91
  }
93
92
  });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1zbGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvbm90aWZpY2F0aW9ucy9zdGVwcy9zZW5kLXNsYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUcwQztBQUMxQyxxREFBbUQ7QUFHbkQsMkNBQTZDO0FBNkJoQyxRQUFBLGVBQWUsR0FBRyxZQUFZLENBQUE7QUFFM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDVSxRQUFBLGFBQWEsR0FBRyxJQUFBLDBCQUFVLEVBQ3JDLHVCQUFlLEVBQ2YsS0FBSyxFQUNILEtBQXlCLEVBQ3pCLEVBQUUsU0FBUyxFQUFFLEVBQytCLEVBQUU7SUFDOUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUNqRCxLQUFLLENBQUE7SUFFUCwyQkFBMkI7SUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksNEJBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsS0FBSztZQUNkLEtBQUssRUFBRSxnQ0FBZ0M7U0FDeEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDakQsZUFBTyxDQUFDLFlBQVksQ0FDckIsQ0FBQTtRQUVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUE7UUFDbEMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsSUFBSSxlQUFlLENBQUE7UUFDekMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUE7UUFDdEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUE7UUFDbkQsTUFBTSxZQUFZLEdBQ2hCLFFBQVEsQ0FBQyxZQUFZLElBQUksb0JBQW9CLENBQUE7UUFDL0MsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUE7UUFDM0MsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUE7UUFDcEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUE7UUFFNUMsNENBQTRDO1FBQzVDLE1BQU0sb0JBQW9CLEdBQ3hCLFNBQVMsQ0FBQyxPQUFPLENBQ2YsZUFBZSxDQUNoQixDQUFBO1FBQ0gsTUFBTSxZQUFZLEdBQ2hCLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRWhELElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLHVFQUF1RSxDQUN4RSxDQUFBO1FBQ0gsQ0FBQztRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQ3BCLE1BQU0sWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFDeEMsWUFBWSxFQUFFLFFBQVE7WUFDdEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsV0FBVyxFQUFFLFdBQVc7WUFDeEIsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFVBQVUsRUFBRSxVQUFVO2FBQ3ZCO1NBQ0YsQ0FBQyxDQUFBO1FBRUosb0JBQW9CO1FBQ3BCLE1BQU0sa0JBQWtCLEdBQ3RCLE1BQU0seUJBQXlCLENBQUMsbUJBQW1CLENBQ2pEO1lBQ0UsRUFBRSxFQUFFLEVBQUU7WUFDTixPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsUUFBUTtZQUNsQixZQUFZLEVBQUUsV0FBVztZQUN6QixXQUFXLEVBQUUsVUFBVTtZQUN2QixhQUFhLEVBQUUsWUFBWTtZQUMzQixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPO2FBQ1g7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsTUFBTTthQUNxQjtTQUM5QixDQUNGLENBQUE7UUFFSCxPQUFPLElBQUksNEJBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsSUFBSTtZQUNiLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxFQUFFO1NBQ3ZDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDN0MsT0FBTyxJQUFJLDRCQUFZLENBQUM7WUFDdEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSx3QkFBd0I7U0FDbEQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBIn0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1zbGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvbm90aWZpY2F0aW9ucy9zdGVwcy9zZW5kLXNsYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUcwQztBQUMxQyxxREFBbUQ7QUFDbkQsMkNBQTZDO0FBOEJoQyxRQUFBLGVBQWUsR0FBRyxZQUFZLENBQUE7QUFFM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDVSxRQUFBLGFBQWEsR0FBRyxJQUFBLDBCQUFVLEVBQ3JDLHVCQUFlLEVBQ2YsS0FBSyxFQUNILEtBQXlCLEVBQ3pCLEVBQUUsU0FBUyxFQUFFLEVBQytCLEVBQUU7SUFDOUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUNoRCxLQUFLLENBQUE7SUFFUCwyQkFBMkI7SUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksNEJBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsS0FBSztZQUNkLEtBQUssRUFBRSxvQ0FBb0M7U0FDNUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDakQsZUFBTyxDQUFDLFlBQVksQ0FDckIsQ0FBQTtRQUVELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUE7UUFDekMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsSUFBSSxlQUFlLENBQUE7UUFDeEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUE7UUFDckMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUE7UUFDbEQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxvQkFBb0IsQ0FBQTtRQUNqRSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdkIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUE7UUFFbkQsNENBQTRDO1FBQzVDLE1BQU0sb0JBQW9CLEdBQ3hCLFNBQVMsQ0FBQyxPQUFPLENBQ2YsZUFBZSxDQUNoQixDQUFBO1FBQ0gsTUFBTSxZQUFZLEdBQ2hCLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRWhELElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLHVFQUF1RSxDQUN4RSxDQUFBO1FBQ0gsQ0FBQztRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQ3BCLE1BQU0sWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFDeEMsWUFBWSxFQUFFLFlBQVk7WUFDMUIsT0FBTyxFQUFFLE9BQU87WUFDaEIsV0FBVyxFQUFFLFdBQVc7WUFDeEIsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSxNQUFNO2FBQ2Y7WUFDRCxTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDLENBQUE7UUFFSixvQkFBb0I7UUFDcEIsTUFBTSxrQkFBa0IsR0FDdEIsTUFBTSx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FDakQ7WUFDRSxFQUFFLEVBQUUsRUFBRTtZQUNOLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFlBQVksRUFBRSxXQUFXO1lBQ3pCLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLElBQUksRUFBRTtnQkFDSixHQUFHLE9BQU87YUFDWDtZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsSUFBSTtnQkFDVixNQUFNO2FBQ3FCO1NBQzlCLENBQ0YsQ0FBQTtRQUVILE9BQU8sSUFBSSw0QkFBWSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsY0FBYyxFQUFFLGtCQUFrQixFQUFFLEVBQUU7U0FDdkMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUM3QyxPQUFPLElBQUksNEJBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsS0FBSztZQUNkLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLHdCQUF3QjtTQUNsRCxDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUNGLENBQUEifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codee-sh/medusa-plugin-automations",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "Medusa plugin for automations.",
5
5
  "author": "Codee (https://codee.dev)",
6
6
  "license": "MIT",
@@ -49,11 +49,12 @@
49
49
  "changeset": "changeset",
50
50
  "version": "changeset version",
51
51
  "release": "changeset publish",
52
- "release:manual": "npm run build && npm publish --access public"
52
+ "release:manual": "npm run build && npm publish --access public",
53
+ "prepare-release": "bash scripts/prepare-release.sh"
53
54
  },
54
55
  "devDependencies": {
55
56
  "@changesets/cli": "^2.29.8",
56
- "@codee-sh/medusa-plugin-notification-emails": "0.2.1",
57
+ "@codee-sh/medusa-plugin-notification-emails": "1.0.0",
57
58
  "@medusajs/admin-sdk": "2.8.8",
58
59
  "@medusajs/cli": "2.8.8",
59
60
  "@medusajs/framework": "2.8.8",
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseActionService = void 0;
4
- const utils_1 = require("@medusajs/framework/utils");
5
- /**
6
- * Base action service class
7
- *
8
- * @param id - Action ID (default: "base")
9
- * @param label - Action label (default: "Base")
10
- * @param description - Action description (default: "")
11
- * @param configComponentKey - Action config component key (default: "BaseConfigComponent")
12
- * @param fields - Action fields (default: [])
13
- */
14
- class BaseActionService {
15
- constructor() {
16
- this.id = "base";
17
- this.label = "Base";
18
- this.description = "";
19
- this.configComponentKey = "BaseConfigComponent";
20
- // Fields for the action configuration rendered in the admin panel then saved in the action config
21
- this.fields = [];
22
- // Template registry - each service manages its own templates
23
- this.templates_ = new Map();
24
- }
25
- /**
26
- * Register a template for this service
27
- * @param name - Template name
28
- * @param renderer - Template renderer function
29
- */
30
- registerTemplate(name, renderer) {
31
- this.templates_.set(name, renderer);
32
- }
33
- /**
34
- * Get template renderer by name
35
- * @param name - Template name
36
- * @returns Template renderer or undefined
37
- */
38
- getTemplate(name) {
39
- return this.templates_.get(name);
40
- }
41
- /**
42
- * Initialize default templates (override in subclasses)
43
- * Called automatically in constructor
44
- */
45
- initializeTemplates() {
46
- // Override in subclasses to register default templates
47
- }
48
- /**
49
- * Helper method to add templateName field to fields array
50
- * Call this in constructor or fields initialization if you need template selection
51
- *
52
- * @param options - Template options array (will be populated dynamically by service if eventName is provided)
53
- * @param defaultValue - Default template value
54
- * @returns FieldConfig for template
55
- */
56
- addTemplateNameField(options = [], defaultValue) {
57
- return {
58
- name: "templateName",
59
- key: "templateName",
60
- label: "Template Name",
61
- type: "select",
62
- required: true,
63
- options: options,
64
- defaultValue: defaultValue,
65
- };
66
- }
67
- /**
68
- * Function that executes the action in the workflow actions
69
- *
70
- * @param trigger - Trigger object
71
- * @param action - Action object
72
- * @param context - Context object
73
- * @param container - Container object
74
- * @param eventName - Event name
75
- * @param contextType - Context type determining structure of data in context
76
- * @returns object with actionId, actionType and success status
77
- */
78
- async executeAction({ trigger, action, context, container, eventName, contextType, }) {
79
- const eventBusService = container.resolve(utils_1.Modules.EVENT_BUS);
80
- await eventBusService.emit({
81
- name: eventName,
82
- data: {
83
- eventName: eventName,
84
- action: action,
85
- trigger: trigger.id,
86
- context: context,
87
- contextType: contextType,
88
- },
89
- });
90
- return {
91
- actionId: action.id,
92
- actionType: action.action_type,
93
- success: true,
94
- };
95
- }
96
- }
97
- exports.BaseActionService = BaseActionService;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hY3Rpb24tc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL21wbi1hdXRvbWF0aW9uL3NlcnZpY2VzL2Jhc2UtYWN0aW9uLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEscURBQW1EO0FBRW5EOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSxpQkFBaUI7SUFBOUI7UUFDRSxPQUFFLEdBQUcsTUFBTSxDQUFBO1FBQ1gsVUFBSyxHQUFHLE1BQU0sQ0FBQTtRQUNkLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBRWhCLHVCQUFrQixHQUFHLHFCQUFxQixDQUFBO1FBRTFDLGtHQUFrRztRQUNsRyxXQUFNLEdBQWtCLEVBQUUsQ0FBQTtRQUUxQiw2REFBNkQ7UUFDbkQsZUFBVSxHQUNsQixJQUFJLEdBQUcsRUFBRSxDQUFBO0lBcUdiLENBQUM7SUFuR0M7Ozs7T0FJRztJQUNILGdCQUFnQixDQUNkLElBQVksRUFDWixRQUFhO1FBRWIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLElBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sbUJBQW1CO1FBQzNCLHVEQUF1RDtJQUN6RCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNPLG9CQUFvQixDQUM1QixVQUFrRCxFQUFFLEVBQ3BELFlBQXFCO1FBRXJCLE9BQU87WUFDTCxJQUFJLEVBQUUsY0FBYztZQUNwQixHQUFHLEVBQUUsY0FBYztZQUNuQixLQUFLLEVBQUUsZUFBZTtZQUN0QixJQUFJLEVBQUUsUUFBaUI7WUFDdkIsUUFBUSxFQUFFLElBQUk7WUFDZCxPQUFPLEVBQUUsT0FBTztZQUNoQixZQUFZLEVBQUUsWUFBWTtTQUMzQixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQ2xCLE9BQU8sRUFDUCxNQUFNLEVBQ04sT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxHQVFaO1FBQ0MsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDdkMsZUFBTyxDQUFDLFNBQVMsQ0FDbEIsQ0FBQTtRQUVELE1BQU0sZUFBZSxDQUFDLElBQUksQ0FBQztZQUN6QixJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsU0FBUztnQkFDcEIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNuQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsV0FBVyxFQUFFLFdBQVc7YUFDekI7U0FDRixDQUFDLENBQUE7UUFFRixPQUFPO1lBQ0wsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ25CLFVBQVUsRUFBRSxNQUFNLENBQUMsV0FBVztZQUM5QixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFqSEQsOENBaUhDIn0=
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EmailActionService = void 0;
4
- const base_action_service_1 = require("./base-action-service");
5
- const emails_1 = require("@codee-sh/medusa-plugin-notification-emails/templates/emails");
6
- const utils_1 = require("@codee-sh/medusa-plugin-notification-emails/utils");
7
- class EmailActionService extends base_action_service_1.BaseActionService {
8
- constructor() {
9
- super();
10
- this.id = "email";
11
- this.label = "Email";
12
- this.fields = [
13
- {
14
- name: "to",
15
- key: "to",
16
- label: "To",
17
- type: "email",
18
- required: true,
19
- },
20
- {
21
- name: "subject",
22
- key: "subject",
23
- label: "Subject",
24
- type: "text",
25
- required: true,
26
- },
27
- {
28
- name: "body",
29
- key: "body",
30
- label: "Body",
31
- type: "textarea",
32
- required: true,
33
- },
34
- {
35
- name: "bcc",
36
- key: "bcc",
37
- label: "BCC",
38
- type: "email",
39
- required: false,
40
- },
41
- {
42
- name: "cc",
43
- key: "cc",
44
- label: "CC",
45
- type: "email",
46
- required: false,
47
- },
48
- {
49
- name: "replyTo",
50
- key: "replyTo",
51
- label: "Reply To",
52
- type: "email",
53
- required: false,
54
- },
55
- // Add templateName field - options will be populated dynamically by service based on eventName
56
- this.addTemplateNameField(),
57
- ];
58
- this.initializeTemplates();
59
- }
60
- /**
61
- * Initialize default email templates
62
- * Email templates are managed by @codee-sh/medusa-plugin-notification-emails
63
- * This method can be used to register custom templates if needed
64
- */
65
- initializeTemplates() {
66
- // Email engine already has all prebuild templates registered
67
- // You can register custom templates here if needed:
68
- // emailEngine.registerTemplate("custom-template", {
69
- // ...emailEngine.getBaseTemplate(),
70
- // getConfig: () => ({ blocks: [...], translations: {...} })
71
- // })
72
- }
73
- /**
74
- * Render email template using external plugin
75
- * @param params - Template rendering parameters
76
- * @returns Rendered email template with html, text, and subject
77
- */
78
- async renderTemplate(params) {
79
- const { templateName, context, contextType, options = {} } = params;
80
- const transformedContext = (0, utils_1.transformContext)(contextType, context);
81
- const result = await emails_1.emailService.render({
82
- templateName,
83
- data: transformedContext,
84
- options: options || {},
85
- });
86
- return {
87
- html: result.html,
88
- text: result.text,
89
- subject: result.subject,
90
- };
91
- }
92
- }
93
- exports.EmailActionService = EmailActionService;
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtYWN0aW9uLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tcG4tYXV0b21hdGlvbi9zZXJ2aWNlcy9lbWFpbC1hY3Rpb24tc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrREFBeUQ7QUFDekQseUZBQTJGO0FBQzNGLDZFQUFvRjtBQVFwRixNQUFhLGtCQUFtQixTQUFRLHVDQUFpQjtJQUl2RDtRQUNFLEtBQUssRUFBRSxDQUFBO1FBSlQsT0FBRSxHQUFHLE9BQU8sQ0FBQTtRQUNaLFVBQUssR0FBRyxPQUFPLENBQUE7UUFPZixXQUFNLEdBQWtCO1lBQ3RCO2dCQUNFLElBQUksRUFBRSxJQUFJO2dCQUNWLEdBQUcsRUFBRSxJQUFJO2dCQUNULEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRSxPQUFnQjtnQkFDdEIsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLEdBQUcsRUFBRSxTQUFTO2dCQUNkLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsTUFBZTtnQkFDckIsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxNQUFNO2dCQUNiLElBQUksRUFBRSxVQUFtQjtnQkFDekIsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxLQUFLO2dCQUNYLEdBQUcsRUFBRSxLQUFLO2dCQUNWLEtBQUssRUFBRSxLQUFLO2dCQUNaLElBQUksRUFBRSxPQUFnQjtnQkFDdEIsUUFBUSxFQUFFLEtBQUs7YUFDaEI7WUFDRDtnQkFDRSxJQUFJLEVBQUUsSUFBSTtnQkFDVixHQUFHLEVBQUUsSUFBSTtnQkFDVCxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsT0FBZ0I7Z0JBQ3RCLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsR0FBRyxFQUFFLFNBQVM7Z0JBQ2QsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLElBQUksRUFBRSxPQUFnQjtnQkFDdEIsUUFBUSxFQUFFLEtBQUs7YUFDaEI7WUFDRCwrRkFBK0Y7WUFDL0YsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1NBQzVCLENBQUE7UUFoREMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7SUFDNUIsQ0FBQztJQWlERDs7OztPQUlHO0lBQ08sbUJBQW1CO1FBQzNCLDZEQUE2RDtRQUM3RCxvREFBb0Q7UUFDcEQsb0RBQW9EO1FBQ3BELHNDQUFzQztRQUN0Qyw4REFBOEQ7UUFDOUQsS0FBSztJQUNQLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUtwQjtRQUtDLE1BQU0sRUFDSixZQUFZLEVBQ1osT0FBTyxFQUNQLFdBQVcsRUFDWCxPQUFPLEdBQUcsRUFBRSxFQUNiLEdBQUcsTUFBTSxDQUFBO1FBRVYsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLHdCQUFnQixFQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUVqRSxNQUFNLE1BQU0sR0FBRyxNQUFNLHFCQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3ZDLFlBQVk7WUFDWixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtTQUN2QixDQUFDLENBQUE7UUFFRixPQUFPO1lBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87U0FDeEIsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQTFHRCxnREEwR0MifQ==
@@ -1,15 +0,0 @@
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.EmailActionService = exports.SlackActionService = exports.BaseActionService = exports.MpnAutomationService = void 0;
7
- const service_1 = __importDefault(require("./service"));
8
- Object.defineProperty(exports, "MpnAutomationService", { enumerable: true, get: function () { return service_1.default; } });
9
- var base_action_service_1 = require("./base-action-service");
10
- Object.defineProperty(exports, "BaseActionService", { enumerable: true, get: function () { return base_action_service_1.BaseActionService; } });
11
- var slack_action_service_1 = require("./slack-action-service");
12
- Object.defineProperty(exports, "SlackActionService", { enumerable: true, get: function () { return slack_action_service_1.SlackActionService; } });
13
- var email_action_service_1 = require("./email-action-service");
14
- Object.defineProperty(exports, "EmailActionService", { enumerable: true, get: function () { return email_action_service_1.EmailActionService; } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tcG4tYXV0b21hdGlvbi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3REFBMkQ7QUFDbEQscUdBRFcsaUJBQW9CLE9BQ1g7QUFFN0IsNkRBQXlEO0FBQWhELHdIQUFBLGlCQUFpQixPQUFBO0FBQzFCLCtEQUEyRDtBQUFsRCwwSEFBQSxrQkFBa0IsT0FBQTtBQUMzQiwrREFBMkQ7QUFBbEQsMEhBQUEsa0JBQWtCLE9BQUEifQ==