@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,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ALL_EVENTS = exports.EVENT_ORDER_TYPES = exports.EVENT_CUSTOMER_TYPES = exports.EVENT_INVENTORY_TYPES = exports.INVENTORY_LEVEL_ATTRIBUTES = exports.INVENTORY_ITEM_ATTRIBUTES = exports.ACTION_TYPES = exports.TRIGGER_TYPES = exports.OPERATOR_TYPES = exports.OperatorType = exports.ActionType = exports.TriggerType = void 0;
|
|
4
|
+
var TriggerType;
|
|
5
|
+
(function (TriggerType) {
|
|
6
|
+
TriggerType["EVENT"] = "event";
|
|
7
|
+
TriggerType["SCHEDULE"] = "schedule";
|
|
8
|
+
TriggerType["MANUAL"] = "manual";
|
|
9
|
+
})(TriggerType || (exports.TriggerType = TriggerType = {}));
|
|
10
|
+
var ActionType;
|
|
11
|
+
(function (ActionType) {
|
|
12
|
+
ActionType["EMAIL"] = "email";
|
|
13
|
+
ActionType["SMS"] = "sms";
|
|
14
|
+
ActionType["PUSH"] = "push";
|
|
15
|
+
ActionType["IN_APP"] = "in_app";
|
|
16
|
+
ActionType["SLACK"] = "slack";
|
|
17
|
+
ActionType["ADMIN"] = "admin";
|
|
18
|
+
})(ActionType || (exports.ActionType = ActionType = {}));
|
|
19
|
+
var OperatorType;
|
|
20
|
+
(function (OperatorType) {
|
|
21
|
+
OperatorType["EQUAL"] = "eq";
|
|
22
|
+
OperatorType["NOT_EQUAL"] = "neq";
|
|
23
|
+
OperatorType["GREATER_THAN"] = "gt";
|
|
24
|
+
OperatorType["LESS_THAN"] = "lt";
|
|
25
|
+
OperatorType["GREATER_THAN_OR_EQUAL"] = "gte";
|
|
26
|
+
OperatorType["LESS_THAN_OR_EQUAL"] = "lte";
|
|
27
|
+
})(OperatorType || (exports.OperatorType = OperatorType = {}));
|
|
28
|
+
exports.OPERATOR_TYPES = [
|
|
29
|
+
{
|
|
30
|
+
value: OperatorType.EQUAL,
|
|
31
|
+
label: "Equal"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
value: OperatorType.NOT_EQUAL,
|
|
35
|
+
label: "Not Equal"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
value: OperatorType.GREATER_THAN,
|
|
39
|
+
label: "Greater Than"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
value: OperatorType.LESS_THAN,
|
|
43
|
+
label: "Less Than"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
value: OperatorType.GREATER_THAN_OR_EQUAL,
|
|
47
|
+
label: "Greater Than or Equal"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
value: OperatorType.LESS_THAN_OR_EQUAL,
|
|
51
|
+
label: "Less Than or Equal"
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
exports.TRIGGER_TYPES = [
|
|
55
|
+
{
|
|
56
|
+
value: TriggerType.EVENT,
|
|
57
|
+
label: "Event"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
value: TriggerType.SCHEDULE,
|
|
61
|
+
label: "Schedule"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
value: TriggerType.MANUAL,
|
|
65
|
+
label: "Manual"
|
|
66
|
+
}
|
|
67
|
+
];
|
|
68
|
+
exports.ACTION_TYPES = [
|
|
69
|
+
{
|
|
70
|
+
value: ActionType.EMAIL,
|
|
71
|
+
label: "Email"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
value: ActionType.SMS,
|
|
75
|
+
label: "SMS"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
value: ActionType.PUSH,
|
|
79
|
+
label: "Push"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
value: ActionType.IN_APP,
|
|
83
|
+
label: "In App"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
value: ActionType.SLACK,
|
|
87
|
+
label: "Slack"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
value: ActionType.ADMIN,
|
|
91
|
+
label: "Admin"
|
|
92
|
+
},
|
|
93
|
+
];
|
|
94
|
+
exports.INVENTORY_ITEM_ATTRIBUTES = [
|
|
95
|
+
{
|
|
96
|
+
value: "inventory_item.stocked_quantity",
|
|
97
|
+
label: "Stocked Quantity"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
value: "inventory_item.reserved_quantity",
|
|
101
|
+
label: "Reserved Quantity"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
value: "inventory_item.available_quantity",
|
|
105
|
+
label: "Available Quantity"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
value: "inventory_item.incoming_quantity",
|
|
109
|
+
label: "Incoming Quantity"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
value: "inventory_item.location_id",
|
|
113
|
+
label: "Location ID"
|
|
114
|
+
},
|
|
115
|
+
];
|
|
116
|
+
exports.INVENTORY_LEVEL_ATTRIBUTES = [
|
|
117
|
+
{
|
|
118
|
+
value: "inventory_level.stocked_quantity",
|
|
119
|
+
label: "Stocked Quantity"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
value: "inventory_level.reserved_quantity",
|
|
123
|
+
label: "Reserved Quantity"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
value: "inventory_level.available_quantity",
|
|
127
|
+
label: "Available Quantity"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
value: "inventory_level.incoming_quantity",
|
|
131
|
+
label: "Incoming Quantity"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
value: "inventory_level.location_id",
|
|
135
|
+
label: "Location ID"
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
exports.EVENT_INVENTORY_TYPES = [
|
|
139
|
+
{
|
|
140
|
+
value: "inventory.inventory-level.created",
|
|
141
|
+
label: "Inventory Level Created",
|
|
142
|
+
attributes: exports.INVENTORY_LEVEL_ATTRIBUTES
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
value: "inventory.inventory-level.updated",
|
|
146
|
+
label: "Inventory Level Updated",
|
|
147
|
+
attributes: exports.INVENTORY_LEVEL_ATTRIBUTES
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
value: "inventory.inventory-level.deleted",
|
|
151
|
+
label: "Inventory Level Deleted",
|
|
152
|
+
attributes: exports.INVENTORY_LEVEL_ATTRIBUTES
|
|
153
|
+
}
|
|
154
|
+
];
|
|
155
|
+
exports.EVENT_CUSTOMER_TYPES = [
|
|
156
|
+
{
|
|
157
|
+
value: "customer.created",
|
|
158
|
+
label: "Customer Created"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
value: "customer.updated",
|
|
162
|
+
label: "Customer Updated"
|
|
163
|
+
}
|
|
164
|
+
];
|
|
165
|
+
exports.EVENT_ORDER_TYPES = [
|
|
166
|
+
{
|
|
167
|
+
value: "order.placed",
|
|
168
|
+
label: "Order Placed"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
value: "order.completed",
|
|
172
|
+
label: "Order Completed"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
value: "order.shipped",
|
|
176
|
+
label: "Order Shipped"
|
|
177
|
+
}
|
|
178
|
+
];
|
|
179
|
+
exports.ALL_EVENTS = [
|
|
180
|
+
{
|
|
181
|
+
name: "Inventory",
|
|
182
|
+
events: [
|
|
183
|
+
...exports.EVENT_INVENTORY_TYPES,
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: "Customer",
|
|
188
|
+
events: [
|
|
189
|
+
...exports.EVENT_CUSTOMER_TYPES,
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
name: "Order",
|
|
194
|
+
events: [
|
|
195
|
+
...exports.EVENT_ORDER_TYPES,
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
];
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tcG4tYXV0b21hdGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEwQkEsSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZixvQ0FBcUIsQ0FBQTtJQUNyQixnQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsV0FBVywyQkFBWCxXQUFXLFFBSXRCO0FBRUQsSUFBWSxVQU9YO0FBUEQsV0FBWSxVQUFVO0lBQ3BCLDZCQUFlLENBQUE7SUFDZix5QkFBVyxDQUFBO0lBQ1gsMkJBQWEsQ0FBQTtJQUNiLCtCQUFpQixDQUFBO0lBQ2pCLDZCQUFlLENBQUE7SUFDZiw2QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFQVyxVQUFVLDBCQUFWLFVBQVUsUUFPckI7QUFFRCxJQUFZLFlBT1g7QUFQRCxXQUFZLFlBQVk7SUFDdEIsNEJBQVksQ0FBQTtJQUNaLGlDQUFpQixDQUFBO0lBQ2pCLG1DQUFtQixDQUFBO0lBQ25CLGdDQUFnQixDQUFBO0lBQ2hCLDZDQUE2QixDQUFBO0lBQzdCLDBDQUEwQixDQUFBO0FBQzVCLENBQUMsRUFQVyxZQUFZLDRCQUFaLFlBQVksUUFPdkI7QUFFWSxRQUFBLGNBQWMsR0FBRztJQUM1QjtRQUNFLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSztRQUN6QixLQUFLLEVBQUUsT0FBTztLQUNmO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDN0IsS0FBSyxFQUFFLFdBQVc7S0FDbkI7SUFDRDtRQUNFLEtBQUssRUFBRSxZQUFZLENBQUMsWUFBWTtRQUNoQyxLQUFLLEVBQUUsY0FBYztLQUN0QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLFlBQVksQ0FBQyxTQUFTO1FBQzdCLEtBQUssRUFBRSxXQUFXO0tBQ25CO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsWUFBWSxDQUFDLHFC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
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = inventoryItemUpdatedHandler;
|
|
5
|
+
// import { renderTemplate } from "@codee-sh/medusa-plugin-notification/templates/emails"
|
|
6
|
+
// import { TEMPLATES_NAMES } from "@codee-sh/medusa-plugin-notification/templates/emails/types"
|
|
7
|
+
// import { formatDate, getFormattedAddress, getLocaleAmount, getTotalCaptured } from "@codee-sh/medusa-plugin-notification/utils"
|
|
8
|
+
// import { getPluginOptions } from "@codee-sh/medusa-plugin-notification/utils/plugins"
|
|
9
|
+
async function inventoryItemUpdatedHandler({ event: { data: data }, container, }) {
|
|
10
|
+
// const pluginOptions = getPluginOptions(container, "@codee-sh/medusa-plugin-notification")
|
|
11
|
+
// const notificationModuleService = container.resolve(
|
|
12
|
+
// Modules.NOTIFICATION
|
|
13
|
+
// )
|
|
14
|
+
// const query = container.resolve(ContainerRegistrationKeys.QUERY)
|
|
15
|
+
// const triggerType = trigger_type || 'system'
|
|
16
|
+
console.log("inventoryItemUpdatedHandler");
|
|
17
|
+
console.log(data);
|
|
18
|
+
}
|
|
19
|
+
exports.config = {
|
|
20
|
+
event: "inventory.inventory-item.updated",
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LWl0ZW0tdXBkYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9pbnZlbnRvcnktaXRlbS11cGRhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLDhDQWFDO0FBbEJELHlGQUF5RjtBQUN6RixnR0FBZ0c7QUFDaEcsa0lBQWtJO0FBQ2xJLHdGQUF3RjtBQUV6RSxLQUFLLFVBQVUsMkJBQTJCLENBQUMsRUFDeEQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUNyQixTQUFTLEdBQ1c7SUFDcEIsNEZBQTRGO0lBRTVGLHVEQUF1RDtJQUN2RCx5QkFBeUI7SUFDekIsSUFBSTtJQUNKLG1FQUFtRTtJQUNuRSwrQ0FBK0M7SUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDcEIsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsa0NBQWtDO0NBQzFDLENBQUEifQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = inventoryLevelUpdatedHandler;
|
|
5
|
+
const get_inventory_level_by_id_1 = require("../workflows/inventory/get-inventory-level-by-id");
|
|
6
|
+
const run_automation_1 = require("../workflows/mpn-automation/run-automation");
|
|
7
|
+
const types_1 = require("../utils/types");
|
|
8
|
+
const eventName = "inventory.inventory-level.updated";
|
|
9
|
+
/**
|
|
10
|
+
* Subscriber that runs the automation workflow for the inventory level updated event.
|
|
11
|
+
*
|
|
12
|
+
* This subscriber is triggered when an inventory level is updated.
|
|
13
|
+
* It runs the automation workflow.
|
|
14
|
+
*
|
|
15
|
+
* @param event - The event data containing the inventory level ID.
|
|
16
|
+
* @param container - The container instance.
|
|
17
|
+
*/
|
|
18
|
+
async function inventoryLevelUpdatedHandler({ event: { data: { id } }, container, }) {
|
|
19
|
+
// Retrieve inventory level with related inventory item
|
|
20
|
+
const { result: { inventory_level } } = await (0, get_inventory_level_by_id_1.getInventoryLevelByIdWorkflow)(container).run({
|
|
21
|
+
input: {
|
|
22
|
+
inventory_level_id: id,
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const contextData = {
|
|
26
|
+
inventory_level: inventory_level,
|
|
27
|
+
};
|
|
28
|
+
// Run automation workflow - this will:
|
|
29
|
+
// 1. Retrieve triggers for the event
|
|
30
|
+
// 2. Validate triggers against context
|
|
31
|
+
// 3. Execute actions for validated triggers
|
|
32
|
+
const { result } = await (0, run_automation_1.runAutomationWorkflow)(container).run({
|
|
33
|
+
input: {
|
|
34
|
+
eventName: eventName,
|
|
35
|
+
eventType: types_1.TriggerType.EVENT,
|
|
36
|
+
context: contextData,
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
exports.config = {
|
|
41
|
+
event: eventName,
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LWxldmVsLXVwZGF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvaW52ZW50b3J5LWxldmVsLXVwZGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBLCtDQTBCQztBQXpDRCxnR0FBZ0c7QUFDaEcsK0VBQWtGO0FBQ2xGLDBDQUE0QztBQUU1QyxNQUFNLFNBQVMsR0FBRyxtQ0FBbUMsQ0FBQTtBQUVyRDs7Ozs7Ozs7R0FRRztBQUNZLEtBQUssVUFBVSw0QkFBNEIsQ0FBQyxFQUN6RCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUN2QixTQUFTLEdBQ3NCO0lBQy9CLHVEQUF1RDtJQUN2RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsZUFBZSxFQUFFLEVBQUUsR0FBRyxNQUFNLElBQUEseURBQTZCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3pGLEtBQUssRUFBRTtZQUNMLGtCQUFrQixFQUFFLEVBQUU7U0FDdkI7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLFdBQVcsR0FBRztRQUNsQixlQUFlLEVBQUUsZUFBZTtLQUNqQyxDQUFBO0lBRUQsdUNBQXVDO0lBQ3ZDLHFDQUFxQztJQUNyQyx1Q0FBdUM7SUFDdkMsNENBQTRDO0lBQzVDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsc0NBQXFCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzVELEtBQUssRUFBRTtZQUNMLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFNBQVMsRUFBRSxtQkFBVyxDQUFDLEtBQUs7WUFDNUIsT0FBTyxFQUFFLFdBQVc7U0FDckI7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUEifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = inventoryReservationItemUpdatedHandler;
|
|
5
|
+
// import { renderTemplate } from "@codee-sh/medusa-plugin-notification/templates/emails"
|
|
6
|
+
// import { TEMPLATES_NAMES } from "@codee-sh/medusa-plugin-notification/templates/emails/types"
|
|
7
|
+
// import { formatDate, getFormattedAddress, getLocaleAmount, getTotalCaptured } from "@codee-sh/medusa-plugin-notification/utils"
|
|
8
|
+
// import { getPluginOptions } from "@codee-sh/medusa-plugin-notification/utils/plugins"
|
|
9
|
+
async function inventoryReservationItemUpdatedHandler({ event: { data: data }, container, }) {
|
|
10
|
+
// const pluginOptions = getPluginOptions(container, "@codee-sh/medusa-plugin-notification")
|
|
11
|
+
// const notificationModuleService = container.resolve(
|
|
12
|
+
// Modules.NOTIFICATION
|
|
13
|
+
// )
|
|
14
|
+
// const query = container.resolve(ContainerRegistrationKeys.QUERY)
|
|
15
|
+
// const triggerType = trigger_type || 'system'
|
|
16
|
+
// console.log("inventoryReservationItemUpdatedHandler");
|
|
17
|
+
// console.log(data);
|
|
18
|
+
}
|
|
19
|
+
exports.config = {
|
|
20
|
+
event: "inventory.reservation-item.updated",
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LXJlc2VydmF0aW9uLWl0ZW0tdXBkYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9pbnZlbnRvcnktcmVzZXJ2YXRpb24taXRlbS11cGRhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLHlEQWNDO0FBbkJELHlGQUF5RjtBQUN6RixnR0FBZ0c7QUFDaEcsa0lBQWtJO0FBQ2xJLHdGQUF3RjtBQUV6RSxLQUFLLFVBQVUsc0NBQXNDLENBQUMsRUFDbkUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUNyQixTQUFTLEdBQ1c7SUFDcEIsNEZBQTRGO0lBRTVGLHVEQUF1RDtJQUN2RCx5QkFBeUI7SUFDekIsSUFBSTtJQUNKLG1FQUFtRTtJQUNuRSwrQ0FBK0M7SUFFL0MseURBQXlEO0lBQ3pELHFCQUFxQjtBQUN2QixDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSxvQ0FBb0M7Q0FDNUMsQ0FBQSJ9
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = mpnAutomationActionEmailExecutedHandler;
|
|
5
|
+
const send_email_action_1 = require("../workflows/mpn-automation/send-email-action");
|
|
6
|
+
/**
|
|
7
|
+
* Event name for the MPN automation action email executed event.
|
|
8
|
+
*/
|
|
9
|
+
const eventName = "mpn.automation.action.email.executed";
|
|
10
|
+
/**
|
|
11
|
+
* Subscriber that runs the email action workflow for the MPN automation system.
|
|
12
|
+
*
|
|
13
|
+
* This subscriber is triggered when an email action is executed by the MPN automation system.
|
|
14
|
+
* It runs the email action workflow to send an email notification.
|
|
15
|
+
*
|
|
16
|
+
* @param event - The event data containing the action and context.
|
|
17
|
+
* @param container - The container instance.
|
|
18
|
+
*/
|
|
19
|
+
async function mpnAutomationActionEmailExecutedHandler({ event: { data }, container, }) {
|
|
20
|
+
const { action, context, eventName } = data;
|
|
21
|
+
// Execute email action workflow
|
|
22
|
+
const { result } = await (0, send_email_action_1.sendEmailActionWorkflow)(container).run({
|
|
23
|
+
input: {
|
|
24
|
+
action: {
|
|
25
|
+
...action,
|
|
26
|
+
config: {
|
|
27
|
+
...action.config,
|
|
28
|
+
templateName: action?.config?.templateName ?? "inventory-level",
|
|
29
|
+
to: action?.config?.to ?? "chris@iamcodee.co",
|
|
30
|
+
locale: action?.config?.locale ?? "pl",
|
|
31
|
+
subject: action?.config?.subject ?? "Inventory Level Updated",
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
context: context,
|
|
35
|
+
eventName: eventName,
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
if (!result.success) {
|
|
39
|
+
console.error(`Failed to send email action ${action?.id}:`, result.error);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.config = {
|
|
43
|
+
event: eventName,
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBuLmF1dG9tYXRpb24uYWN0aW9uLmVtYWlsLmV4ZWN1dGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL21wbi5hdXRvbWF0aW9uLmFjdGlvbi5lbWFpbC5leGVjdXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpQkEsMERBMkJDO0FBM0NELHFGQUF3RjtBQUV4Rjs7R0FFRztBQUNILE1BQU0sU0FBUyxHQUFHLHNDQUFzQyxDQUFBO0FBRXhEOzs7Ozs7OztHQVFHO0FBQ1ksS0FBSyxVQUFVLHVDQUF1QyxDQUFDLEVBQ3BFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUNmLFNBQVMsR0FDVztJQUNwQixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFNUMsZ0NBQWdDO0lBQ2hDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsMkNBQXVCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlELEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRTtnQkFDTixHQUFHLE1BQU07Z0JBQ1QsTUFBTSxFQUFFO29CQUNOLEdBQUcsTUFBTSxDQUFDLE1BQU07b0JBQ2hCLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksSUFBSSxpQkFBaUI7b0JBQy9ELEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxtQkFBbUI7b0JBQzdDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxJQUFJO29CQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLElBQUkseUJBQXlCO2lCQUM5RDthQUNGO1lBQ0QsT0FBTyxFQUFFLE9BQU87WUFDaEIsU0FBUyxFQUFFLFNBQVM7U0FDckI7S0FDRixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUUsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLFNBQVM7Q0FDakIsQ0FBQyJ9
|
|
@@ -0,0 +1,110 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
// export default async function orderCompletedHandler({
|
|
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
|
+
// 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
|
+
// "updated_at",
|
|
32
|
+
// "payment_collections.*",
|
|
33
|
+
// "items.*",
|
|
34
|
+
// "items.variant.*",
|
|
35
|
+
// "items.variant.product.*",
|
|
36
|
+
// "currency_code",
|
|
37
|
+
// "display_id",
|
|
38
|
+
// "sales_channel.name",
|
|
39
|
+
// "sales_channel.description",
|
|
40
|
+
// "shipping_address.*",
|
|
41
|
+
// "billing_address.*",
|
|
42
|
+
// "summary.*",
|
|
43
|
+
// "tax_total",
|
|
44
|
+
// "discount_total",
|
|
45
|
+
// ],
|
|
46
|
+
// filters: {
|
|
47
|
+
// id: id,
|
|
48
|
+
// },
|
|
49
|
+
// })
|
|
50
|
+
// if (!order) {
|
|
51
|
+
// return
|
|
52
|
+
// }
|
|
53
|
+
// const shippingAddressText = getFormattedAddress({ address: order.shipping_address }).join("<br/>");
|
|
54
|
+
// const billingAddressText = getFormattedAddress({ address: order.billing_address }).join("<br/>");
|
|
55
|
+
// const templateData = {
|
|
56
|
+
// sales_channel: {
|
|
57
|
+
// name: order?.sales_channel?.name,
|
|
58
|
+
// description: order?.sales_channel?.description,
|
|
59
|
+
// },
|
|
60
|
+
// orderNumber: `#${order.display_id}`,
|
|
61
|
+
// customerName: order.email,
|
|
62
|
+
// customerEmail: order.email,
|
|
63
|
+
// orderDate: formatDate({ date: order.created_at, includeTime: true, localeCode: "pl" }),
|
|
64
|
+
// completedDate: formatDate({ date: order.updated_at || order.created_at, includeTime: true, localeCode: "pl" }),
|
|
65
|
+
// totalAmount: order.items.reduce((acc, item) => acc + (item.variant?.prices?.[0]?.amount || 0) * item.quantity, 0),
|
|
66
|
+
// currency: order.currency_code,
|
|
67
|
+
// items: order.items.map((item) => ({
|
|
68
|
+
// thumbnail: item.thumbnail,
|
|
69
|
+
// title: item.title,
|
|
70
|
+
// quantity: item.quantity,
|
|
71
|
+
// price: getLocaleAmount(item.unit_price, order.currency_code),
|
|
72
|
+
// })),
|
|
73
|
+
// shippingAddress: shippingAddressText,
|
|
74
|
+
// billingAddress: billingAddressText,
|
|
75
|
+
// summary: {
|
|
76
|
+
// total: getLocaleAmount(order.summary.original_order_total, order.currency_code),
|
|
77
|
+
// paid_total: getLocaleAmount(getTotalCaptured(order.payment_collections || []), order.currency_code),
|
|
78
|
+
// tax_total: getLocaleAmount(order.tax_total, order.currency_code),
|
|
79
|
+
// discount_total: getLocaleAmount(order.discount_total, order.currency_code),
|
|
80
|
+
// currency_code: order.currency_code,
|
|
81
|
+
// }
|
|
82
|
+
// };
|
|
83
|
+
// const templateName = TEMPLATES_NAMES.ORDER_COMPLETED
|
|
84
|
+
// const { html, text, subject } = await renderTemplate(
|
|
85
|
+
// templateName,
|
|
86
|
+
// templateData,
|
|
87
|
+
// {
|
|
88
|
+
// locale: "pl",
|
|
89
|
+
// customTranslations: pluginOptions?.customTranslations?.[templateName]
|
|
90
|
+
// }
|
|
91
|
+
// )
|
|
92
|
+
// const result = await notificationModuleService.createNotifications({
|
|
93
|
+
// to: order.email,
|
|
94
|
+
// channel: "email",
|
|
95
|
+
// template: templateName,
|
|
96
|
+
// trigger_type: triggerType,
|
|
97
|
+
// resource_id: id,
|
|
98
|
+
// resource_type: "order",
|
|
99
|
+
// data: templateData,
|
|
100
|
+
// content: {
|
|
101
|
+
// subject: subject,
|
|
102
|
+
// html,
|
|
103
|
+
// text,
|
|
104
|
+
// },
|
|
105
|
+
// })
|
|
106
|
+
// }
|
|
107
|
+
// export const config: SubscriberConfig = {
|
|
108
|
+
// event: "order.completed",
|
|
109
|
+
// }
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItY29tcGxldGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL29yZGVyLWNvbXBsZXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsV0FBVztBQUNYLG9CQUFvQjtBQUNwQiwyQkFBMkI7QUFDM0IsNEJBQTRCO0FBQzVCLDhGQUE4RjtBQUM5Rix5RkFBeUY7QUFDekYsZ0dBQWdHO0FBQ2hHLGtJQUFrSTtBQUNsSSx3RkFBd0Y7O0FBRXhGLHdEQUF3RDtBQUN4RCwyQ0FBMkM7QUFDM0MsZUFBZTtBQUNmLDZEQUE2RDtBQUM3RCw4RkFBOEY7QUFFOUYseURBQXlEO0FBQ3pELDJCQUEyQjtBQUMzQixNQUFNO0FBQ04scUVBQXFFO0FBQ3JFLGlEQUFpRDtBQUVqRCxlQUFlO0FBQ2Ysd0ZBQXdGO0FBQ3hGLE1BQU07QUFFTixrREFBa0Q7QUFDbEQsdUJBQXVCO0FBQ3ZCLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsaUJBQWlCO0FBQ2pCLHNCQUFzQjtBQUN0QixzQkFBc0I7QUFDdEIsaUNBQWlDO0FBQ2pDLG1CQUFtQjtBQUNuQiwyQkFBMkI7QUFDM0IsbUNBQW1DO0FBQ25DLHlCQUF5QjtBQUN6QixzQkFBc0I7QUFDdEIsOEJBQThCO0FBQzlCLHFDQUFxQztBQUNyQyw4QkFBOEI7QUFDOUIsNkJBQTZCO0FBQzdCLHFCQUFxQjtBQUNyQixxQkFBcUI7QUFDckIsMEJBQTBCO0FBQzFCLFNBQVM7QUFDVCxpQkFBaUI7QUFDakIsZ0JBQWdCO0FBQ2hCLFNBQVM7QUFDVCxPQUFPO0FBRVAsa0JBQWtCO0FBQ2xCLGFBQWE7QUFDYixNQUFNO0FBRU4sd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0RywyQkFBMkI7QUFDM0IsdUJBQXVCO0FBQ3ZCLDBDQUEwQztBQUMxQyx3REFBd0Q7QUFDeEQsU0FBUztBQUNULDJDQUEyQztBQUMzQyxpQ0FBaUM7QUFDakMsa0NBQWtDO0FBQ2xDLDhGQUE4RjtBQUM5RixzSEFBc0g7QUFDdEgseUhBQXlIO0FBQ3pILHFDQUFxQztBQUNyQywwQ0FBMEM7QUFDMUMsbUNBQW1DO0FBQ25DLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakMsc0VBQXNFO0FBQ3RFLFdBQVc7QUFDWCw0Q0FBNEM7QUFDNUMsMENBQTBDO0FBQzFDLGlCQUFpQjtBQUNqQix5RkFBeUY7QUFDekYsNkdBQTZHO0FBQzdHLDBFQUEwRTtBQUMxRSxvRkFBb0Y7QUFDcEYsNENBQTRDO0FBQzVDLFFBQVE7QUFDUixPQUFPO0FBRVAseURBQXlEO0FBRXpELDBEQUEwRDtBQUMxRCxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLFNBQVM7QUFDVCxzQkFBc0I7QUFDdEIsOEVBQThFO0FBQzlFLFFBQVE7QUFDUixNQUFNO0FBRU4seUVBQXlFO0FBQ3pFLHVCQUF1QjtBQUN2Qix3QkFBd0I7QUFDeEIsOEJBQThCO0FBQzlCLGlDQUFpQztBQUNqQyx1QkFBdUI7QUFDdkIsOEJBQThCO0FBQzlCLDBCQUEwQjtBQUMxQixpQkFBaUI7QUFDakIsMEJBQTBCO0FBQzFCLGNBQWM7QUFDZCxjQUFjO0FBQ2QsU0FBUztBQUNULE9BQU87QUFDUCxJQUFJO0FBRUosNENBQTRDO0FBQzVDLDhCQUE4QjtBQUM5QixJQUFJIn0=
|
|
@@ -0,0 +1,108 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
// export default async function orderPlacedHandler({
|
|
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
|
+
// 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGxhY2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL29yZGVyLXBsYWNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsV0FBVztBQUNYLG9CQUFvQjtBQUNwQiwyQkFBMkI7QUFDM0IsNEJBQTRCO0FBQzVCLDhGQUE4RjtBQUM5Rix5RkFBeUY7QUFDekYsZ0dBQWdHO0FBQ2hHLGtJQUFrSTtBQUNsSSx3RkFBd0Y7O0FBRXhGLHFEQUFxRDtBQUNyRCwyQ0FBMkM7QUFDM0MsZUFBZTtBQUNmLDZEQUE2RDtBQUM3RCw4RkFBOEY7QUFFOUYseURBQXlEO0FBQ3pELDJCQUEyQjtBQUMzQixNQUFNO0FBQ04scUVBQXFFO0FBQ3JFLGlEQUFpRDtBQUVqRCxlQUFlO0FBQ2Ysd0ZBQXdGO0FBQ3hGLE1BQU07QUFFTixrREFBa0Q7QUFDbEQsdUJBQXVCO0FBQ3ZCLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsaUJBQWlCO0FBQ2pCLHNCQUFzQjtBQUN0QixpQ0FBaUM7QUFDakMsbUJBQW1CO0FBQ25CLDJCQUEyQjtBQUMzQixtQ0FBbUM7QUFDbkMseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIscUNBQXFDO0FBQ3JDLDhCQUE4QjtBQUM5Qiw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLHFCQUFxQjtBQUNyQiwwQkFBMEI7QUFDMUIsU0FBUztBQUNULGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsU0FBUztBQUNULE9BQU87QUFFUCxrQkFBa0I7QUFDbEIsYUFBYTtBQUNiLE1BQU07QUFFTix3R0FBd0c7QUFDeEcsc0dBQXNHO0FBQ3RHLDJCQUEyQjtBQUMzQix1QkFBdUI7QUFDdkIsMENBQTBDO0FBQzFDLHdEQUF3RDtBQUN4RCxTQUFTO0FBQ1QsMkNBQTJDO0FBQzNDLGlDQUFpQztBQUNqQyxrQ0FBa0M7QUFDbEMsOEZBQThGO0FBQzlGLHlIQUF5SDtBQUN6SCxxQ0FBcUM7QUFDckMsMENBQTBDO0FBQzFDLG1DQUFtQztBQUNuQywyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDLHNFQUFzRTtBQUN0RSxXQUFXO0FBQ1gsNENBQTRDO0FBQzVDLDBDQUEwQztBQUMxQyxpQkFBaUI7QUFDakIseUZBQXlGO0FBQ3pGLDZHQUE2RztBQUM3RywwRUFBMEU7QUFDMUUsb0ZBQW9GO0FBQ3BGLDRDQUE0QztBQUM1QyxRQUFRO0FBQ1IsT0FBTztBQUVQLHNEQUFzRDtBQUV0RCwwREFBMEQ7QUFDMUQsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixTQUFTO0FBQ1Qsc0JBQXNCO0FBQ3RCLDhFQUE4RTtBQUM5RSxRQUFRO0FBQ1IsTUFBTTtBQUVOLHlFQUF5RTtBQUN6RSx1QkFBdUI7QUFDdkIsd0JBQXdCO0FBQ3hCLDhCQUE4QjtBQUM5QixpQ0FBaUM7QUFDakMsdUJBQXVCO0FBQ3ZCLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsaUJBQWlCO0FBQ2pCLDBCQUEwQjtBQUMxQixjQUFjO0FBQ2QsY0FBYztBQUNkLFNBQVM7QUFDVCxPQUFPO0FBQ1AsSUFBSTtBQUVKLDRDQUE0QztBQUM1QywyQkFBMkI7QUFDM0IsSUFBSSJ9
|