@devx-commerce/plugin-gati 0.0.20 → 0.0.22
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.
|
@@ -49,7 +49,7 @@ async function triggerEcsTask(scope, datafor, operation, data, erpEventId) {
|
|
|
49
49
|
async function processWebhookRequest(scope, datafor, operation, data, eventId) {
|
|
50
50
|
const workflowConfig = config_1.MASTER_WORKFLOW_CONFIG[datafor];
|
|
51
51
|
if (!workflowConfig) {
|
|
52
|
-
|
|
52
|
+
console.error(`Unsupported datafor type: ${datafor}`);
|
|
53
53
|
}
|
|
54
54
|
const workflowHandler = workflowConfig[operation];
|
|
55
55
|
if (!workflowHandler) {
|
|
@@ -89,16 +89,35 @@ async function POST(req, res) {
|
|
|
89
89
|
if (existingPendingEvents.data.length > 0) {
|
|
90
90
|
const existingEvent = existingPendingEvents.data[0];
|
|
91
91
|
framework_1.logger.warn(`⚠️ Duplicate processing detected! Found existing pending event ${existingEvent.id} for ${datafor} ${operation}. Adding new request in queue.`);
|
|
92
|
-
const erpEvent = await
|
|
92
|
+
// const erpEvent = await createErpEventWorkflow(req.scope).run({
|
|
93
|
+
// input: {
|
|
94
|
+
// datafor,
|
|
95
|
+
// operation,
|
|
96
|
+
// data,
|
|
97
|
+
// status: "pending",
|
|
98
|
+
// sync_completed_at: null,
|
|
99
|
+
// },
|
|
100
|
+
// });
|
|
101
|
+
(0, utils_1.sendErrorResponse)(res, 409, `Processing already in progress for ${datafor} ${operation}. Event ID: ${existingEvent.id}.`);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const workflowConfig = config_1.MASTER_WORKFLOW_CONFIG[datafor];
|
|
105
|
+
// If unsupported type, record event as completed and return success immediately
|
|
106
|
+
if (!workflowConfig) {
|
|
107
|
+
const completedEvent = await (0, workflows_1.createErpEventWorkflow)(req.scope).run({
|
|
93
108
|
input: {
|
|
94
109
|
datafor,
|
|
95
110
|
operation,
|
|
96
111
|
data,
|
|
97
|
-
status: "
|
|
98
|
-
sync_completed_at:
|
|
112
|
+
status: "completed",
|
|
113
|
+
sync_completed_at: new Date(),
|
|
99
114
|
},
|
|
100
115
|
});
|
|
101
|
-
(0, utils_1.
|
|
116
|
+
(0, utils_1.sendSuccessResponse)(res, `Successfully processed ${operation} for ${datafor}`, {
|
|
117
|
+
processingMode: "skipped",
|
|
118
|
+
itemCount: data.length,
|
|
119
|
+
erpEventId: completedEvent.result.id,
|
|
120
|
+
});
|
|
102
121
|
return;
|
|
103
122
|
}
|
|
104
123
|
// Always log ERP event first
|
|
@@ -164,4 +183,4 @@ async function POST(req, res) {
|
|
|
164
183
|
(0, utils_1.sendErrorResponse)(res, 500, errorMessage);
|
|
165
184
|
}
|
|
166
185
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VycC93ZWJob29rL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBK0ZBLG9CQTBLQztBQXpRRCxtREFBNkM7QUFHN0Msc0ZBQXdGO0FBQ3hGLHNFQUFnRjtBQUNoRiw4RkFBaUc7QUFFakcscUNBQXlFO0FBQ3pFLG1DQUlpQjtBQUVqQixrREFBa0Q7QUFDbEQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLDhCQUE4QjtRQUN4QyxTQUFTLEVBQUUsR0FBRztRQUNkLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxhQUFhLEVBQUU7UUFDYixRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLFNBQVMsRUFBRSxHQUFHO1FBQ2QsT0FBTyxFQUFFLElBQUk7S0FDZDtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQzNCLEtBQVUsRUFDVixPQUFtQixFQUNuQixTQUFvQixFQUNwQixJQUFjLEVBQ2QsVUFBa0I7SUFFbEIsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLE9BQXVDLENBQUMsQ0FBQztJQUU1RSxrQkFBTSxDQUFDLElBQUksQ0FDVCw4QkFBOEIsT0FBTyxTQUFTLElBQUksQ0FBQyxNQUFNLFFBQVEsQ0FDbEUsQ0FBQztJQUVGLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsb0RBQTJCLEVBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzlELEtBQUssRUFBRTtnQkFDTCxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7Z0JBQzdCLFVBQVUsRUFBRTtvQkFDVixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7b0JBQy9CLFVBQVUsRUFBRSx3QkFBd0I7aUJBQ3JDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxrQkFBTSxDQUFDLElB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
|
|
@@ -1,112 +1,128 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// import { MedusaContainer } from "@medusajs/framework/types";
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
async function processPendingErpEvents(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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=
|