@devx-commerce/plugin-gati 0.0.22 → 0.0.23
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/package.json
CHANGED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// import { MedusaContainer } from "@medusajs/framework/types";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
// import {
|
|
5
|
-
// MASTER_WORKFLOW_CONFIG
|
|
6
|
-
// } from "../api/erp/webhook/config";
|
|
7
|
-
// import { bulkJobsTaskTriggerWorkflow } from "../workflows/bulk-jobs-task-trigger";
|
|
8
|
-
// import { updateErpEventWorkflow } from "../workflows/erp-event/workflows/update-erp-event";
|
|
9
|
-
// export default async function processPendingErpEvents(
|
|
10
|
-
// container: MedusaContainer
|
|
11
|
-
// ) {
|
|
12
|
-
// const query = container.resolve("query");
|
|
13
|
-
// const logger = container.resolve("logger");
|
|
14
|
-
// const ECS_TASK_CONFIG: Record<
|
|
15
|
-
// string,
|
|
16
|
-
// { taskType: string; batchSize: number; enabled: boolean }
|
|
17
|
-
// > = {
|
|
18
|
-
// StyleMst: {
|
|
19
|
-
// taskType: "erp-webhook-batch-processing",
|
|
20
|
-
// batchSize: 200,
|
|
21
|
-
// enabled: true,
|
|
22
|
-
// },
|
|
23
|
-
// PartyStyleMst: {
|
|
24
|
-
// taskType: "erp-webhook-batch-processing",
|
|
25
|
-
// batchSize: 200,
|
|
26
|
-
// enabled: true,
|
|
27
|
-
// },
|
|
28
|
-
// };
|
|
29
|
-
// // 1) Find pending ERP events
|
|
30
|
-
// const { data: pendingEvents } = await query.graph({
|
|
31
|
-
// entity: "erp_event",
|
|
32
|
-
// fields: ["*"],
|
|
33
|
-
// filters: {
|
|
34
|
-
// status: "pending",
|
|
35
|
-
// },
|
|
36
|
-
// pagination: {
|
|
37
|
-
// order: { created_at: "asc" },
|
|
38
|
-
// take: 50,
|
|
39
|
-
// },
|
|
40
|
-
// });
|
|
41
|
-
// if (!pendingEvents?.length) {
|
|
42
|
-
// logger.info("🕒 No pending ERP events to process");
|
|
43
|
-
// return;
|
|
44
|
-
// }
|
|
45
|
-
// logger.info(`🕒 Processing ${pendingEvents.length} pending ERP events...`);
|
|
46
|
-
// for (const event of pendingEvents) {
|
|
47
|
-
// const { id, datafor, operation, data } = event;
|
|
48
|
-
// try {
|
|
49
|
-
// const shouldUseEcsProcessing = [
|
|
50
|
-
// "StyleMst",
|
|
51
|
-
// "PartyStyleMst",
|
|
52
|
-
// "Inward",
|
|
53
|
-
// ].includes(datafor);
|
|
54
|
-
// if (shouldUseEcsProcessing && data.length > 100) {
|
|
55
|
-
// const taskConfig =
|
|
56
|
-
// ECS_TASK_CONFIG[datafor as keyof typeof ECS_TASK_CONFIG];
|
|
57
|
-
// logger.info(
|
|
58
|
-
// `📋 Using ECS processing for ${datafor} (event ${id}) with ${data.length} items`
|
|
59
|
-
// );
|
|
60
|
-
// if (!taskConfig) {
|
|
61
|
-
// throw new Error(`ECS task config missing for ${datafor}`);
|
|
62
|
-
// }
|
|
63
|
-
// const { result } = await bulkJobsTaskTriggerWorkflow(container).run({
|
|
64
|
-
// input: {
|
|
65
|
-
// taskType: taskConfig.taskType,
|
|
66
|
-
// parameters: {
|
|
67
|
-
// batchSize: taskConfig.batchSize,
|
|
68
|
-
// erpEventId: id,
|
|
69
|
-
// },
|
|
70
|
-
// },
|
|
71
|
-
// });
|
|
72
|
-
// logger.info(
|
|
73
|
-
// `✅ ECS task triggered for ${datafor} (event ${id}): ${JSON.stringify(
|
|
74
|
-
// result
|
|
75
|
-
// )}`
|
|
76
|
-
// );
|
|
77
|
-
// } else {
|
|
78
|
-
// const workflowConfig = MASTER_WORKFLOW_CONFIG[datafor];
|
|
79
|
-
// if (!workflowConfig) {
|
|
80
|
-
// throw new Error(`Unsupported datafor type: ${datafor}`);
|
|
81
|
-
// }
|
|
82
|
-
// const workflowHandler = workflowConfig[operation];
|
|
83
|
-
// if (!workflowHandler) {
|
|
84
|
-
// throw new Error(`Unsupported operation: ${operation} for ${datafor}`);
|
|
85
|
-
// }
|
|
86
|
-
// // Reuse the same input shape as webhook route: include eventId
|
|
87
|
-
// logger.info(
|
|
88
|
-
// `⚡ Using regular workflow processing for ${datafor} (event ${id})`
|
|
89
|
-
// );
|
|
90
|
-
// await workflowHandler(container, {
|
|
91
|
-
// datafor,
|
|
92
|
-
// operation,
|
|
93
|
-
// data,
|
|
94
|
-
// eventId: id,
|
|
95
|
-
// });
|
|
96
|
-
// }
|
|
97
|
-
// // Mark event completed
|
|
98
|
-
// await updateErpEventWorkflow(container).run({
|
|
99
|
-
// input: {
|
|
100
|
-
// id,
|
|
101
|
-
// status: "completed",
|
|
102
|
-
// sync_completed_at: new Date(),
|
|
103
|
-
// },
|
|
104
|
-
// });
|
|
105
|
-
// logger.info(`✅ Processed ERP event ${id} (${datafor} ${operation})`);
|
|
106
|
-
// } catch (e) {
|
|
107
|
-
// logger.error(
|
|
108
|
-
// `❌ Failed processing ERP event ${event.id} (${event.datafor} ${event.operation}):`,
|
|
109
|
-
// e
|
|
110
|
-
// );
|
|
111
|
-
// // Mark event failed; failure event emission handled by workflow handler wrapper
|
|
112
|
-
// await updateErpEventWorkflow(container).run({
|
|
113
|
-
// input: {
|
|
114
|
-
// id: event.id,
|
|
115
|
-
// status: "failed",
|
|
116
|
-
// sync_completed_at: null,
|
|
117
|
-
// },
|
|
118
|
-
// });
|
|
119
|
-
// }
|
|
120
|
-
// }
|
|
121
|
-
// }
|
|
122
|
-
// export const config = {
|
|
123
|
-
// name: "process-pending-erp-events",
|
|
124
|
-
// schedule: {
|
|
125
|
-
// interval: 1800000,
|
|
126
|
-
// },
|
|
127
|
-
// };
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wZW5kaW5nLWVycC1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvam9icy9wcm9jZXNzLXBlbmRpbmctZXJwLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0RBQStEOztBQUUvRCxXQUFXO0FBQ1gsMkJBQTJCO0FBQzNCLHNDQUFzQztBQUN0QyxxRkFBcUY7QUFDckYsOEZBQThGO0FBRTlGLHlEQUF5RDtBQUN6RCwrQkFBK0I7QUFDL0IsTUFBTTtBQUNOLDhDQUE4QztBQUM5QyxnREFBZ0Q7QUFFaEQsbUNBQW1DO0FBQ25DLGNBQWM7QUFDZCxnRUFBZ0U7QUFDaEUsVUFBVTtBQUNWLGtCQUFrQjtBQUNsQixrREFBa0Q7QUFDbEQsd0JBQXdCO0FBQ3hCLHVCQUF1QjtBQUN2QixTQUFTO0FBQ1QsdUJBQXVCO0FBQ3ZCLGtEQUFrRDtBQUNsRCx3QkFBd0I7QUFDeEIsdUJBQXVCO0FBQ3ZCLFNBQVM7QUFDVCxPQUFPO0FBRVAsa0NBQWtDO0FBQ2xDLHdEQUF3RDtBQUN4RCwyQkFBMkI7QUFDM0IscUJBQXFCO0FBQ3JCLGlCQUFpQjtBQUNqQiwyQkFBMkI7QUFDM0IsU0FBUztBQUNULG9CQUFvQjtBQUNwQixzQ0FBc0M7QUFDdEMsa0JBQWtCO0FBQ2xCLFNBQVM7QUFDVCxRQUFRO0FBRVIsa0NBQWtDO0FBQ2xDLDBEQUEwRDtBQUMxRCxjQUFjO0FBQ2QsTUFBTTtBQUVOLGdGQUFnRjtBQUVoRix5Q0FBeUM7QUFDekMsc0RBQXNEO0FBRXRELFlBQVk7QUFDWix5Q0FBeUM7QUFDekMsc0JBQXNCO0FBQ3RCLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsNkJBQTZCO0FBRTdCLDJEQUEyRDtBQUMzRCw2QkFBNkI7QUFDN0Isc0VBQXNFO0FBRXRFLHVCQUF1QjtBQUN2Qiw2RkFBNkY7QUFDN0YsYUFBYTtBQUViLDZCQUE2QjtBQUM3Qix1RUFBdUU7QUFDdkUsWUFBWTtBQUVaLGdGQUFnRjtBQUNoRixxQkFBcUI7QUFDckIsNkNBQTZDO0FBQzdDLDRCQUE0QjtBQUM1QixpREFBaUQ7QUFDakQsZ0NBQWdDO0FBQ2hDLGlCQUFpQjtBQUNqQixlQUFlO0FBQ2YsY0FBYztBQUVkLHVCQUF1QjtBQUN2QixrRkFBa0Y7QUFDbEYscUJBQXFCO0FBQ3JCLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsaUJBQWlCO0FBQ2pCLGtFQUFrRTtBQUNsRSxpQ0FBaUM7QUFDakMscUVBQXFFO0FBQ3JFLFlBQVk7QUFFWiw2REFBNkQ7QUFDN0Qsa0NBQWtDO0FBQ2xDLG1GQUFtRjtBQUNuRixZQUFZO0FBRVosMEVBQTBFO0FBQzFFLHVCQUF1QjtBQUN2QiwrRUFBK0U7QUFDL0UsYUFBYTtBQUNiLDZDQUE2QztBQUM3QyxxQkFBcUI7QUFDckIsdUJBQXVCO0FBQ3ZCLGtCQUFrQjtBQUNsQix5QkFBeUI7QUFDekIsY0FBYztBQUNkLFVBQVU7QUFFVixnQ0FBZ0M7QUFDaEMsc0RBQXNEO0FBQ3RELG1CQUFtQjtBQUNuQixnQkFBZ0I7QUFDaEIsaUNBQWlDO0FBQ2pDLDJDQUEyQztBQUMzQyxhQUFhO0FBQ2IsWUFBWTtBQUVaLDhFQUE4RTtBQUM5RSxvQkFBb0I7QUFDcEIsc0JBQXNCO0FBQ3RCLDhGQUE4RjtBQUM5RixZQUFZO0FBQ1osV0FBVztBQUVYLHlGQUF5RjtBQUN6RixzREFBc0Q7QUFDdEQsbUJBQW1CO0FBQ25CLDBCQUEwQjtBQUMxQiw4QkFBOEI7QUFDOUIscUNBQXFDO0FBQ3JDLGFBQWE7QUFDYixZQUFZO0FBQ1osUUFBUTtBQUNSLE1BQU07QUFDTixJQUFJO0FBRUosMEJBQTBCO0FBQzFCLHdDQUF3QztBQUN4QyxnQkFBZ0I7QUFDaEIseUJBQXlCO0FBQ3pCLE9BQU87QUFDUCxLQUFLIn0=
|