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

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 (34) 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/README.md +22 -12
  29. package/package.json +5 -3
  30. package/.medusa/server/src/modules/mpn-automation/services/base-action-service.js +0 -98
  31. package/.medusa/server/src/modules/mpn-automation/services/email-action-service.js +0 -94
  32. package/.medusa/server/src/modules/mpn-automation/services/index.js +0 -15
  33. package/.medusa/server/src/modules/mpn-automation/services/service.js +0 -356
  34. 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/README.md CHANGED
@@ -1,16 +1,17 @@
1
1
  # Medusa plugin automations
2
2
 
3
- A comprehensive automation plugin for Medusa v2 that provides a flexible rule-based automation system with triggers, conditions, and actions. Create automated workflows that can send notifications (email, Slack), execute custom actions, or trigger other processes based on events, schedules, or manual triggers with customizable rules.
3
+ Automation plugin for Medusa v2 with rule-based
4
+ triggers and actions for notifications and workflows.
4
5
 
5
6
  ## Features
6
7
 
7
- - **Automation Triggers**: Create automations triggered by events, schedules, or manual actions ([see details](#automation-triggers))
8
- - **Rule-Based Conditions**: Define complex conditions with support for arrays, relations, and multiple data types ([see details](#rules-and-conditions))
9
- - **Rich Attribute Support**: Pre-configured attributes for Products, Variants, Tags, Categories, and Inventory ([see available attributes](./docs/configuration.md#available-attributes-reference))
10
- - **Multiple Action Types**: Execute various actions including email notifications, Slack messages, SMS, push notifications, and custom actions ([see details](#actions))
11
- - **Event Subscribers**: Built-in subscribers for common Medusa events ([see available events](./docs/configuration.md#available-subscribers))
8
+ - **Automation Triggers**: Events, schedules, or manual actions ([see details](#automation-triggers))
9
+ - **Rule-Based Conditions**: Arrays, relations, and multiple data types ([see details](#rules-and-conditions))
10
+ - **Rich Attribute Support**: Products, Variants, Tags, Categories, Inventory ([see available attributes](./docs/attributes.md))
11
+ - **Multiple Action Types**: Email, Slack, and custom actions ([see details](#actions))
12
+ - **Event Subscribers**: Built-in subscribers for common Medusa events ([see available events](./docs/available-subscribers.md))
12
13
  - **Admin Panel**: Manage automations directly from Medusa Admin ([see details](#admin-panel))
13
- - **Extensible**: Add custom action handlers and extend automation capabilities
14
+ - **Extensible**: Add custom action handlers
14
15
  - **Type-Safe**: Full TypeScript support with exported types and workflows
15
16
 
16
17
  ## Compatibility
@@ -64,19 +65,20 @@ Navigate to **Notifications > Automations** in your Medusa Admin dashboard, or d
64
65
 
65
66
  Automations are triggered by:
66
67
  - **Events**: Medusa events (e.g., `inventory.inventory-level.updated`, `product.updated`)
67
- - **Schedule**: Time-based triggers with configurable intervals (In progress)
68
+ - **Schedule**: Time-based triggers with configurable intervals
68
69
  - **Manual**: Triggered manually from the admin panel
69
70
 
70
- See [Available Subscribers](./docs/configuration.md#available-subscribers) in the configuration documentation for a complete list of supported events.
71
+ See [Available Subscribers](./docs/available-subscribers.md) for a complete list of supported events.
71
72
 
72
73
  ### Rules and Conditions
73
74
 
74
75
  Each automation can have multiple rules that define when actions should be executed. Rules support primitive fields, relations (arrays), nested objects, and various operators for complex conditions.
75
76
 
76
77
  For detailed information, see:
77
- - [Available Attributes Reference](./docs/configuration.md#available-attributes-reference) - Complete list of attributes for each event type
78
- - [Rule Operators](./docs/configuration.md#rule-operators) - All supported operators with examples
78
+ - [Available Attributes Reference](./docs/attributes.md) - Complete list of attributes for each event type
79
+ - [Rule Operators](./docs/rule-operators.md) - All supported operators with examples
79
80
  - [Rule Values](./docs/configuration.md#rule-values) - Supported data types and usage
81
+ - [Custom Action Handlers](./docs/custom-action-handlers.md) - Extend actions with custom handlers
80
82
 
81
83
  ### Actions
82
84
 
@@ -88,6 +90,9 @@ When automation rules pass, actions are executed. Supported action types include
88
90
 
89
91
  See [Actions](./docs/configuration.md#actions) and [Slack Notification Provider](./docs/configuration.md#slack-notification-provider) in the configuration documentation for details on configuring and extending actions.
90
92
 
93
+ Email and Slack templates are rendered by
94
+ `@codee-sh/medusa-plugin-notification-emails`.
95
+
91
96
  ## Admin Panel
92
97
 
93
98
  Access the automations management interface in Medusa Admin at `/app/notifications/automations`. See [Admin Panel Documentation](./docs/admin.md) for details.
@@ -114,7 +119,7 @@ The plugin exports the following:
114
119
 
115
120
  ## Related Plugins
116
121
 
117
- For email templates and rendering functionality, see [@codee-sh/medusa-plugin-automations-emails](https://github.com/codee-sh/medusa-plugin-notification-emails).
122
+ For email and Slack template rendering, see [@codee-sh/medusa-plugin-notification-emails](https://github.com/codee-sh/medusa-plugin-notification-emails).
118
123
 
119
124
  ## License
120
125
 
@@ -123,3 +128,8 @@ MIT
123
128
  ## Author
124
129
 
125
130
  Codee Team - [https://codee.dev](https://codee.dev)
131
+
132
+ ## See Also
133
+
134
+ - [Configuration](./docs/configuration.md)
135
+ - [Admin Panel](./docs/admin.md)
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.11",
4
4
  "description": "Medusa plugin for automations.",
5
5
  "author": "Codee (https://codee.dev)",
6
6
  "license": "MIT",
@@ -49,11 +49,13 @@
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",
54
+ "pr:create": "bash scripts/create-pr.sh"
53
55
  },
54
56
  "devDependencies": {
55
57
  "@changesets/cli": "^2.29.8",
56
- "@codee-sh/medusa-plugin-notification-emails": "0.2.1",
58
+ "@codee-sh/medusa-plugin-notification-emails": "1.0.2",
57
59
  "@medusajs/admin-sdk": "2.8.8",
58
60
  "@medusajs/cli": "2.8.8",
59
61
  "@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==