@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.
Files changed (78) hide show
  1. package/.medusa/server/src/admin/index.js +9931 -0
  2. package/.medusa/server/src/admin/index.mjs +9929 -0
  3. package/.medusa/server/src/admin/lib/sdk.js +15 -0
  4. package/.medusa/server/src/api/admin/mpn/automations/actions/route.js +78 -0
  5. package/.medusa/server/src/api/admin/mpn/automations/available-actions/route.js +12 -0
  6. package/.medusa/server/src/api/admin/mpn/automations/available-events/route.js +14 -0
  7. package/.medusa/server/src/api/admin/mpn/automations/available-triggers/route.js +12 -0
  8. package/.medusa/server/src/api/admin/mpn/automations/route.js +71 -0
  9. package/.medusa/server/src/api/admin/mpn/automations/rules/route.js +85 -0
  10. package/.medusa/server/src/api/middlewares.js +125 -0
  11. package/.medusa/server/src/emails/example-template.js +68 -0
  12. package/.medusa/server/src/hooks/api/automations/automations.js +74 -0
  13. package/.medusa/server/src/hooks/api/automations/index.js +18 -0
  14. package/.medusa/server/src/hooks/api/automations-actions/automations-actions.js +51 -0
  15. package/.medusa/server/src/hooks/api/automations-actions/index.js +18 -0
  16. package/.medusa/server/src/hooks/api/automations-rules/automations-rules.js +51 -0
  17. package/.medusa/server/src/hooks/api/automations-rules/index.js +18 -0
  18. package/.medusa/server/src/hooks/api/available-actions/actions.js +34 -0
  19. package/.medusa/server/src/hooks/api/available-actions/index.js +18 -0
  20. package/.medusa/server/src/hooks/api/available-events/events.js +34 -0
  21. package/.medusa/server/src/hooks/api/available-events/index.js +18 -0
  22. package/.medusa/server/src/hooks/api/available-triggers/index.js +18 -0
  23. package/.medusa/server/src/hooks/api/available-triggers/triggers.js +34 -0
  24. package/.medusa/server/src/modules/mpn-automation/index.js +10 -0
  25. package/.medusa/server/src/modules/mpn-automation/interfaces.js +3 -0
  26. package/.medusa/server/src/modules/mpn-automation/migrations/Migration20251127115228.js +37 -0
  27. package/.medusa/server/src/modules/mpn-automation/migrations/Migration20251127193345.js +20 -0
  28. package/.medusa/server/src/modules/mpn-automation/migrations/Migration20251127195615.js +19 -0
  29. package/.medusa/server/src/modules/mpn-automation/migrations/Migration20251130144047.js +16 -0
  30. package/.medusa/server/src/modules/mpn-automation/models/index.js +14 -0
  31. package/.medusa/server/src/modules/mpn-automation/models/mpn_automation_rule.js +27 -0
  32. package/.medusa/server/src/modules/mpn-automation/models/mpn_automation_rule_value.js +15 -0
  33. package/.medusa/server/src/modules/mpn-automation/models/mpn_automation_state.js +17 -0
  34. package/.medusa/server/src/modules/mpn-automation/models/mpn_automation_trigger.js +52 -0
  35. package/.medusa/server/src/modules/mpn-automation/models/npm_automation_action.js +23 -0
  36. package/.medusa/server/src/modules/mpn-automation/services/index.js +9 -0
  37. package/.medusa/server/src/modules/mpn-automation/services/service.js +38 -0
  38. package/.medusa/server/src/modules/mpn-automation/types.js +199 -0
  39. package/.medusa/server/src/subscribers/inventory-item-updated.js +22 -0
  40. package/.medusa/server/src/subscribers/inventory-level-updated.js +43 -0
  41. package/.medusa/server/src/subscribers/inventory-reservation-item-updated.js +22 -0
  42. package/.medusa/server/src/subscribers/mpn.automation.action.email.executed.js +45 -0
  43. package/.medusa/server/src/subscribers/order-completed.js +110 -0
  44. package/.medusa/server/src/subscribers/order-placed.js +108 -0
  45. package/.medusa/server/src/subscribers/payment-captured.js +96 -0
  46. package/.medusa/server/src/utils/index.js +20 -0
  47. package/.medusa/server/src/utils/plugins.js +20 -0
  48. package/.medusa/server/src/utils/types/index.js +19 -0
  49. package/.medusa/server/src/utils/validate-rules.js +85 -0
  50. package/.medusa/server/src/workflows/index.js +20 -0
  51. package/.medusa/server/src/workflows/inventory/get-inventory-level-by-id.js +23 -0
  52. package/.medusa/server/src/workflows/inventory/index.js +18 -0
  53. package/.medusa/server/src/workflows/inventory/steps/get-inventory-level-by-id.js +25 -0
  54. package/.medusa/server/src/workflows/inventory/steps/index.js +18 -0
  55. package/.medusa/server/src/workflows/mpn-automation/create-automation.js +14 -0
  56. package/.medusa/server/src/workflows/mpn-automation/edit-automation-actions.js +15 -0
  57. package/.medusa/server/src/workflows/mpn-automation/edit-automation-rules.js +15 -0
  58. package/.medusa/server/src/workflows/mpn-automation/edit-automation.js +14 -0
  59. package/.medusa/server/src/workflows/mpn-automation/index.js +24 -0
  60. package/.medusa/server/src/workflows/mpn-automation/run-automation.js +76 -0
  61. package/.medusa/server/src/workflows/mpn-automation/send-email-action.js +73 -0
  62. package/.medusa/server/src/workflows/mpn-automation/steps/create-automation.js +19 -0
  63. package/.medusa/server/src/workflows/mpn-automation/steps/edit-automation-actions.js +51 -0
  64. package/.medusa/server/src/workflows/mpn-automation/steps/edit-automation-rules.js +87 -0
  65. package/.medusa/server/src/workflows/mpn-automation/steps/edit-automation.js +20 -0
  66. package/.medusa/server/src/workflows/mpn-automation/steps/index.js +24 -0
  67. package/.medusa/server/src/workflows/mpn-automation/steps/retrieve-automation-triggers-by-event.js +62 -0
  68. package/.medusa/server/src/workflows/mpn-automation/steps/run-automation-actions.js +92 -0
  69. package/.medusa/server/src/workflows/mpn-automation/steps/validate-automation-triggers.js +29 -0
  70. package/.medusa/server/src/workflows/mpn-automation/validate-automation-triggers-by-event.js +38 -0
  71. package/.medusa/server/src/workflows/notifications/index.js +18 -0
  72. package/.medusa/server/src/workflows/notifications/send-email.js +51 -0
  73. package/.medusa/server/src/workflows/notifications/steps/index.js +18 -0
  74. package/.medusa/server/src/workflows/notifications/steps/send-email.js +119 -0
  75. package/.medusa/server/src/workflows/steps/log-step.js +16 -0
  76. package/LICENSE +21 -0
  77. package/README.md +104 -0
  78. 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