@codee-sh/medusa-plugin-automations 1.0.0
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/index.js +9931 -0
- package/.medusa/server/src/admin/index.mjs +9929 -0
- package/.medusa/server/src/admin/lib/sdk.js +15 -0
- package/.medusa/server/src/api/admin/mpn/automations/actions/route.js +78 -0
- package/.medusa/server/src/api/admin/mpn/automations/available-actions/route.js +12 -0
- package/.medusa/server/src/api/admin/mpn/automations/available-events/route.js +14 -0
- package/.medusa/server/src/api/admin/mpn/automations/available-triggers/route.js +12 -0
- package/.medusa/server/src/api/admin/mpn/automations/route.js +71 -0
- package/.medusa/server/src/api/admin/mpn/automations/rules/route.js +85 -0
- package/.medusa/server/src/api/middlewares.js +125 -0
- package/.medusa/server/src/emails/example-template.js +68 -0
- package/.medusa/server/src/hooks/api/automations/automations.js +74 -0
- package/.medusa/server/src/hooks/api/automations/index.js +18 -0
- package/.medusa/server/src/hooks/api/automations-actions/automations-actions.js +51 -0
- package/.medusa/server/src/hooks/api/automations-actions/index.js +18 -0
- package/.medusa/server/src/hooks/api/automations-rules/automations-rules.js +51 -0
- package/.medusa/server/src/hooks/api/automations-rules/index.js +18 -0
- package/.medusa/server/src/hooks/api/available-actions/actions.js +34 -0
- package/.medusa/server/src/hooks/api/available-actions/index.js +18 -0
- package/.medusa/server/src/hooks/api/available-events/events.js +34 -0
- package/.medusa/server/src/hooks/api/available-events/index.js +18 -0
- package/.medusa/server/src/hooks/api/available-triggers/index.js +18 -0
- package/.medusa/server/src/hooks/api/available-triggers/triggers.js +34 -0
- package/.medusa/server/src/modules/mpn-automation/index.js +10 -0
- package/.medusa/server/src/modules/mpn-automation/interfaces.js +3 -0
- package/.medusa/server/src/modules/mpn-automation/migrations/Migration20251127115228.js +37 -0
- package/.medusa/server/src/modules/mpn-automation/migrations/Migration20251127193345.js +20 -0
- package/.medusa/server/src/modules/mpn-automation/migrations/Migration20251127195615.js +19 -0
- package/.medusa/server/src/modules/mpn-automation/migrations/Migration20251130144047.js +16 -0
- package/.medusa/server/src/modules/mpn-automation/models/index.js +14 -0
- package/.medusa/server/src/modules/mpn-automation/models/mpn_automation_rule.js +27 -0
- package/.medusa/server/src/modules/mpn-automation/models/mpn_automation_rule_value.js +15 -0
- package/.medusa/server/src/modules/mpn-automation/models/mpn_automation_state.js +17 -0
- package/.medusa/server/src/modules/mpn-automation/models/mpn_automation_trigger.js +52 -0
- package/.medusa/server/src/modules/mpn-automation/models/npm_automation_action.js +23 -0
- package/.medusa/server/src/modules/mpn-automation/services/index.js +9 -0
- package/.medusa/server/src/modules/mpn-automation/services/service.js +38 -0
- package/.medusa/server/src/modules/mpn-automation/types.js +199 -0
- package/.medusa/server/src/subscribers/inventory-item-updated.js +22 -0
- package/.medusa/server/src/subscribers/inventory-level-updated.js +43 -0
- package/.medusa/server/src/subscribers/inventory-reservation-item-updated.js +22 -0
- package/.medusa/server/src/subscribers/mpn.automation.action.email.executed.js +45 -0
- package/.medusa/server/src/subscribers/order-completed.js +110 -0
- package/.medusa/server/src/subscribers/order-placed.js +108 -0
- package/.medusa/server/src/subscribers/payment-captured.js +96 -0
- package/.medusa/server/src/utils/index.js +20 -0
- package/.medusa/server/src/utils/plugins.js +20 -0
- package/.medusa/server/src/utils/types/index.js +19 -0
- package/.medusa/server/src/utils/validate-rules.js +85 -0
- package/.medusa/server/src/workflows/index.js +20 -0
- package/.medusa/server/src/workflows/inventory/get-inventory-level-by-id.js +23 -0
- package/.medusa/server/src/workflows/inventory/index.js +18 -0
- package/.medusa/server/src/workflows/inventory/steps/get-inventory-level-by-id.js +25 -0
- package/.medusa/server/src/workflows/inventory/steps/index.js +18 -0
- package/.medusa/server/src/workflows/mpn-automation/create-automation.js +14 -0
- package/.medusa/server/src/workflows/mpn-automation/edit-automation-actions.js +15 -0
- package/.medusa/server/src/workflows/mpn-automation/edit-automation-rules.js +15 -0
- package/.medusa/server/src/workflows/mpn-automation/edit-automation.js +14 -0
- package/.medusa/server/src/workflows/mpn-automation/index.js +24 -0
- package/.medusa/server/src/workflows/mpn-automation/run-automation.js +76 -0
- package/.medusa/server/src/workflows/mpn-automation/send-email-action.js +73 -0
- package/.medusa/server/src/workflows/mpn-automation/steps/create-automation.js +19 -0
- package/.medusa/server/src/workflows/mpn-automation/steps/edit-automation-actions.js +51 -0
- package/.medusa/server/src/workflows/mpn-automation/steps/edit-automation-rules.js +87 -0
- package/.medusa/server/src/workflows/mpn-automation/steps/edit-automation.js +20 -0
- package/.medusa/server/src/workflows/mpn-automation/steps/index.js +24 -0
- package/.medusa/server/src/workflows/mpn-automation/steps/retrieve-automation-triggers-by-event.js +62 -0
- package/.medusa/server/src/workflows/mpn-automation/steps/run-automation-actions.js +92 -0
- package/.medusa/server/src/workflows/mpn-automation/steps/validate-automation-triggers.js +29 -0
- package/.medusa/server/src/workflows/mpn-automation/validate-automation-triggers-by-event.js +38 -0
- package/.medusa/server/src/workflows/notifications/index.js +18 -0
- package/.medusa/server/src/workflows/notifications/send-email.js +51 -0
- package/.medusa/server/src/workflows/notifications/steps/index.js +18 -0
- package/.medusa/server/src/workflows/notifications/steps/send-email.js +119 -0
- package/.medusa/server/src/workflows/steps/log-step.js +16 -0
- package/LICENSE +21 -0
- package/README.md +104 -0
- package/package.json +72 -0
|
@@ -0,0 +1,96 @@
|
|
|
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-emails/templates/emails"
|
|
8
|
+
// import { TEMPLATES_NAMES } from "@codee-sh/medusa-plugin-notification-emails/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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
// export default async function paymentCapturedHandler({
|
|
13
|
+
// event: { data: { id, trigger_type } },
|
|
14
|
+
// container,
|
|
15
|
+
// }: SubscriberArgs<{ id: string, trigger_type: string }>) {
|
|
16
|
+
// const pluginOptions = getPluginOptions(container, "@codee-sh/medusa-plugin-notification")
|
|
17
|
+
// const notificationModuleService = container.resolve(
|
|
18
|
+
// Modules.NOTIFICATION
|
|
19
|
+
// )
|
|
20
|
+
// const query = container.resolve(ContainerRegistrationKeys.QUERY)
|
|
21
|
+
// const triggerType = trigger_type || 'system'
|
|
22
|
+
// console.log("id", id);
|
|
23
|
+
// if (!id) {
|
|
24
|
+
// throw new MedusaError(MedusaError.Types.INVALID_ARGUMENT, "Payment ID is required")
|
|
25
|
+
// }
|
|
26
|
+
// const { data: [payment] } = await query.graph({
|
|
27
|
+
// entity: "payment",
|
|
28
|
+
// fields: [
|
|
29
|
+
// "*",
|
|
30
|
+
// ],
|
|
31
|
+
// filters: {
|
|
32
|
+
// id: id,
|
|
33
|
+
// },
|
|
34
|
+
// })
|
|
35
|
+
// if (!payment) {
|
|
36
|
+
// return
|
|
37
|
+
// }
|
|
38
|
+
// console.log("payment", payment);
|
|
39
|
+
// console.log("trigger_type", trigger_type);
|
|
40
|
+
// // const shippingAddressText = getFormattedAddress({ address: order.shipping_address }).join("<br/>");
|
|
41
|
+
// // const billingAddressText = getFormattedAddress({ address: order.billing_address }).join("<br/>");
|
|
42
|
+
// // const templateData = {
|
|
43
|
+
// // sales_channel: {
|
|
44
|
+
// // name: order?.sales_channel?.name,
|
|
45
|
+
// // description: order?.sales_channel?.description,
|
|
46
|
+
// // },
|
|
47
|
+
// // orderNumber: `#${order.display_id}`,
|
|
48
|
+
// // customerName: order.email,
|
|
49
|
+
// // customerEmail: order.email,
|
|
50
|
+
// // orderDate: formatDate({ date: order.created_at, includeTime: true, localeCode: "pl" }),
|
|
51
|
+
// // totalAmount: order.items.reduce((acc, item) => acc + (item.variant?.prices?.[0]?.amount || 0) * item.quantity, 0),
|
|
52
|
+
// // currency: order.currency_code,
|
|
53
|
+
// // items: order.items.map((item) => ({
|
|
54
|
+
// // thumbnail: item.thumbnail,
|
|
55
|
+
// // title: item.title,
|
|
56
|
+
// // quantity: item.quantity,
|
|
57
|
+
// // price: getLocaleAmount(item.unit_price, order.currency_code),
|
|
58
|
+
// // })),
|
|
59
|
+
// // shippingAddress: shippingAddressText,
|
|
60
|
+
// // billingAddress: billingAddressText,
|
|
61
|
+
// // summary: {
|
|
62
|
+
// // total: getLocaleAmount(order.summary.original_order_total, order.currency_code),
|
|
63
|
+
// // paid_total: getLocaleAmount(getTotalCaptured(order.payment_collections || []), order.currency_code),
|
|
64
|
+
// // tax_total: getLocaleAmount(order.tax_total, order.currency_code),
|
|
65
|
+
// // discount_total: getLocaleAmount(order.discount_total, order.currency_code),
|
|
66
|
+
// // currency_code: order.currency_code,
|
|
67
|
+
// // }
|
|
68
|
+
// // };
|
|
69
|
+
// // const templateName = TEMPLATES_NAMES.ORDER_PLACED
|
|
70
|
+
// // const { html, text, subject } = await renderTemplate(
|
|
71
|
+
// // templateName,
|
|
72
|
+
// // templateData,
|
|
73
|
+
// // {
|
|
74
|
+
// // locale: "pl",
|
|
75
|
+
// // customTranslations: pluginOptions?.customTranslations?.[templateName]
|
|
76
|
+
// // }
|
|
77
|
+
// // )
|
|
78
|
+
// // const result = await notificationModuleService.createNotifications({
|
|
79
|
+
// // to: order.email,
|
|
80
|
+
// // channel: "email",
|
|
81
|
+
// // template: templateName,
|
|
82
|
+
// // trigger_type: triggerType,
|
|
83
|
+
// // resource_id: id,
|
|
84
|
+
// // resource_type: "order",
|
|
85
|
+
// // data: templateData,
|
|
86
|
+
// // content: {
|
|
87
|
+
// // subject: subject,
|
|
88
|
+
// // html,
|
|
89
|
+
// // text,
|
|
90
|
+
// // },
|
|
91
|
+
// // })
|
|
92
|
+
// }
|
|
93
|
+
// export const config: SubscriberConfig = {
|
|
94
|
+
// event: "payment.captured",
|
|
95
|
+
// }
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1jYXB0dXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9wYXltZW50LWNhcHR1cmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxXQUFXO0FBQ1gsb0JBQW9CO0FBQ3BCLDJCQUEyQjtBQUMzQiw0QkFBNEI7QUFDNUIsOEZBQThGO0FBQzlGLGdHQUFnRztBQUNoRyx1R0FBdUc7QUFDdkcsa0lBQWtJO0FBQ2xJLHdGQUF3Rjs7QUFFeEYseURBQXlEO0FBQ3pELDJDQUEyQztBQUMzQyxlQUFlO0FBQ2YsNkRBQTZEO0FBQzdELDhGQUE4RjtBQUU5Rix5REFBeUQ7QUFDekQsMkJBQTJCO0FBQzNCLE1BQU07QUFDTixxRUFBcUU7QUFDckUsaURBQWlEO0FBRWpELDJCQUEyQjtBQUUzQixlQUFlO0FBQ2YsMEZBQTBGO0FBQzFGLE1BQU07QUFFTixvREFBb0Q7QUFDcEQseUJBQXlCO0FBQ3pCLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsU0FBUztBQUNULGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsU0FBUztBQUNULE9BQU87QUFFUCxvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLE1BQU07QUFFTixxQ0FBcUM7QUFDckMsK0NBQStDO0FBRS9DLDJHQUEyRztBQUMzRyx5R0FBeUc7QUFDekcsOEJBQThCO0FBQzlCLDBCQUEwQjtBQUMxQiw2Q0FBNkM7QUFDN0MsMkRBQTJEO0FBQzNELFlBQVk7QUFDWiw4Q0FBOEM7QUFDOUMsb0NBQW9DO0FBQ3BDLHFDQUFxQztBQUNyQyxpR0FBaUc7QUFDakcsNEhBQTRIO0FBQzVILHdDQUF3QztBQUN4Qyw2Q0FBNkM7QUFDN0Msc0NBQXNDO0FBQ3RDLDhCQUE4QjtBQUM5QixvQ0FBb0M7QUFDcEMseUVBQXlFO0FBQ3pFLGNBQWM7QUFDZCwrQ0FBK0M7QUFDL0MsNkNBQTZDO0FBQzdDLG9CQUFvQjtBQUNwQiw0RkFBNEY7QUFDNUYsZ0hBQWdIO0FBQ2hILDZFQUE2RTtBQUM3RSx1RkFBdUY7QUFDdkYsK0NBQStDO0FBQy9DLFdBQVc7QUFDWCxVQUFVO0FBRVYseURBQXlEO0FBRXpELDZEQUE2RDtBQUM3RCx1QkFBdUI7QUFDdkIsdUJBQXVCO0FBQ3ZCLFlBQVk7QUFDWix5QkFBeUI7QUFDekIsaUZBQWlGO0FBQ2pGLFdBQVc7QUFDWCxTQUFTO0FBRVQsNEVBQTRFO0FBQzVFLDBCQUEwQjtBQUMxQiwyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDLG9DQUFvQztBQUNwQywwQkFBMEI7QUFDMUIsaUNBQWlDO0FBQ2pDLDZCQUE2QjtBQUM3QixvQkFBb0I7QUFDcEIsNkJBQTZCO0FBQzdCLGlCQUFpQjtBQUNqQixpQkFBaUI7QUFDakIsWUFBWTtBQUNaLFVBQVU7QUFDVixJQUFJO0FBRUosNENBQTRDO0FBQzVDLCtCQUErQjtBQUMvQixJQUFJIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
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("./plugins"), exports);
|
|
18
|
+
__exportStar(require("./validate-rules"), exports);
|
|
19
|
+
__exportStar(require("./types"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQixtREFBaUM7QUFDakMsMENBQXdCIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPluginOptions = getPluginOptions;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
function getPluginOptions(container, pluginName) {
|
|
6
|
+
try {
|
|
7
|
+
const configModule = container.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
|
8
|
+
const plugin = configModule.plugins?.find((p) => {
|
|
9
|
+
if (typeof p === "string") {
|
|
10
|
+
return p === pluginName;
|
|
11
|
+
}
|
|
12
|
+
return p.resolve === pluginName;
|
|
13
|
+
});
|
|
14
|
+
return typeof plugin === "object" ? plugin.options : undefined;
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsNENBYUM7QUFoQkQscURBQXFFO0FBR3JFLFNBQWdCLGdCQUFnQixDQUFDLFNBQTBCLEVBQUUsVUFBa0I7SUFDN0UsSUFBSSxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMvRSxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzlDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQTtZQUN6QixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQTtRQUNqQyxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDaEUsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLEtBQUssQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
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("../../modules/mpn-automation/types"), exports);
|
|
18
|
+
__exportStar(require("../../modules/mpn-automation/interfaces"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdXRpbHMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFFQUFrRDtBQUNsRCwwRUFBdUQifQ==
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateRuleValueCondition = validateRuleValueCondition;
|
|
4
|
+
exports.validateRulesForContext = validateRulesForContext;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
/**
|
|
7
|
+
* Validates a single rule value condition based on operator
|
|
8
|
+
*/
|
|
9
|
+
function validateRuleValueCondition(ruleValues, operator, ruleValuesToCheck) {
|
|
10
|
+
const valuesToCheck = Array.isArray(ruleValuesToCheck)
|
|
11
|
+
? ruleValuesToCheck
|
|
12
|
+
: [ruleValuesToCheck];
|
|
13
|
+
// Strict validation: if no values to check or any value is undefined/null, return false
|
|
14
|
+
if (!valuesToCheck.length) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
// Check if any value is undefined or null - this prevents bugs where attribute path is wrong
|
|
18
|
+
const hasInvalidValues = valuesToCheck.some((val) => val === undefined || val === null);
|
|
19
|
+
if (hasInvalidValues) {
|
|
20
|
+
console.warn("Rule validation failed: valuesToCheck contains undefined or null values", {
|
|
21
|
+
valuesToCheck,
|
|
22
|
+
ruleValues,
|
|
23
|
+
operator,
|
|
24
|
+
});
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
switch (operator) {
|
|
28
|
+
case "eq": {
|
|
29
|
+
const ruleValueSet = new Set(ruleValues);
|
|
30
|
+
return valuesToCheck.every((val) => ruleValueSet.has(`${val}`));
|
|
31
|
+
}
|
|
32
|
+
case "in": {
|
|
33
|
+
const ruleValueSet = new Set(ruleValues);
|
|
34
|
+
return valuesToCheck.some((val) => ruleValueSet.has(`${val}`));
|
|
35
|
+
}
|
|
36
|
+
case "ne": {
|
|
37
|
+
const ruleValueSet = new Set(ruleValues);
|
|
38
|
+
return valuesToCheck.every((val) => !ruleValueSet.has(`${val}`));
|
|
39
|
+
}
|
|
40
|
+
case "gt":
|
|
41
|
+
return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.gt(val, ruleVal)));
|
|
42
|
+
case "gte":
|
|
43
|
+
return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.gte(val, ruleVal)));
|
|
44
|
+
case "lt":
|
|
45
|
+
return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.lt(val, ruleVal)));
|
|
46
|
+
case "lte":
|
|
47
|
+
return valuesToCheck.every((val) => ruleValues.some((ruleVal) => utils_1.MathBN.lte(val, ruleVal)));
|
|
48
|
+
default:
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Validates rules for the given context.
|
|
54
|
+
*/
|
|
55
|
+
function validateRulesForContext(rules, context) {
|
|
56
|
+
if (!rules?.length) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
return rules.every((rule) => {
|
|
60
|
+
if (!rule.attribute || !rule.rule_values?.length) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
const validRuleValues = [];
|
|
64
|
+
for (const value of rule.rule_values) {
|
|
65
|
+
if (value.value && (0, utils_1.isString)(value.value)) {
|
|
66
|
+
validRuleValues.push(value.value);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (!validRuleValues.length) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
// Get value from context based on rule attribute
|
|
73
|
+
// e.g. "inventory_level.stocked_quantity" or "inventory_item.stocked_quantity"
|
|
74
|
+
const valuesToCheck = (0, utils_1.pickValueFromObject)(rule.attribute, context);
|
|
75
|
+
console.log("Rule evaluation:", {
|
|
76
|
+
attribute: rule.attribute,
|
|
77
|
+
operator: rule.operator,
|
|
78
|
+
ruleValues: validRuleValues,
|
|
79
|
+
valuesToCheck: valuesToCheck,
|
|
80
|
+
contextKeys: Object.keys(context),
|
|
81
|
+
});
|
|
82
|
+
return validateRuleValueCondition(validRuleValues, rule.operator, valuesToCheck);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdmFsaWRhdGUtcnVsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxnRUF5REM7QUFLRCwwREEwQ0M7QUE5R0QscURBQWlGO0FBR2pGOztHQUVHO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQ3hDLFVBQW9CLEVBQ3BCLFFBQWdCLEVBQ2hCLGlCQUEwRDtJQUUxRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO1FBQ3BELENBQUMsQ0FBQyxpQkFBaUI7UUFDbkIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUV2Qix3RkFBd0Y7SUFDeEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCw2RkFBNkY7SUFDN0YsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQTtJQUN2RixJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyx5RUFBeUUsRUFBRTtZQUN0RixhQUFhO1lBQ2IsVUFBVTtZQUNWLFFBQVE7U0FDVCxDQUFDLENBQUE7UUFDRixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNWLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ3hDLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNqRSxDQUFDO1FBQ0QsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ1YsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDeEMsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2hFLENBQUM7UUFDRCxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDVixNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN4QyxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNsRSxDQUFDO1FBQ0QsS0FBSyxJQUFJO1lBQ1AsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDakMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsY0FBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FDdEQsQ0FBQTtRQUNILEtBQUssS0FBSztZQUNSLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2pDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLGNBQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQ3ZELENBQUE7UUFDSCxLQUFLLElBQUk7WUFDUCxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxjQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUN0RCxDQUFBO1FBQ0gsS0FBSyxLQUFLO1lBQ1IsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDakMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsY0FBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FDdkQsQ0FBQTtRQUNIO1lBQ0UsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLHVCQUF1QixDQUNyQyxLQUF5QixFQUN6QixPQUE0QjtJQUU1QixJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqRCxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBYSxFQUFFLENBQUE7UUFDcEMsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckMsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUEsZ0JBQVEsRUFBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDbkMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztRQUVELGlEQUFpRDtRQUNqRCwrRUFBK0U7UUFDL0UsTUFBTSxhQUFhLEdBQUcsSUFBQSwyQkFBbUIsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBRWxFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUU7WUFDOUIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsZUFBZTtZQUMzQixhQUFhLEVBQUUsYUFBYTtZQUM1QixXQUFXLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDbEMsQ0FBQyxDQUFBO1FBRUYsT0FBTywwQkFBMEIsQ0FDL0IsZUFBZSxFQUNmLElBQUksQ0FBQyxRQUFRLEVBQ2IsYUFBYSxDQUNkLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
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"), exports);
|
|
18
|
+
__exportStar(require("./mpn-automation"), exports);
|
|
19
|
+
__exportStar(require("./notifications"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBMkI7QUFDM0IsbURBQWdDO0FBQ2hDLGtEQUErQiJ9
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getInventoryLevelByIdWorkflow = exports.getInventoryLevelByIdWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const get_inventory_level_by_id_1 = require("./steps/get-inventory-level-by-id");
|
|
6
|
+
exports.getInventoryLevelByIdWorkflowId = "get-inventory-level-by-id";
|
|
7
|
+
/**
|
|
8
|
+
* This workflow retrieves an inventory level by its ID with related inventory item.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const { result } = await getInventoryLevelByIdWorkflow(container).run({
|
|
12
|
+
* input: {
|
|
13
|
+
* inventory_level_id: "ilev_123"
|
|
14
|
+
* }
|
|
15
|
+
* })
|
|
16
|
+
*/
|
|
17
|
+
exports.getInventoryLevelByIdWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.getInventoryLevelByIdWorkflowId, (input) => {
|
|
18
|
+
const inventoryLevel = (0, get_inventory_level_by_id_1.getInventoryLevelByIdStep)({
|
|
19
|
+
inventory_level_id: input.inventory_level_id,
|
|
20
|
+
});
|
|
21
|
+
return new workflows_sdk_1.WorkflowResponse(inventoryLevel);
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWludmVudG9yeS1sZXZlbC1ieS1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW52ZW50b3J5L2dldC1pbnZlbnRvcnktbGV2ZWwtYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQWtHO0FBQ2xHLGlGQUE2RTtBQU1oRSxRQUFBLCtCQUErQixHQUFHLDJCQUEyQixDQUFBO0FBRTFFOzs7Ozs7Ozs7R0FTRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsSUFBQSw4QkFBYyxFQUN6RCx1Q0FBK0IsRUFDL0IsQ0FBQyxLQUF1RCxFQUFFLEVBQUU7SUFDMUQsTUFBTSxjQUFjLEdBQUcsSUFBQSxxREFBeUIsRUFBQztRQUMvQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO0tBQzdDLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUM3QyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -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("./get-inventory-level-by-id"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2ludmVudG9yeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOERBQTJDIn0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getInventoryLevelByIdStep = exports.getInventoryLevelByIdStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.getInventoryLevelByIdStepId = "get-inventory-level-by-id";
|
|
7
|
+
/**
|
|
8
|
+
* This step retrieves an inventory level by its ID with related inventory item.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const data = getInventoryLevelByIdStep({
|
|
12
|
+
* inventory_level_id: "ilev_123"
|
|
13
|
+
* })
|
|
14
|
+
*/
|
|
15
|
+
exports.getInventoryLevelByIdStep = (0, workflows_sdk_1.createStep)(exports.getInventoryLevelByIdStepId, async (input, { container }) => {
|
|
16
|
+
const inventoryService = container.resolve(utils_1.Modules.INVENTORY);
|
|
17
|
+
// Retrieve inventory level with inventory_item relation
|
|
18
|
+
const inventoryLevel = await inventoryService.retrieveInventoryLevel(input.inventory_level_id, {
|
|
19
|
+
relations: ["inventory_item"],
|
|
20
|
+
});
|
|
21
|
+
return new workflows_sdk_1.StepResponse({
|
|
22
|
+
inventory_level: inventoryLevel,
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWludmVudG9yeS1sZXZlbC1ieS1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvaW52ZW50b3J5L3N0ZXBzL2dldC1pbnZlbnRvcnktbGV2ZWwtYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQW1EO0FBQ25ELHFFQUE0RTtBQVkvRCxRQUFBLDJCQUEyQixHQUFHLDJCQUEyQixDQUFBO0FBRXRFOzs7Ozs7O0dBT0c7QUFDVSxRQUFBLHlCQUF5QixHQUFHLElBQUEsMEJBQVUsRUFDakQsbUNBQTJCLEVBQzNCLEtBQUssRUFDSCxLQUFxQyxFQUNyQyxFQUFFLFNBQVMsRUFBRSxFQUMyQyxFQUFFO0lBQzFELE1BQU0sZ0JBQWdCLEdBQXNCLFNBQVMsQ0FBQyxPQUFPLENBQzNELGVBQU8sQ0FBQyxTQUFTLENBQ2xCLENBQUE7SUFFRCx3REFBd0Q7SUFDeEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FDbEUsS0FBSyxDQUFDLGtCQUFrQixFQUN4QjtRQUNFLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO0tBQzlCLENBQ0YsQ0FBQTtJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLGVBQWUsRUFBRSxjQUFjO0tBQ2hDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -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("./get-inventory-level-by-id"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2ludmVudG9yeS9zdGVwcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOERBQTJDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAutomationWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const create_automation_1 = require("./steps/create-automation");
|
|
6
|
+
exports.createAutomationWorkflow = (0, workflows_sdk_1.createWorkflow)("create-automation", ({ items }) => {
|
|
7
|
+
const automation = (0, create_automation_1.createAutomationStep)({
|
|
8
|
+
items: items,
|
|
9
|
+
});
|
|
10
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
11
|
+
automation,
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG9tYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1hdXRvbWF0aW9uL2NyZWF0ZS1hdXRvbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFvRjtBQUNwRixpRUFBZ0U7QUFPbkQsUUFBQSx3QkFBd0IsR0FBRyxJQUFBLDhCQUFjLEVBQ3BELG1CQUFtQixFQUNuQixDQUFDLEVBQUUsS0FBSyxFQUFpQyxFQUFFLEVBQUU7SUFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBQSx3Q0FBb0IsRUFBQztRQUN0QyxLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixVQUFVO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.editAutomationActionsWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const edit_automation_actions_1 = require("./steps/edit-automation-actions");
|
|
6
|
+
exports.editAutomationActionsWorkflow = (0, workflows_sdk_1.createWorkflow)("edit-automation-actions", ({ triggerId, actions }) => {
|
|
7
|
+
const automationActions = (0, edit_automation_actions_1.editAutomationActionsStep)({
|
|
8
|
+
trigger_id: triggerId,
|
|
9
|
+
actions: actions,
|
|
10
|
+
});
|
|
11
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
12
|
+
actions: automationActions,
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hdXRvbWF0aW9uLWFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1hdXRvbWF0aW9uL2VkaXQtYXV0b21hdGlvbi1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFvRjtBQUNwRiw2RUFBMkU7QUFROUQsUUFBQSw2QkFBNkIsR0FBRyxJQUFBLDhCQUFjLEVBQ3pELHlCQUF5QixFQUN6QixDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBc0MsRUFBRSxFQUFFO0lBQzdELE1BQU0saUJBQWlCLEdBQUcsSUFBQSxtREFBeUIsRUFBQztRQUNsRCxVQUFVLEVBQUUsU0FBUztRQUNyQixPQUFPLEVBQUUsT0FBTztLQUNqQixDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsT0FBTyxFQUFFLGlCQUFpQjtLQUMzQixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.editAutomationRulesWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const edit_automation_rules_1 = require("./steps/edit-automation-rules");
|
|
6
|
+
exports.editAutomationRulesWorkflow = (0, workflows_sdk_1.createWorkflow)("edit-automation-rules", ({ triggerId, rules }) => {
|
|
7
|
+
const automationRules = (0, edit_automation_rules_1.editAutomationRulesStep)({
|
|
8
|
+
trigger_id: triggerId,
|
|
9
|
+
rules: rules,
|
|
10
|
+
});
|
|
11
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
12
|
+
rules: automationRules,
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hdXRvbWF0aW9uLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYXV0b21hdGlvbi9lZGl0LWF1dG9tYXRpb24tcnVsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQW9GO0FBQ3BGLHlFQUF1RTtBQVExRCxRQUFBLDJCQUEyQixHQUFHLElBQUEsOEJBQWMsRUFDdkQsdUJBQXVCLEVBQ3ZCLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxFQUFFLEVBQUU7SUFDekQsTUFBTSxlQUFlLEdBQUcsSUFBQSwrQ0FBdUIsRUFBQztRQUM5QyxVQUFVLEVBQUUsU0FBUztRQUNyQixLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixLQUFLLEVBQUUsZUFBZTtLQUN2QixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.editAutomationWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const edit_automation_1 = require("./steps/edit-automation");
|
|
6
|
+
exports.editAutomationWorkflow = (0, workflows_sdk_1.createWorkflow)("edit-automation", ({ id, items }) => {
|
|
7
|
+
const automation = (0, edit_automation_1.editAutomationStep)({
|
|
8
|
+
items: items,
|
|
9
|
+
});
|
|
10
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
11
|
+
automation,
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hdXRvbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tcG4tYXV0b21hdGlvbi9lZGl0LWF1dG9tYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQW9GO0FBQ3BGLDZEQUE0RDtBQVEvQyxRQUFBLHNCQUFzQixHQUFHLElBQUEsOEJBQWMsRUFDbEQsaUJBQWlCLEVBQ2pCLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUErQixFQUFFLEVBQUU7SUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBQSxvQ0FBa0IsRUFBQztRQUNwQyxLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixVQUFVO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
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("./validate-automation-triggers-by-event"), exports);
|
|
18
|
+
__exportStar(require("./run-automation"), exports);
|
|
19
|
+
__exportStar(require("./send-email-action"), exports);
|
|
20
|
+
__exportStar(require("./create-automation"), exports);
|
|
21
|
+
__exportStar(require("./edit-automation"), exports);
|
|
22
|
+
__exportStar(require("./edit-automation-rules"), exports);
|
|
23
|
+
__exportStar(require("./edit-automation-actions"), exports);
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1hdXRvbWF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwRUFBdUQ7QUFDdkQsbURBQWdDO0FBQ2hDLHNEQUFtQztBQUNuQyxzREFBbUM7QUFDbkMsb0RBQWlDO0FBQ2pDLDBEQUF1QztBQUN2Qyw0REFBeUMifQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runAutomationWorkflow = exports.runAutomationWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const validate_automation_triggers_by_event_1 = require("./validate-automation-triggers-by-event");
|
|
6
|
+
const run_automation_actions_1 = require("./steps/run-automation-actions");
|
|
7
|
+
const log_step_1 = require("../../workflows/steps/log-step");
|
|
8
|
+
exports.runAutomationWorkflowId = "run-automation";
|
|
9
|
+
/**
|
|
10
|
+
* Main workflow that executes automation scenarios for a given event.
|
|
11
|
+
*
|
|
12
|
+
* This workflow:
|
|
13
|
+
* 1. Retrieves all active triggers for the event
|
|
14
|
+
* 2. Validates triggers against the provided context
|
|
15
|
+
* 3. Executes actions for triggers that passed validation
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const { result } = await runAutomationWorkflow(container).run({
|
|
20
|
+
* input: {
|
|
21
|
+
* eventName: "inventory.inventory-level.updated",
|
|
22
|
+
* context: {
|
|
23
|
+
* inventory_level: {
|
|
24
|
+
* stocked_quantity: 5,
|
|
25
|
+
* inventory_item: {
|
|
26
|
+
* stocked_quantity: 5
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* }
|
|
31
|
+
* })
|
|
32
|
+
*
|
|
33
|
+
* console.log(`Executed ${result.triggersExecuted} triggers with ${result.totalActionsExecuted} actions`)
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
exports.runAutomationWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.runAutomationWorkflowId, (input) => {
|
|
37
|
+
// Step 1: Retrieve and validate triggers for the event
|
|
38
|
+
const validationResult = validate_automation_triggers_by_event_1.validateAutomationTriggersByEventWorkflow.runAsStep({
|
|
39
|
+
input: {
|
|
40
|
+
eventName: input.eventName,
|
|
41
|
+
eventType: input.eventType,
|
|
42
|
+
context: input.context,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
// Run actions for all validated triggers
|
|
46
|
+
const actionRunningResult = (0, run_automation_actions_1.runAutomationActionsStep)({
|
|
47
|
+
validated: validationResult.validated,
|
|
48
|
+
context: input.context,
|
|
49
|
+
});
|
|
50
|
+
// Combine all results
|
|
51
|
+
const finalResult = (0, workflows_sdk_1.transform)({ validationResult, actionRunningResult }, (data) => {
|
|
52
|
+
const validatedResults = data.validationResult.validated || [];
|
|
53
|
+
const actionRunningResults = data.actionRunningResult.results || [];
|
|
54
|
+
// Map action running results back to validation results
|
|
55
|
+
const actionsExecuted = validatedResults.map((action, index) => {
|
|
56
|
+
const actionRunningResult = actionRunningResults[index];
|
|
57
|
+
return {
|
|
58
|
+
triggerId: action.trigger.id || action.trigger.trigger_id,
|
|
59
|
+
isValid: action.isValid,
|
|
60
|
+
actionsExecuted: actionRunningResult?.actionsExecuted || 0,
|
|
61
|
+
actions: actionRunningResult?.actions || [],
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
const triggersExecuted = actionsExecuted.filter((r) => r.isValid && r.actionsExecuted > 0).length;
|
|
65
|
+
return {
|
|
66
|
+
triggersFound: data.validationResult.triggers.length || 0,
|
|
67
|
+
triggersValidated: validatedResults.length,
|
|
68
|
+
triggersExecuted: triggersExecuted,
|
|
69
|
+
totalActionsExecuted: data.actionRunningResult.totalActionsExecuted || 0,
|
|
70
|
+
actionsExecuted: actionsExecuted,
|
|
71
|
+
};
|
|
72
|
+
});
|
|
73
|
+
(0, log_step_1.logStep)(finalResult);
|
|
74
|
+
return new workflows_sdk_1.WorkflowResponse(finalResult);
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWF1dG9tYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1hdXRvbWF0aW9uL3J1bi1hdXRvbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RztBQUM3RyxtR0FBbUc7QUFDbkcsMkVBQXlFO0FBRXpFLDZEQUF3RDtBQXlCM0MsUUFBQSx1QkFBdUIsR0FBRyxnQkFBZ0IsQ0FBQTtBQUV2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLElBQUEsOEJBQWMsRUFDakQsK0JBQXVCLEVBQ3ZCLENBQUMsS0FBK0MsRUFBRSxFQUFFO0lBQ2xELHVEQUF1RDtJQUN2RCxNQUFNLGdCQUFnQixHQUFHLGlGQUF5QyxDQUFDLFNBQVMsQ0FBQztRQUMzRSxLQUFLLEVBQUU7WUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQzFCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QjtLQUNGLENBQUMsQ0FBQTtJQUVGLHlDQUF5QztJQUN6QyxNQUFNLG1CQUFtQixHQUFHLElBQUEsaURBQXdCLEVBQUM7UUFDbkQsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFNBQVM7UUFDckMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO0tBQ3ZCLENBQUMsQ0FBQTtJQUVGLHNCQUFzQjtJQUN0QixNQUFNLFdBQVcsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDaEYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQTtRQUM5RCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFBO1FBRW5FLHdEQUF3RDtRQUN4RCxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDMUUsTUFBTSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUV2RCxPQUFPO2dCQUNMLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7Z0JBQ3pELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztnQkFDdkIsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsSUFBSSxDQUFDO2dCQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxJQUFJLEVBQUU7YUFDNUMsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO1FBRXRHLE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUN6RCxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNO1lBQzFDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLElBQUksQ0FBQztZQUN4RSxlQUFlLEVBQUUsZUFBZTtTQUNqQyxDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixJQUFBLGtCQUFPLEVBQUMsV0FBVyxDQUFDLENBQUE7SUFFcEIsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQzFDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendEmailActionWorkflow = exports.sendEmailActionWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const send_email_1 = require("../notifications/send-email");
|
|
6
|
+
exports.sendEmailActionWorkflowId = "send-email-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.sendEmailActionWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.sendEmailActionWorkflowId, (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
|
+
templateName: actionConfig?.templateName,
|
|
54
|
+
to: actionConfig?.to,
|
|
55
|
+
locale: actionConfig?.locale,
|
|
56
|
+
subject: actionConfig?.subject,
|
|
57
|
+
customTemplate: actionConfig?.customTemplate,
|
|
58
|
+
template: actionConfig?.template,
|
|
59
|
+
resourceId: data?.action?.id,
|
|
60
|
+
resourceType: eventName,
|
|
61
|
+
triggerType: "mpn",
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
const result = send_email_1.sendEmailWorkflow.runAsStep({
|
|
65
|
+
input: {
|
|
66
|
+
settings: settings,
|
|
67
|
+
templateData: input.context,
|
|
68
|
+
eventName: input.eventName,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
return new workflows_sdk_1.WorkflowResponse(result);
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1lbWFpbC1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1hdXRvbWF0aW9uL3NlbmQtZW1haWwtYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RztBQUM3Ryw0REFBK0Q7QUFlbEQsUUFBQSx5QkFBeUIsR0FBRyxtQkFBbUIsQ0FBQTtBQUU1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUNHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDhCQUFjLEVBQ25ELGlDQUF5QixFQUN6QixDQUFDLEtBQWlELEVBQUUsRUFBRTtJQUNwRCwyREFBMkQ7SUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3hGLE1BQU0sWUFBWSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQTtRQUMvQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEVBQUUsU0FBUyxDQUFBO1FBRWpDLE9BQU87WUFDTCxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVk7WUFDeEMsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTTtZQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU87WUFDOUIsY0FBYyxFQUFFLFlBQVksRUFBRSxjQUFjO1lBQzVDLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUTtZQUNoQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzVCLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0sTUFBTSxHQUFHLDhCQUFpQixDQUFDLFNBQVMsQ0FBQztRQUN6QyxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsUUFBUTtZQUNsQixZQUFZLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDM0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1NBQzNCO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ3JDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAutomationStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const mpn_automation_1 = require("../../../modules/mpn-automation");
|
|
6
|
+
exports.createAutomationStep = (0, workflows_sdk_1.createStep)("create-automation", async ({ items }, { container }) => {
|
|
7
|
+
const mpnAutomationService = container.resolve(mpn_automation_1.MPN_AUTOMATION_MODULE);
|
|
8
|
+
const automation = await mpnAutomationService.createMpnAutomationTriggers(items.map((item) => ({
|
|
9
|
+
name: item.name,
|
|
10
|
+
description: item.description,
|
|
11
|
+
trigger_type: item.trigger_type,
|
|
12
|
+
event_name: item.event_name,
|
|
13
|
+
interval_minutes: item.interval_minutes,
|
|
14
|
+
active: item.active,
|
|
15
|
+
channels: item.channels
|
|
16
|
+
})));
|
|
17
|
+
return new workflows_sdk_1.StepResponse(automation, automation);
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG9tYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21wbi1hdXRvbWF0aW9uL3N0ZXBzL2NyZWF0ZS1hdXRvbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUU1RSxvRUFBdUU7QUFPMUQsUUFBQSxvQkFBb0IsR0FBRyxJQUFBLDBCQUFVLEVBQzVDLG1CQUFtQixFQUNuQixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQTZCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzVELE1BQU0sb0JBQW9CLEdBQXlCLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXFCLENBQUMsQ0FBQTtJQUUzRixNQUFNLFVBQVUsR0FBRyxNQUFNLG9CQUFvQixDQUFDLDJCQUEyQixDQUN2RSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztRQUM3QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7UUFDL0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1FBQzNCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7UUFDdkMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtLQUN4QixDQUFDLENBQUMsQ0FDSixDQUFBO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0FBQ2pELENBQUMsQ0FDRixDQUFBIn0=
|