@codee-sh/medusa-plugin-automations 1.0.2 → 1.0.4
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.
- package/.medusa/server/src/admin/_chunks/{__admin-extensions__-rqdPN7M1 → __admin-extensions__-BD2AvjDH} +76 -66
- package/.medusa/server/src/admin/_chunks/{__admin-extensions__-DIB2k6nJ → __admin-extensions__-BxUQA9oD} +76 -66
- package/.medusa/server/src/admin/_chunks/{base-config-DbRWuXsL → base-config-ON0ZG0Je} +2 -3
- package/.medusa/server/src/admin/_chunks/{base-config-ro-vFPBg → base-config-XI6iR6Jp} +2 -3
- package/.medusa/server/src/admin/index.js +1 -1
- package/.medusa/server/src/admin/index.mjs +1 -1
- package/.medusa/server/src/api/admin/mpn/automations/available-actions/route.js +4 -2
- package/.medusa/server/src/api/admin/mpn/automations/rules/route.js +1 -1
- package/.medusa/server/src/api/middlewares.js +1 -2
- package/.medusa/server/src/hooks/api/automations-actions/automations-actions.js +1 -3
- package/.medusa/server/src/hooks/api/automations-rules/automations-rules.js +1 -3
- package/.medusa/server/src/hooks/api/available-actions/actions.js +5 -2
- package/.medusa/server/src/hooks/api/available-events/events.js +1 -1
- package/.medusa/server/src/modules/mpn-automation/actions-handlers/base-action-handler.js +43 -2
- package/.medusa/server/src/modules/mpn-automation/actions-handlers/email-action-handler.js +3 -15
- package/.medusa/server/src/modules/mpn-automation/actions-handlers/slack-action-handler.js +3 -29
- package/.medusa/server/src/modules/mpn-automation/services/service.js +221 -30
- package/.medusa/server/src/modules/mpn-automation/types/modules/index.js +76 -0
- package/.medusa/server/src/modules/mpn-automation/types/modules/inventory/index.js +18 -0
- package/.medusa/server/src/modules/mpn-automation/types/modules/inventory/inventory.js +56 -0
- package/.medusa/server/src/modules/mpn-automation/types/types.js +2 -136
- package/.medusa/server/src/providers/slack/service.js +6 -58
- package/.medusa/server/src/subscribers/inventory-level-updated.js +2 -1
- package/.medusa/server/src/subscribers/inventory-reservation-item-updated.js +3 -3
- package/.medusa/server/src/subscribers/mpn.automation.action.email.executed.js +6 -5
- package/.medusa/server/src/subscribers/mpn.automation.action.slack.executed.js +12 -8
- package/.medusa/server/src/subscribers/order-placed.js +9 -106
- package/.medusa/server/src/templates/slack/index.js +40 -0
- package/.medusa/server/src/templates/slack/inventory-level/index.js +18 -0
- package/.medusa/server/src/templates/slack/inventory-level/inventory-level.js +95 -0
- package/.medusa/server/src/templates/slack/inventory-level/translations/en.json +18 -0
- package/.medusa/server/src/templates/slack/inventory-level/translations/index.js +15 -0
- package/.medusa/server/src/templates/slack/inventory-level/translations/pl.json +18 -0
- package/.medusa/server/src/templates/slack/types.js +7 -0
- package/.medusa/server/src/utils/i18n/i18n.js +127 -0
- package/.medusa/server/src/utils/i18n/index.js +18 -0
- package/.medusa/server/src/utils/index.js +2 -1
- package/.medusa/server/src/utils/validate-rules.js +1 -1
- package/.medusa/server/src/workflows/inventory/steps/get-inventory-level-by-id.js +23 -6
- package/.medusa/server/src/workflows/mpn-automation/index.js +3 -2
- package/.medusa/server/src/workflows/mpn-automation/run-automation.js +2 -1
- package/.medusa/server/src/workflows/mpn-automation/{send-email-action.js → run-email-action.js} +8 -7
- package/.medusa/server/src/workflows/mpn-automation/run-slack-action.js +67 -0
- package/.medusa/server/src/workflows/mpn-automation/steps/edit-automation-actions.js +16 -5
- package/.medusa/server/src/workflows/mpn-automation/steps/retrieve-automation-triggers-by-event.js +1 -1
- package/.medusa/server/src/workflows/mpn-automation/steps/run-automation-actions.js +3 -2
- package/.medusa/server/src/workflows/notifications/send-email.js +2 -1
- package/.medusa/server/src/workflows/notifications/send-slack.js +2 -1
- package/.medusa/server/src/workflows/notifications/steps/send-email.js +3 -2
- package/.medusa/server/src/workflows/notifications/steps/send-slack.js +19 -5
- package/package.json +2 -3
- package/.medusa/server/src/workflows/mpn-automation/send-slack-action.js +0 -69
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.sendSlackStep = exports.sendSlackStepId = void 0;
|
|
4
4
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
5
|
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const slack_1 = require("../../../templates/slack");
|
|
6
7
|
exports.sendSlackStepId = "send-slack";
|
|
7
8
|
/**
|
|
8
9
|
* Universal step that sends a slack notification.
|
|
@@ -28,7 +29,7 @@ exports.sendSlackStepId = "send-slack";
|
|
|
28
29
|
* ```
|
|
29
30
|
*/
|
|
30
31
|
exports.sendSlackStep = (0, workflows_sdk_1.createStep)(exports.sendSlackStepId, async (input, { container }) => {
|
|
31
|
-
const { settings, context, eventName } = input;
|
|
32
|
+
const { settings, context, contextType, eventName } = input;
|
|
32
33
|
// Validate required config
|
|
33
34
|
if (!settings.template) {
|
|
34
35
|
return new workflows_sdk_1.StepResponse({
|
|
@@ -41,11 +42,20 @@ exports.sendSlackStep = (0, workflows_sdk_1.createStep)(exports.sendSlackStepId,
|
|
|
41
42
|
const template = settings.template;
|
|
42
43
|
const to = settings.to || "slack-channel";
|
|
43
44
|
const locale = settings.locale || "pl";
|
|
44
|
-
const customSubject = settings.subject;
|
|
45
45
|
const resourceId = settings.resourceId || "unknown";
|
|
46
|
-
const resourceType = settings.resourceType || "
|
|
46
|
+
const resourceType = settings.resourceType || "slack.notification";
|
|
47
47
|
const channel = settings.channel || "slack";
|
|
48
48
|
const triggerType = settings.triggerType || "system";
|
|
49
|
+
const backendUrl = settings.backendUrl || "";
|
|
50
|
+
const { text, blocks } = (0, slack_1.renderSlackTemplate)({
|
|
51
|
+
templateName: template,
|
|
52
|
+
context: context,
|
|
53
|
+
contextType: contextType,
|
|
54
|
+
options: {
|
|
55
|
+
locale: locale,
|
|
56
|
+
backendUrl: backendUrl,
|
|
57
|
+
},
|
|
58
|
+
});
|
|
49
59
|
// Send notification
|
|
50
60
|
const notificationResult = await notificationModuleService.createNotifications({
|
|
51
61
|
to: to,
|
|
@@ -53,10 +63,14 @@ exports.sendSlackStep = (0, workflows_sdk_1.createStep)(exports.sendSlackStepId,
|
|
|
53
63
|
template: template,
|
|
54
64
|
trigger_type: triggerType,
|
|
55
65
|
resource_id: resourceId,
|
|
56
|
-
resource_type:
|
|
66
|
+
resource_type: resourceType,
|
|
57
67
|
data: {
|
|
58
68
|
...context,
|
|
59
69
|
},
|
|
70
|
+
content: {
|
|
71
|
+
text: text,
|
|
72
|
+
blocks,
|
|
73
|
+
},
|
|
60
74
|
});
|
|
61
75
|
return new workflows_sdk_1.StepResponse({
|
|
62
76
|
success: true,
|
|
@@ -71,4 +85,4 @@ exports.sendSlackStep = (0, workflows_sdk_1.createStep)(exports.sendSlackStepId,
|
|
|
71
85
|
});
|
|
72
86
|
}
|
|
73
87
|
});
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1zbGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvbm90aWZpY2F0aW9ucy9zdGVwcy9zZW5kLXNsYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUcwQztBQUMxQyxxREFBbUQ7QUFDbkQsb0RBQThEO0FBK0JqRCxRQUFBLGVBQWUsR0FBRyxZQUFZLENBQUE7QUFFM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDVSxRQUFBLGFBQWEsR0FBRyxJQUFBLDBCQUFVLEVBQ3JDLHVCQUFlLEVBQ2YsS0FBSyxFQUNILEtBQXlCLEVBQ3pCLEVBQUUsU0FBUyxFQUFFLEVBQytCLEVBQUU7SUFDOUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUUzRCwyQkFBMkI7SUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksNEJBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsS0FBSztZQUNkLEtBQUssRUFBRSxnQ0FBZ0M7U0FDeEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDakQsZUFBTyxDQUFDLFlBQVksQ0FDckIsQ0FBQTtRQUVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUE7UUFDbEMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsSUFBSSxlQUFlLENBQUE7UUFDekMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUE7UUFDdEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUE7UUFDbkQsTUFBTSxZQUFZLEdBQ2hCLFFBQVEsQ0FBQyxZQUFZLElBQUksb0JBQW9CLENBQUE7UUFDL0MsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUE7UUFDM0MsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUE7UUFDcEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUE7UUFFNUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFBLDJCQUFtQixFQUFDO1lBQzNDLFlBQVksRUFBRSxRQUFRO1lBQ3RCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLE9BQU8sRUFBRTtnQkFDVCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxVQUFVLEVBQUUsVUFBVTthQUNyQjtTQUNGLENBQUMsQ0FBQTtRQUVGLG9CQUFvQjtRQUNwQixNQUFNLGtCQUFrQixHQUN0QixNQUFNLHlCQUF5QixDQUFDLG1CQUFtQixDQUNqRDtZQUNFLEVBQUUsRUFBRSxFQUFFO1lBQ04sT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsWUFBWSxFQUFFLFdBQVc7WUFDekIsV0FBVyxFQUFFLFVBQVU7WUFDdkIsYUFBYSxFQUFFLFlBQVk7WUFDM0IsSUFBSSxFQUFFO2dCQUNKLEdBQUcsT0FBTzthQUNYO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU07YUFDcUI7U0FDOUIsQ0FDRixDQUFBO1FBRUgsT0FBTyxJQUFJLDRCQUFZLENBQUM7WUFDdEIsT0FBTyxFQUFFLElBQUk7WUFDYixjQUFjLEVBQUUsa0JBQWtCLEVBQUUsRUFBRTtTQUN2QyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzdDLE9BQU8sSUFBSSw0QkFBWSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLElBQUksd0JBQXdCO1NBQ2xELENBQUMsQ0FBQTtJQUNKLENBQUM7QUFDSCxDQUFDLENBQ0YsQ0FBQSJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codee-sh/medusa-plugin-automations",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Medusa plugin for automations.",
|
|
5
5
|
"author": "Codee (https://codee.dev)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -69,6 +69,5 @@
|
|
|
69
69
|
},
|
|
70
70
|
"engines": {
|
|
71
71
|
"node": ">=20"
|
|
72
|
-
}
|
|
73
|
-
"packageManager": "yarn@3.2.3+sha512.f26f951f67de0c6a33ee381e5ff364709c87e70eb5e65c694e4facde3512f1fa80b8679e6ba31ce7d340fbb46f08dd683af9457e240f25a204be7427940d767e"
|
|
72
|
+
}
|
|
74
73
|
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sendSlackActionWorkflow = exports.sendSlackActionWorkflowId = void 0;
|
|
4
|
-
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
-
const send_slack_1 = require("../notifications/send-slack");
|
|
6
|
-
exports.sendSlackActionWorkflowId = "send-slack-action";
|
|
7
|
-
/**
|
|
8
|
-
* Workflow wrapper for automation system that sends an email notification.
|
|
9
|
-
*
|
|
10
|
-
* This is a convenience wrapper around the universal sendEmailWorkflow,
|
|
11
|
-
* specifically designed for use with automation actions.
|
|
12
|
-
*
|
|
13
|
-
* It extracts configuration from action.config and context, then calls
|
|
14
|
-
* the universal sendEmailWorkflow.
|
|
15
|
-
*
|
|
16
|
-
* Configuration is stored in action.config:
|
|
17
|
-
* - templateName: Required - Name of the email template
|
|
18
|
-
* - to: Required - Recipient email address
|
|
19
|
-
* - locale: Optional - Locale for translations (default: "pl")
|
|
20
|
-
* - customTemplate: Optional - Path to custom template function
|
|
21
|
-
* - subject: Optional - Custom subject (otherwise uses template default)
|
|
22
|
-
* - template: Optional - Template identifier for notification (defaults to templateName)
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* const { result } = await sendEmailActionWorkflow(container).run({
|
|
27
|
-
* input: {
|
|
28
|
-
* action: {
|
|
29
|
-
* id: "action_123",
|
|
30
|
-
* action_type: "email",
|
|
31
|
-
* config: {
|
|
32
|
-
* templateName: "inventory-level",
|
|
33
|
-
* to: "admin@example.com",
|
|
34
|
-
* locale: "pl"
|
|
35
|
-
* }
|
|
36
|
-
* },
|
|
37
|
-
* context: {
|
|
38
|
-
* inventory_level: {
|
|
39
|
-
* id: "il_123",
|
|
40
|
-
* stocked_quantity: 5
|
|
41
|
-
* }
|
|
42
|
-
* }
|
|
43
|
-
* }
|
|
44
|
-
* })
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
47
|
-
exports.sendSlackActionWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.sendSlackActionWorkflowId, (input) => {
|
|
48
|
-
// Transform automation action format for sendEmailWorkflow
|
|
49
|
-
const settings = (0, workflows_sdk_1.transform)({ action: input.action, eventName: input.eventName }, (data) => {
|
|
50
|
-
const actionConfig = data?.action?.config || {};
|
|
51
|
-
const eventName = data?.eventName;
|
|
52
|
-
return {
|
|
53
|
-
template: actionConfig?.template,
|
|
54
|
-
resourceId: data?.action?.id,
|
|
55
|
-
resourceType: eventName,
|
|
56
|
-
channel: actionConfig?.channel,
|
|
57
|
-
triggerType: "mpn",
|
|
58
|
-
};
|
|
59
|
-
});
|
|
60
|
-
const result = send_slack_1.sendSlackWorkflow.runAsStep({
|
|
61
|
-
input: {
|
|
62
|
-
settings: settings,
|
|
63
|
-
context: input.context,
|
|
64
|
-
eventName: input.eventName,
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
return new workflows_sdk_1.WorkflowResponse(result);
|
|
68
|
-
});
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1zbGFjay1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1hdXRvbWF0aW9uL3NlbmQtc2xhY2stYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFlbEQsUUFBQSx5QkFBeUIsR0FBRyxtQkFBbUIsQ0FBQTtBQUU1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUNHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDhCQUFjLEVBQ25ELGlDQUF5QixFQUN6QixDQUFDLEtBQWlELEVBQUUsRUFBRTtJQUNwRCwyREFBMkQ7SUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBQSx5QkFBUyxFQUN4QixFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQ3BELENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDUCxNQUFNLFlBQVksR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxFQUFFLFNBQVMsQ0FBQTtRQUVqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDNUIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPO1lBQzlCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUE7SUFDSCxDQUFDLENBQ0YsQ0FBQTtJQUVELE1BQU0sTUFBTSxHQUFHLDhCQUFpQixDQUFDLFNBQVMsQ0FBQztRQUN6QyxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsUUFBUTtZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1NBQzNCO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FDRixDQUFBIn0=
|