@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,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SlackNotificationProviderService = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const utils_2 = require("@medusajs/framework/utils");
|
|
6
|
-
class SlackNotificationProviderService extends utils_1.
|
|
6
|
+
class SlackNotificationProviderService extends utils_1.AbstractNotificationProviderService {
|
|
7
7
|
constructor({ configModule }, options) {
|
|
8
8
|
super();
|
|
9
9
|
this.options_ = options;
|
|
@@ -22,56 +22,13 @@ class SlackNotificationProviderService extends utils_1.AbstractFulfillmentProvid
|
|
|
22
22
|
currency: currencyCode,
|
|
23
23
|
}).format(amount);
|
|
24
24
|
}
|
|
25
|
-
getNotificationText(template, data) {
|
|
26
|
-
switch (template) {
|
|
27
|
-
case "inventory-level":
|
|
28
|
-
return `New inventory ${data?.inventory_level?.id || "unknown"} level was updated`;
|
|
29
|
-
default:
|
|
30
|
-
return `Unknown notification`;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
getNotificationBlocks(template, data) {
|
|
34
|
-
switch (template) {
|
|
35
|
-
case "inventory-level":
|
|
36
|
-
return [
|
|
37
|
-
{
|
|
38
|
-
type: "header",
|
|
39
|
-
text: {
|
|
40
|
-
type: "plain_text",
|
|
41
|
-
text: `New inventory ${data?.inventory_level?.id || "unknown"} level was updated`,
|
|
42
|
-
emoji: true,
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
type: "actions",
|
|
47
|
-
elements: [
|
|
48
|
-
{
|
|
49
|
-
type: "button",
|
|
50
|
-
text: {
|
|
51
|
-
type: "plain_text",
|
|
52
|
-
text: "Otwórz w panelu",
|
|
53
|
-
},
|
|
54
|
-
url: `${this.options_.admin_url}/inventory/${data?.inventory_level?.inventory_item_id}`,
|
|
55
|
-
style: "primary",
|
|
56
|
-
},
|
|
57
|
-
],
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
type: "divider",
|
|
61
|
-
},
|
|
62
|
-
];
|
|
63
|
-
default:
|
|
64
|
-
return [];
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
25
|
async send(notification) {
|
|
68
|
-
const { template, data } = notification;
|
|
69
|
-
console.log("notification", notification);
|
|
26
|
+
const { template, data, content } = notification;
|
|
70
27
|
const response = await fetch(this.options_.webhook_url, {
|
|
71
28
|
method: "POST",
|
|
72
29
|
body: JSON.stringify({
|
|
73
|
-
text:
|
|
74
|
-
blocks:
|
|
30
|
+
text: content.text,
|
|
31
|
+
blocks: content.blocks,
|
|
75
32
|
}),
|
|
76
33
|
headers: {
|
|
77
34
|
"Content-Type": "application/json",
|
|
@@ -81,19 +38,10 @@ class SlackNotificationProviderService extends utils_1.AbstractFulfillmentProvid
|
|
|
81
38
|
throw new utils_2.MedusaError(utils_2.MedusaError.Types.UNEXPECTED_STATE, "Failed to send notification to Slack");
|
|
82
39
|
}
|
|
83
40
|
return {
|
|
84
|
-
status: response.ok ? "success" : "
|
|
41
|
+
status: response.ok ? "success" : "failed",
|
|
85
42
|
};
|
|
86
|
-
// switch (template) {
|
|
87
|
-
// case "inventory-level":
|
|
88
|
-
// // return this.sendOrderNotification(notification);
|
|
89
|
-
// default:
|
|
90
|
-
// throw new MedusaError(
|
|
91
|
-
// MedusaError.Types.NOT_FOUND,
|
|
92
|
-
// `Template ${template} not supported`
|
|
93
|
-
// );
|
|
94
|
-
// }
|
|
95
43
|
}
|
|
96
44
|
}
|
|
97
45
|
exports.SlackNotificationProviderService = SlackNotificationProviderService;
|
|
98
46
|
SlackNotificationProviderService.identifier = "mpn-slack";
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc2xhY2svc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBK0U7QUFNL0UscURBQXVEO0FBV3ZELE1BQWEsZ0NBQWlDLFNBQVEsMkNBQW1DO0lBTXZGLFlBQ0UsRUFBRSxZQUFZLEVBQXdCLEVBQ3RDLE9BQTJCO1FBRTNCLEtBQUssRUFBRSxDQUFBO1FBRVAsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQ3BCLE9BQXlCO1FBRXpCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUNsQyx5QkFBeUIsQ0FDMUIsQ0FBQTtRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsdUJBQXVCLENBQ3hCLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDNUIsTUFBYyxFQUNkLFlBQW9CO1FBRXBCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDaEMsS0FBSyxFQUFFLFVBQVU7WUFDakIsUUFBUSxFQUFFLFlBQVk7U0FDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FDUixZQUE4RTtRQUU5RSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxZQU9uQyxDQUFBO1FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUN6QjtZQUNFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ25CLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtnQkFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2FBQ3ZCLENBQUM7WUFDRixPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjthQUNuQztTQUNGLENBQ0YsQ0FBQTtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUNsQyxzQ0FBc0MsQ0FDdkMsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUTtTQUMzQyxDQUFBO0lBQ0gsQ0FBQzs7QUE5RUgsNEVBK0VDO0FBOUVRLDJDQUFVLEdBQUcsV0FBVyxDQUFBIn0=
|
|
@@ -35,10 +35,11 @@ async function inventoryLevelUpdatedHandler({ event: { data: { id }, }, containe
|
|
|
35
35
|
eventType: types_1.TriggerType.EVENT,
|
|
36
36
|
triggerKey: `inventory_level-${id}`,
|
|
37
37
|
context: contextData,
|
|
38
|
+
contextType: "inventory-level",
|
|
38
39
|
},
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
42
|
exports.config = {
|
|
42
43
|
event: eventName,
|
|
43
44
|
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LWxldmVsLXVwZGF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvaW52ZW50b3J5LWxldmVsLXVwZGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBLCtDQWtDQztBQWpERCxnR0FBZ0c7QUFDaEcsK0VBQWtGO0FBQ2xGLDBDQUE0QztBQUU1QyxNQUFNLFNBQVMsR0FBRyxtQ0FBbUMsQ0FBQTtBQUVyRDs7Ozs7Ozs7R0FRRztBQUNZLEtBQUssVUFBVSw0QkFBNEIsQ0FBQyxFQUN6RCxLQUFLLEVBQUUsRUFDTCxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FDYixFQUNELFNBQVMsR0FDc0I7SUFDL0IsdURBQXVEO0lBQ3ZELE1BQU0sRUFDSixNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsR0FDNUIsR0FBRyxNQUFNLElBQUEseURBQTZCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3JELEtBQUssRUFBRTtZQUNMLGtCQUFrQixFQUFFLEVBQUU7U0FDdkI7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLFdBQVcsR0FBRztRQUNsQixlQUFlLEVBQUUsZUFBZTtLQUNqQyxDQUFBO0lBRUQsdUNBQXVDO0lBQ3ZDLHFDQUFxQztJQUNyQyx1Q0FBdUM7SUFDdkMsNENBQTRDO0lBQzVDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsc0NBQXFCLEVBQzVDLFNBQVMsQ0FDVixDQUFDLEdBQUcsQ0FBQztRQUNKLEtBQUssRUFBRTtZQUNMLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFNBQVMsRUFBRSxtQkFBVyxDQUFDLEtBQUs7WUFDNUIsVUFBVSxFQUFFLG1CQUFtQixFQUFFLEVBQUU7WUFDbkMsT0FBTyxFQUFFLFdBQVc7WUFDcEIsV0FBVyxFQUFFLGlCQUFpQjtTQUMvQjtLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLFNBQVM7Q0FDakIsQ0FBQSJ9
|
|
@@ -13,10 +13,10 @@ async function inventoryReservationItemUpdatedHandler({ event: { data: data }, c
|
|
|
13
13
|
// )
|
|
14
14
|
// const query = container.resolve(ContainerRegistrationKeys.QUERY)
|
|
15
15
|
// const triggerType = trigger_type || 'system'
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
console.log("inventoryReservationItemUpdatedHandler");
|
|
17
|
+
console.log(data);
|
|
18
18
|
}
|
|
19
19
|
exports.config = {
|
|
20
20
|
event: "inventory.reservation-item.updated",
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LXJlc2VydmF0aW9uLWl0ZW0tdXBkYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9pbnZlbnRvcnktcmVzZXJ2YXRpb24taXRlbS11cGRhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBLHlEQVlDO0FBakJELHlGQUF5RjtBQUN6RixnR0FBZ0c7QUFDaEcsa0lBQWtJO0FBQ2xJLHdGQUF3RjtBQUV6RSxLQUFLLFVBQVUsc0NBQXNDLENBQUMsRUFDbkUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUNyQixTQUFTLEdBQ1c7SUFDcEIsNEZBQTRGO0lBQzVGLHVEQUF1RDtJQUN2RCx5QkFBeUI7SUFDekIsSUFBSTtJQUNKLG1FQUFtRTtJQUNuRSwrQ0FBK0M7SUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQ3RELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDcEIsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsb0NBQW9DO0NBQzVDLENBQUEifQ==
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
4
|
exports.default = mpnAutomationActionEmailExecutedHandler;
|
|
5
|
-
const
|
|
5
|
+
const run_email_action_1 = require("../workflows/mpn-automation/run-email-action");
|
|
6
6
|
/**
|
|
7
7
|
* Event name for the MPN automation action email executed event.
|
|
8
8
|
*/
|
|
@@ -17,9 +17,9 @@ const eventName = "mpn.automation.action.email.executed";
|
|
|
17
17
|
* @param container - The container instance.
|
|
18
18
|
*/
|
|
19
19
|
async function mpnAutomationActionEmailExecutedHandler({ event: { data }, container, }) {
|
|
20
|
-
const { action, context, eventName } = data;
|
|
20
|
+
const { action, context, eventName: triggerEventName, contextType } = data;
|
|
21
21
|
console.log(eventName, data);
|
|
22
|
-
const { result } = await (0,
|
|
22
|
+
const { result } = await (0, run_email_action_1.runEmailActionWorkflow)(container).run({
|
|
23
23
|
input: {
|
|
24
24
|
action: {
|
|
25
25
|
...action,
|
|
@@ -33,7 +33,8 @@ async function mpnAutomationActionEmailExecutedHandler({ event: { data }, contai
|
|
|
33
33
|
},
|
|
34
34
|
},
|
|
35
35
|
context: context,
|
|
36
|
-
|
|
36
|
+
contextType: contextType,
|
|
37
|
+
eventName: triggerEventName
|
|
37
38
|
},
|
|
38
39
|
});
|
|
39
40
|
if (!result.success) {
|
|
@@ -43,4 +44,4 @@ async function mpnAutomationActionEmailExecutedHandler({ event: { data }, contai
|
|
|
43
44
|
exports.config = {
|
|
44
45
|
event: eventName,
|
|
45
46
|
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBuLmF1dG9tYXRpb24uYWN0aW9uLmVtYWlsLmV4ZWN1dGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL21wbi5hdXRvbWF0aW9uLmFjdGlvbi5lbWFpbC5leGVjdXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvQkEsMERBb0NDO0FBcERELG1GQUFxRjtBQUVyRjs7R0FFRztBQUNILE1BQU0sU0FBUyxHQUFHLHNDQUFzQyxDQUFBO0FBRXhEOzs7Ozs7OztHQVFHO0FBQ1ksS0FBSyxVQUFVLHVDQUF1QyxDQUFDLEVBQ3BFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUNmLFNBQVMsR0FDVztJQUNwQixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFBO0lBRTFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBRTVCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEseUNBQXNCLEVBQzdDLFNBQVMsQ0FDVixDQUFDLEdBQUcsQ0FBQztRQUNKLEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRTtnQkFDTixHQUFHLE1BQU07Z0JBQ1QsTUFBTSxFQUFFO29CQUNOLEdBQUcsTUFBTSxDQUFDLE1BQU07b0JBQ2hCLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7b0JBQ3RCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU87b0JBQ2hDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxJQUFJO29CQUN0QyxZQUFZLEVBQ1YsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZO3dCQUM1QixpQkFBaUI7aUJBQ3BCO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsT0FBTztZQUNoQixXQUFXLEVBQUUsV0FBVztZQUN4QixTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxDQUNYLCtCQUErQixNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQ2IsQ0FBQTtJQUNILENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUEifQ==
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
4
|
exports.default = mpnAutomationActionSlackExecutedHandler;
|
|
5
|
-
const
|
|
5
|
+
const run_slack_action_1 = require("../workflows/mpn-automation/run-slack-action");
|
|
6
6
|
/**
|
|
7
7
|
* Event name for the MPN automation action slack executed event.
|
|
8
8
|
*/
|
|
@@ -17,27 +17,31 @@ const eventName = "mpn.automation.action.slack.executed";
|
|
|
17
17
|
* @param container - The container instance.
|
|
18
18
|
*/
|
|
19
19
|
async function mpnAutomationActionSlackExecutedHandler({ event: { data }, container, }) {
|
|
20
|
-
const { action, context, eventName } = data;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const
|
|
20
|
+
const { action, context, eventName: triggerEventName, contextType } = data;
|
|
21
|
+
const config = container.resolve("configModule");
|
|
22
|
+
const moduleConfig = config?.modules.mpnAutomation;
|
|
23
|
+
const backendUrl = moduleConfig?.options.backend_url;
|
|
24
|
+
// Execute slack action workflow
|
|
25
|
+
const { result } = await (0, run_slack_action_1.runSlackActionWorkflow)(container).run({
|
|
24
26
|
input: {
|
|
25
27
|
action: {
|
|
26
28
|
...action,
|
|
27
29
|
config: {
|
|
28
30
|
...action.config,
|
|
29
31
|
template: action.config.templateName ?? "inventory-level",
|
|
32
|
+
backendUrl: backendUrl
|
|
30
33
|
},
|
|
31
34
|
},
|
|
32
35
|
context: context,
|
|
33
|
-
|
|
36
|
+
contextType: contextType,
|
|
37
|
+
eventName: triggerEventName
|
|
34
38
|
},
|
|
35
39
|
});
|
|
36
40
|
if (!result.success) {
|
|
37
|
-
console.error(`Failed to send
|
|
41
|
+
console.error(`Failed to send slack action ${action?.id}:`, result.error);
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
44
|
exports.config = {
|
|
41
45
|
event: eventName,
|
|
42
46
|
};
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBuLmF1dG9tYXRpb24uYWN0aW9uLnNsYWNrLmV4ZWN1dGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL21wbi5hdXRvbWF0aW9uLmFjdGlvbi5zbGFjay5leGVjdXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvQkEsMERBbUNDO0FBbkRELG1GQUFxRjtBQUVyRjs7R0FFRztBQUNILE1BQU0sU0FBUyxHQUFHLHNDQUFzQyxDQUFBO0FBRXhEOzs7Ozs7OztHQVFHO0FBQ1ksS0FBSyxVQUFVLHVDQUF1QyxDQUFDLEVBQ3BFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUNmLFNBQVMsR0FDVztJQUNwQixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFBO0lBQzFFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFRLENBQUE7SUFDdkQsTUFBTSxZQUFZLEdBQUcsTUFBTSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUE7SUFDbEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUE7SUFFcEQsZ0NBQWdDO0lBQ2hDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEseUNBQXNCLEVBQzdDLFNBQVMsQ0FDVixDQUFDLEdBQUcsQ0FBQztRQUNKLEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRTtnQkFDTixHQUFHLE1BQU07Z0JBQ1QsTUFBTSxFQUFFO29CQUNOLEdBQUcsTUFBTSxDQUFDLE1BQU07b0JBQ2hCLFFBQVEsRUFDTixNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxpQkFBaUI7b0JBQ2pELFVBQVUsRUFBRSxVQUFVO2lCQUN2QjthQUNGO1lBQ0QsT0FBTyxFQUFFLE9BQU87WUFDaEIsV0FBVyxFQUFFLFdBQVc7WUFDeEIsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QjtLQUNGLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FDWCwrQkFBK0IsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUM1QyxNQUFNLENBQUMsS0FBSyxDQUNiLENBQUE7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsU0FBUztDQUNqQixDQUFBIn0=
|
|
@@ -1,108 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// import {
|
|
3
|
-
// SubscriberArgs,
|
|
4
|
-
// type SubscriberConfig,
|
|
5
|
-
// } from "@medusajs/medusa"
|
|
6
|
-
// import { Modules, ContainerRegistrationKeys, MedusaError } from "@medusajs/framework/utils"
|
|
7
|
-
// import { renderTemplate } from "@codee-sh/medusa-plugin-notification/templates/emails"
|
|
8
|
-
// import { TEMPLATES_NAMES } from "@codee-sh/medusa-plugin-notification/templates/emails/types"
|
|
9
|
-
// import { formatDate, getFormattedAddress, getLocaleAmount, getTotalCaptured } from "@codee-sh/medusa-plugin-notification/utils"
|
|
10
|
-
// import { getPluginOptions } from "@codee-sh/medusa-plugin-notification/utils/plugins"
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// const triggerType = trigger_type || 'system'
|
|
22
|
-
// if (!id) {
|
|
23
|
-
// throw new MedusaError(MedusaError.Types.INVALID_ARGUMENT, "Order ID is required")
|
|
24
|
-
// }
|
|
25
|
-
// const { data: [order] } = await query.graph({
|
|
26
|
-
// entity: "order",
|
|
27
|
-
// fields: [
|
|
28
|
-
// "id",
|
|
29
|
-
// "email",
|
|
30
|
-
// "created_at",
|
|
31
|
-
// "payment_collections.*",
|
|
32
|
-
// "items.*",
|
|
33
|
-
// "items.variant.*",
|
|
34
|
-
// "items.variant.product.*",
|
|
35
|
-
// "currency_code",
|
|
36
|
-
// "display_id",
|
|
37
|
-
// "sales_channel.name",
|
|
38
|
-
// "sales_channel.description",
|
|
39
|
-
// "shipping_address.*",
|
|
40
|
-
// "billing_address.*",
|
|
41
|
-
// "summary.*",
|
|
42
|
-
// "tax_total",
|
|
43
|
-
// "discount_total",
|
|
44
|
-
// ],
|
|
45
|
-
// filters: {
|
|
46
|
-
// id: id,
|
|
47
|
-
// },
|
|
48
|
-
// })
|
|
49
|
-
// if (!order) {
|
|
50
|
-
// return
|
|
51
|
-
// }
|
|
52
|
-
// const shippingAddressText = getFormattedAddress({ address: order.shipping_address }).join("<br/>");
|
|
53
|
-
// const billingAddressText = getFormattedAddress({ address: order.billing_address }).join("<br/>");
|
|
54
|
-
// const templateData = {
|
|
55
|
-
// sales_channel: {
|
|
56
|
-
// name: order?.sales_channel?.name,
|
|
57
|
-
// description: order?.sales_channel?.description,
|
|
58
|
-
// },
|
|
59
|
-
// orderNumber: `#${order.display_id}`,
|
|
60
|
-
// customerName: order.email,
|
|
61
|
-
// customerEmail: order.email,
|
|
62
|
-
// orderDate: formatDate({ date: order.created_at, includeTime: true, localeCode: "pl" }),
|
|
63
|
-
// totalAmount: order.items.reduce((acc, item) => acc + (item.variant?.prices?.[0]?.amount || 0) * item.quantity, 0),
|
|
64
|
-
// currency: order.currency_code,
|
|
65
|
-
// items: order.items.map((item) => ({
|
|
66
|
-
// thumbnail: item.thumbnail,
|
|
67
|
-
// title: item.title,
|
|
68
|
-
// quantity: item.quantity,
|
|
69
|
-
// price: getLocaleAmount(item.unit_price, order.currency_code),
|
|
70
|
-
// })),
|
|
71
|
-
// shippingAddress: shippingAddressText,
|
|
72
|
-
// billingAddress: billingAddressText,
|
|
73
|
-
// summary: {
|
|
74
|
-
// total: getLocaleAmount(order.summary.original_order_total, order.currency_code),
|
|
75
|
-
// paid_total: getLocaleAmount(getTotalCaptured(order.payment_collections || []), order.currency_code),
|
|
76
|
-
// tax_total: getLocaleAmount(order.tax_total, order.currency_code),
|
|
77
|
-
// discount_total: getLocaleAmount(order.discount_total, order.currency_code),
|
|
78
|
-
// currency_code: order.currency_code,
|
|
79
|
-
// }
|
|
80
|
-
// };
|
|
81
|
-
// const templateName = TEMPLATES_NAMES.ORDER_PLACED
|
|
82
|
-
// const { html, text, subject } = await renderTemplate(
|
|
83
|
-
// templateName,
|
|
84
|
-
// templateData,
|
|
85
|
-
// {
|
|
86
|
-
// locale: "pl",
|
|
87
|
-
// customTranslations: pluginOptions?.customTranslations?.[templateName]
|
|
88
|
-
// }
|
|
89
|
-
// )
|
|
90
|
-
// const result = await notificationModuleService.createNotifications({
|
|
91
|
-
// to: order.email,
|
|
92
|
-
// channel: "email",
|
|
93
|
-
// template: templateName,
|
|
94
|
-
// trigger_type: triggerType,
|
|
95
|
-
// resource_id: id,
|
|
96
|
-
// resource_type: "order",
|
|
97
|
-
// data: templateData,
|
|
98
|
-
// content: {
|
|
99
|
-
// subject: subject,
|
|
100
|
-
// html,
|
|
101
|
-
// text,
|
|
102
|
-
// },
|
|
103
|
-
// })
|
|
104
|
-
// }
|
|
105
|
-
// export const config: SubscriberConfig = {
|
|
106
|
-
// event: "order.placed",
|
|
107
|
-
// }
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGxhY2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL29yZGVyLXBsYWNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsV0FBVztBQUNYLG9CQUFvQjtBQUNwQiwyQkFBMkI7QUFDM0IsNEJBQTRCO0FBQzVCLDhGQUE4RjtBQUM5Rix5RkFBeUY7QUFDekYsZ0dBQWdHO0FBQ2hHLGtJQUFrSTtBQUNsSSx3RkFBd0Y7O0FBRXhGLHFEQUFxRDtBQUNyRCwyQ0FBMkM7QUFDM0MsZUFBZTtBQUNmLDZEQUE2RDtBQUM3RCw4RkFBOEY7QUFFOUYseURBQXlEO0FBQ3pELDJCQUEyQjtBQUMzQixNQUFNO0FBQ04scUVBQXFFO0FBQ3JFLGlEQUFpRDtBQUVqRCxlQUFlO0FBQ2Ysd0ZBQXdGO0FBQ3hGLE1BQU07QUFFTixrREFBa0Q7QUFDbEQsdUJBQXVCO0FBQ3ZCLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsaUJBQWlCO0FBQ2pCLHNCQUFzQjtBQUN0QixpQ0FBaUM7QUFDakMsbUJBQW1CO0FBQ25CLDJCQUEyQjtBQUMzQixtQ0FBbUM7QUFDbkMseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIscUNBQXFDO0FBQ3JDLDhCQUE4QjtBQUM5Qiw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLHFCQUFxQjtBQUNyQiwwQkFBMEI7QUFDMUIsU0FBUztBQUNULGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsU0FBUztBQUNULE9BQU87QUFFUCxrQkFBa0I7QUFDbEIsYUFBYTtBQUNiLE1BQU07QUFFTix3R0FBd0c7QUFDeEcsc0dBQXNHO0FBQ3RHLDJCQUEyQjtBQUMzQix1QkFBdUI7QUFDdkIsMENBQTBDO0FBQzFDLHdEQUF3RDtBQUN4RCxTQUFTO0FBQ1QsMkNBQTJDO0FBQzNDLGlDQUFpQztBQUNqQyxrQ0FBa0M7QUFDbEMsOEZBQThGO0FBQzlGLHlIQUF5SDtBQUN6SCxxQ0FBcUM7QUFDckMsMENBQTBDO0FBQzFDLG1DQUFtQztBQUNuQywyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDLHNFQUFzRTtBQUN0RSxXQUFXO0FBQ1gsNENBQTRDO0FBQzVDLDBDQUEwQztBQUMxQyxpQkFBaUI7QUFDakIseUZBQXlGO0FBQ3pGLDZHQUE2RztBQUM3RywwRUFBMEU7QUFDMUUsb0ZBQW9GO0FBQ3BGLDRDQUE0QztBQUM1QyxRQUFRO0FBQ1IsT0FBTztBQUVQLHNEQUFzRDtBQUV0RCwwREFBMEQ7QUFDMUQsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixRQUFRO0FBQ1Isc0JBQXNCO0FBQ3RCLDhFQUE4RTtBQUM5RSxRQUFRO0FBQ1IsTUFBTTtBQUVOLHlFQUF5RTtBQUN6RSx1QkFBdUI7QUFDdkIsd0JBQXdCO0FBQ3hCLDhCQUE4QjtBQUM5QixpQ0FBaUM7QUFDakMsdUJBQXVCO0FBQ3ZCLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsaUJBQWlCO0FBQ2pCLDBCQUEwQjtBQUMxQixjQUFjO0FBQ2QsY0FBYztBQUNkLFNBQVM7QUFDVCxPQUFPO0FBQ1AsSUFBSTtBQUVKLDRDQUE0QztBQUM1QywyQkFBMkI7QUFDM0IsSUFBSSJ9
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = orderPlacedHandler;
|
|
5
|
+
async function orderPlacedHandler({ event: { data }, container, }) {
|
|
6
|
+
console.log("orderPlacedHandler", JSON.stringify(data, null, 2));
|
|
7
|
+
}
|
|
8
|
+
exports.config = {
|
|
9
|
+
event: "order.placed",
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGxhY2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL29yZGVyLXBsYWNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxxQ0FNQztBQU5jLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxFQUMvQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFDZixTQUFTLEdBQ1c7SUFFcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNsRSxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSxjQUFjO0NBQ3RCLENBQUEifQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderSlackTemplate = renderSlackTemplate;
|
|
4
|
+
exports.registerSlackTemplate = registerSlackTemplate;
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
const inventory_level_1 = require("./inventory-level");
|
|
7
|
+
/**
|
|
8
|
+
* Template registry mapping template names to their renderers
|
|
9
|
+
*/
|
|
10
|
+
const templateRegistry = {
|
|
11
|
+
[types_1.SLACK_TEMPLATES_NAMES.INVENTORY_LEVEL]: inventory_level_1.renderInventoryLevel
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Render a slack template
|
|
15
|
+
*
|
|
16
|
+
* @param templateName - Template name
|
|
17
|
+
* @param context - Context data
|
|
18
|
+
* @param contextType - Context type
|
|
19
|
+
* @param options - Options
|
|
20
|
+
* @returns Text and blocks
|
|
21
|
+
*/
|
|
22
|
+
function renderSlackTemplate({ templateName, context, contextType, options = {}, }) {
|
|
23
|
+
const renderer = templateRegistry[templateName];
|
|
24
|
+
if (!renderer) {
|
|
25
|
+
throw new Error(`Slack template "${templateName}" not found. Available: ${Object.keys(templateRegistry).join(', ')}`);
|
|
26
|
+
}
|
|
27
|
+
const result = renderer({
|
|
28
|
+
context: context,
|
|
29
|
+
contextType: contextType,
|
|
30
|
+
options: options,
|
|
31
|
+
});
|
|
32
|
+
if (result instanceof Promise) {
|
|
33
|
+
throw new Error('Async templates not supported yet. Use sync renderer.');
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
function registerSlackTemplate(name, renderer) {
|
|
38
|
+
templateRegistry[name] = renderer;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL3NsYWNrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMEJBLGtEQXVCQztBQUVELHNEQUtDO0FBeERELG1DQUEySDtBQUMzSCx1REFBd0Q7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUEwQztJQUM5RCxDQUFDLDZCQUFxQixDQUFDLGVBQWUsQ0FBQyxFQUFFLHNDQUFvQjtDQUM5RCxDQUFBO0FBU0Q7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxFQUNsQyxZQUFZLEVBQ1osT0FBTyxFQUNQLFdBQVcsRUFDWCxPQUFPLEdBQUcsRUFBRSxHQUNjO0lBQzFCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFBO0lBRS9DLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLFlBQVksMkJBQTJCLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZILENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDdEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLFdBQVc7UUFDeEIsT0FBTyxFQUFFLE9BQU87S0FDakIsQ0FBQyxDQUFBO0lBRUYsSUFBSSxNQUFNLFlBQVksT0FBTyxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FDbkMsSUFBWSxFQUNaLFFBQStCO0lBRS9CLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQTtBQUNuQyxDQUFDIn0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./inventory-level"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL3NsYWNrL2ludmVudG9yeS1sZXZlbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQWlDIn0=
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderInventoryLevel = renderInventoryLevel;
|
|
4
|
+
const translations_1 = require("./translations");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
function renderInventoryLevel({ context, contextType, options = {}, }) {
|
|
7
|
+
const backendUrl = options?.backendUrl || "";
|
|
8
|
+
const locale = options?.locale || "pl";
|
|
9
|
+
const inventoryLevel = context?.inventory_level;
|
|
10
|
+
// Merge custom translations if provided
|
|
11
|
+
const mergedTranslations = (0, utils_1.mergeTranslations)(translations_1.translations, options.customTranslations);
|
|
12
|
+
// Create translator function
|
|
13
|
+
const t = (0, utils_1.createTranslator)(locale, mergedTranslations);
|
|
14
|
+
const blocksSections = [];
|
|
15
|
+
if (inventoryLevel?.inventory_item?.title) {
|
|
16
|
+
blocksSections.push({
|
|
17
|
+
type: "header",
|
|
18
|
+
text: {
|
|
19
|
+
type: "plain_text",
|
|
20
|
+
text: t("header.title", {
|
|
21
|
+
inventoryItemTitle: inventoryLevel?.inventory_item?.title ||
|
|
22
|
+
"unknown",
|
|
23
|
+
}),
|
|
24
|
+
emoji: true,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (inventoryLevel?.stock_locations?.length > 0) {
|
|
29
|
+
blocksSections.push({
|
|
30
|
+
type: "section",
|
|
31
|
+
fields: inventoryLevel?.stock_locations?.map((stockLocation) => ({
|
|
32
|
+
type: "mrkdwn",
|
|
33
|
+
text: `*${t("labels.location")}*\n${stockLocation.name}`,
|
|
34
|
+
})),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (inventoryLevel?.stocked_quantity) {
|
|
38
|
+
blocksSections.push({
|
|
39
|
+
type: "section",
|
|
40
|
+
fields: [
|
|
41
|
+
{
|
|
42
|
+
type: "mrkdwn",
|
|
43
|
+
text: `*${t("labels.quantity")}*\n${inventoryLevel?.stocked_quantity}`,
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (inventoryLevel?.reserved_quantity) {
|
|
49
|
+
blocksSections.push({
|
|
50
|
+
type: "section",
|
|
51
|
+
fields: [
|
|
52
|
+
{
|
|
53
|
+
type: "mrkdwn",
|
|
54
|
+
text: `*${t("labels.reservedQuantity")}*\n${inventoryLevel?.reserved_quantity}`,
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
if (inventoryLevel?.incoming_quantity) {
|
|
60
|
+
blocksSections.push({
|
|
61
|
+
type: "section",
|
|
62
|
+
fields: [
|
|
63
|
+
{
|
|
64
|
+
type: "mrkdwn",
|
|
65
|
+
text: `*${t("labels.incomingQuantity")}*\n${inventoryLevel?.incoming_quantity}`,
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
const blocks = blocksSections.length > 0 ? blocksSections : [];
|
|
71
|
+
if (inventoryLevel?.inventory_item_id) {
|
|
72
|
+
blocks.push({
|
|
73
|
+
type: "actions",
|
|
74
|
+
elements: [
|
|
75
|
+
{
|
|
76
|
+
type: "button",
|
|
77
|
+
text: {
|
|
78
|
+
type: "plain_text",
|
|
79
|
+
text: t("actions.openInPanel"),
|
|
80
|
+
},
|
|
81
|
+
url: `${backendUrl}/app/inventory/${inventoryLevel.inventory_item_id}`,
|
|
82
|
+
style: "primary",
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
blocks.push({ type: "divider" });
|
|
88
|
+
return {
|
|
89
|
+
text: t("headerTitle", {
|
|
90
|
+
inventoryLevelId: inventoryLevel?.id || "unknown",
|
|
91
|
+
}),
|
|
92
|
+
blocks,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LWxldmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9zbGFjay9pbnZlbnRvcnktbGV2ZWwvaW52ZW50b3J5LWxldmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUJBLG9EQXNIQztBQWxJRCxpREFBNkM7QUFDN0MsMENBR3VCO0FBUXZCLFNBQWdCLG9CQUFvQixDQUFDLEVBQ25DLE9BQU8sRUFDUCxXQUFXLEVBQ1gsT0FBTyxHQUFHLEVBQUUsR0FDZTtJQUMzQixNQUFNLFVBQVUsR0FBRyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQTtJQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQTtJQUN0QyxNQUFNLGNBQWMsR0FBRyxPQUFPLEVBQUUsZUFBZSxDQUFBO0lBRS9DLHdDQUF3QztJQUN4QyxNQUFNLGtCQUFrQixHQUFHLElBQUEseUJBQWlCLEVBQzFDLDJCQUFZLEVBQ1osT0FBTyxDQUFDLGtCQUFrQixDQUMzQixDQUFBO0lBRUQsNkJBQTZCO0lBQzdCLE1BQU0sQ0FBQyxHQUFHLElBQUEsd0JBQWdCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUE7SUFFdEQsTUFBTSxjQUFjLEdBQWlCLEVBQUUsQ0FBQTtJQUV2QyxJQUFJLGNBQWMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDMUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUNsQixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUU7b0JBQ3RCLGtCQUFrQixFQUNoQixjQUFjLEVBQUUsY0FBYyxFQUFFLEtBQUs7d0JBQ3JDLFNBQVM7aUJBQ1osQ0FBQztnQkFDRixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsQ0FBQyxDQUFBO0lB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
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"general": {
|
|
3
|
+
"header": {
|
|
4
|
+
"title": "Inventory level #{{inventoryItemTitle}} has been updated"
|
|
5
|
+
},
|
|
6
|
+
"labels": {
|
|
7
|
+
"quantity": "Quantity",
|
|
8
|
+
"reservedQuantity": "Reserved Quantity",
|
|
9
|
+
"incomingQuantity": "Incoming Quantity",
|
|
10
|
+
"availableQuantity": "Available Quantity",
|
|
11
|
+
"location": "Location",
|
|
12
|
+
"noData": "No data"
|
|
13
|
+
},
|
|
14
|
+
"actions": {
|
|
15
|
+
"openInPanel": "Open in panel"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
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.en = exports.pl = exports.translations = void 0;
|
|
7
|
+
const pl_json_1 = __importDefault(require("./pl.json"));
|
|
8
|
+
exports.pl = pl_json_1.default;
|
|
9
|
+
const en_json_1 = __importDefault(require("./en.json"));
|
|
10
|
+
exports.en = en_json_1.default;
|
|
11
|
+
exports.translations = {
|
|
12
|
+
pl: pl_json_1.default,
|
|
13
|
+
en: en_json_1.default,
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL3NsYWNrL2ludmVudG9yeS1sZXZlbC90cmFuc2xhdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQTJCO0FBUWxCLGFBUkYsaUJBQUUsQ0FRRTtBQVBYLHdEQUEyQjtBQU9kLGFBUE4saUJBQUUsQ0FPTTtBQUxGLFFBQUEsWUFBWSxHQUFxQjtJQUM1QyxFQUFFLEVBQUUsaUJBQUU7SUFDTixFQUFFLEVBQUUsaUJBQUU7Q0FDUCxDQUFDIn0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"general": {
|
|
3
|
+
"header": {
|
|
4
|
+
"title": "Poziom zapasów {{inventoryItemTitle}} został zaktualizowany"
|
|
5
|
+
},
|
|
6
|
+
"labels": {
|
|
7
|
+
"quantity": "Ilość",
|
|
8
|
+
"reservedQuantity": "Ilość zarezerwowana",
|
|
9
|
+
"incomingQuantity": "Ilość przychodząca",
|
|
10
|
+
"availableQuantity": "Ilość dostępna",
|
|
11
|
+
"location": "Lokalizacja",
|
|
12
|
+
"noData": "Brak danych"
|
|
13
|
+
},
|
|
14
|
+
"actions": {
|
|
15
|
+
"openInPanel": "Otwórz w panelu"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SLACK_TEMPLATES_NAMES = void 0;
|
|
4
|
+
exports.SLACK_TEMPLATES_NAMES = {
|
|
5
|
+
INVENTORY_LEVEL: "inventory-level",
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL3NsYWNrL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsZUFBZSxFQUFFLGlCQUFpQjtDQUMxQixDQUFDIn0=
|