@devx-commerce/plugin-gati 0.0.15 → 0.0.18

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 (37) hide show
  1. package/.medusa/server/src/api/erp/webhook/config.js +95 -63
  2. package/.medusa/server/src/api/erp/webhook/route.js +21 -9
  3. package/.medusa/server/src/commands/bulk-jobs/erp-webhook-batch.js +4 -4
  4. package/.medusa/server/src/jobs/process-pending-erp-events.js +112 -0
  5. package/.medusa/server/src/modules/extended-variant/migrations/Migration20250916065103.js +14 -0
  6. package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +2 -1
  7. package/.medusa/server/src/modules/promocode-master/migrations/Migration20250918095713.js +14 -0
  8. package/.medusa/server/src/modules/promocode-master/models/promocode-master.js +2 -1
  9. package/.medusa/server/src/subscribers/create-customer.js +38 -45
  10. package/.medusa/server/src/workflows/category-group-master/steps/fetch-category-master.js +2 -2
  11. package/.medusa/server/src/workflows/category-master/steps/fetch-category-master.js +2 -2
  12. package/.medusa/server/src/workflows/collection-group-master/steps/fetch-collection-grp-master.js +2 -2
  13. package/.medusa/server/src/workflows/collection-master/steps/fetch-collection-master.js +2 -2
  14. package/.medusa/server/src/workflows/inward-master/helper/index.js +8 -4
  15. package/.medusa/server/src/workflows/inward-master/steps/create-inward.js +4 -1
  16. package/.medusa/server/src/workflows/inward-master/steps/fetch-inward-master.js +2 -2
  17. package/.medusa/server/src/workflows/inward-master/steps/update-inward.js +7 -2
  18. package/.medusa/server/src/workflows/inward-master/workflows/create-inward.js +106 -57
  19. package/.medusa/server/src/workflows/inward-master/workflows/delete-inward.js +83 -2
  20. package/.medusa/server/src/workflows/inward-master/workflows/update-instock.js +18 -19
  21. package/.medusa/server/src/workflows/inward-master/workflows/update-inward.js +159 -4
  22. package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +67 -15
  23. package/.medusa/server/src/workflows/party-master/steps/fetch-party-master.js +2 -2
  24. package/.medusa/server/src/workflows/party-style-master/steps/fetch-party-styles.js +2 -2
  25. package/.medusa/server/src/workflows/party-style-master/workflows/create-or-update-party-style-master.js +6 -2
  26. package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +1 -1
  27. package/.medusa/server/src/workflows/promocode-master/steps/create-promocode.js +45 -32
  28. package/.medusa/server/src/workflows/promocode-master/steps/fetch-collection-master.js +2 -2
  29. package/.medusa/server/src/workflows/raw-master/steps/fetch-raw-master.js +2 -2
  30. package/.medusa/server/src/workflows/shape-master/steps/fetch-shape-master.js +2 -2
  31. package/.medusa/server/src/workflows/shipping-info-master/steps/create-shipping-info-erp.js +30 -3
  32. package/.medusa/server/src/workflows/shipping-info-master/steps/fetch-shipping-info-master.js +2 -2
  33. package/.medusa/server/src/workflows/shipping-info-master/workflows/delete-shipping-info.js +1 -1
  34. package/.medusa/server/src/workflows/style-master/steps/fetch-styles.js +2 -2
  35. package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +1 -1
  36. package/.medusa/server/src/workflows/sub-category-master/steps/fetch-category-master.js +2 -2
  37. package/package.json +1 -1
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DELETE_ONLY_IDS_MASTERS = exports.MASTER_WORKFLOW_CONFIG = void 0;
4
- exports.getWorkflowInput = getWorkflowInput;
3
+ exports.MASTER_WORKFLOW_CONFIG = void 0;
5
4
  const category_group_master_1 = require("../../../workflows/category-group-master");
6
5
  const category_master_1 = require("../../../workflows/category-master");
7
6
  const collection_group_master_1 = require("../../../workflows/collection-group-master");
@@ -9,99 +8,132 @@ const collection_master_1 = require("../../../workflows/collection-master");
9
8
  const inward_master_1 = require("../../../workflows/inward-master");
10
9
  const party_master_1 = require("../../../workflows/party-master");
11
10
  const party_style_master_1 = require("../../../workflows/party-style-master");
11
+ const promocode_master_1 = require("../../../workflows/promocode-master");
12
12
  const raw_master_1 = require("../../../workflows/raw-master");
13
13
  const shape_master_1 = require("../../../workflows/shape-master");
14
14
  const shipping_info_master_1 = require("../../../workflows/shipping-info-master");
15
15
  const workflows_1 = require("../../../workflows/style-master/workflows");
16
16
  const sub_category_master_1 = require("../../../workflows/sub-category-master");
17
- const promocode_master_1 = require("../../../workflows/promocode-master");
18
17
  /**
19
- * Configuration for different master types and their workflows
20
- * This makes it easy to add new master types or modify existing ones
18
+ * function to handle workflow errors and emit failure events
19
+ */
20
+ async function handleWorkflowError(scope, errors, datafor, operation, originalEventId) {
21
+ if (errors.length) {
22
+ console.error(`${operation} ${datafor} workflow errors:`, errors);
23
+ const eventService = scope.resolve("event_bus");
24
+ await eventService.emit({
25
+ name: "gati_webhook.failed",
26
+ data: {
27
+ eventId: originalEventId ||
28
+ `${operation}-${datafor.toLowerCase()}-${Date.now()}`,
29
+ eventName: `${operation}-${datafor.toLowerCase()}`,
30
+ error: JSON.stringify(errors),
31
+ },
32
+ });
33
+ }
34
+ }
35
+ /**
36
+ * Workflow runner with error handling
37
+ */
38
+ async function runWorkflowWithErrorHandling(workflow, scope, input, datafor, operation) {
39
+ const { result, errors } = await workflow(scope).run({
40
+ input,
41
+ throwOnError: false,
42
+ });
43
+ // Extract eventId from input if available
44
+ const eventId = input?.eventId;
45
+ await handleWorkflowError(scope, errors, datafor, operation, eventId);
46
+ return result;
47
+ }
48
+ /**
49
+ * Creates workflow handler
50
+ */
51
+ function createWorkflowHandler(workflow, datafor, operation, inputTransform) {
52
+ return async (scope, input) => {
53
+ const transformedInput = inputTransform ? inputTransform(input) : input;
54
+ return runWorkflowWithErrorHandling(workflow, scope, transformedInput, datafor, operation);
55
+ };
56
+ }
57
+ /**
58
+ * Config
21
59
  */
22
60
  exports.MASTER_WORKFLOW_CONFIG = {
23
61
  StyleMst: {
24
- delete: (scope, input) => (0, workflows_1.deleteStyleMasterWorkflow)(scope).run({ input: { ids: input } }),
25
- add: (scope, input) => (0, workflows_1.createOrUpdateStyleMasterWorkflow)(scope).run({ input }),
26
- update: (scope, input) => (0, workflows_1.createOrUpdateStyleMasterWorkflow)(scope).run({ input }),
62
+ delete: createWorkflowHandler(workflows_1.deleteStyleMasterWorkflow, "StyleMst", "delete", (input) => ({
63
+ ids: input.data,
64
+ eventId: input.eventId,
65
+ })),
66
+ add: createWorkflowHandler(workflows_1.createOrUpdateStyleMasterWorkflow, "StyleMst", "add"),
67
+ update: createWorkflowHandler(workflows_1.createOrUpdateStyleMasterWorkflow, "StyleMst", "update"),
27
68
  },
28
69
  PartyStyleMst: {
29
- delete: (scope, input) => (0, party_style_master_1.deletePartyStyleMasterWorkflow)(scope).run({ input: { ids: input } }),
30
- add: (scope, input) => (0, party_style_master_1.createOrUpdatePartyStyleMasterWorkflow)(scope).run({ input }),
31
- update: (scope, input) => (0, party_style_master_1.createOrUpdatePartyStyleMasterWorkflow)(scope).run({ input }),
70
+ delete: createWorkflowHandler(party_style_master_1.deletePartyStyleMasterWorkflow, "PartyStyleMst", "delete", (input) => ({
71
+ ids: input.data,
72
+ eventId: input.eventId,
73
+ })),
74
+ add: createWorkflowHandler(party_style_master_1.createOrUpdatePartyStyleMasterWorkflow, "PartyStyleMst", "add"),
75
+ update: createWorkflowHandler(party_style_master_1.createOrUpdatePartyStyleMasterWorkflow, "PartyStyleMst", "update"),
32
76
  },
33
77
  ShapeMst: {
34
- delete: (scope, input) => (0, shape_master_1.shapeMasterWorkflow)(scope).run({ input }),
35
- add: (scope, input) => (0, shape_master_1.shapeMasterWorkflow)(scope).run({ input }),
36
- update: (scope, input) => (0, shape_master_1.shapeMasterWorkflow)(scope).run({ input }),
78
+ delete: createWorkflowHandler(shape_master_1.shapeMasterWorkflow, "ShapeMst", "delete"),
79
+ add: createWorkflowHandler(shape_master_1.shapeMasterWorkflow, "ShapeMst", "add"),
80
+ update: createWorkflowHandler(shape_master_1.shapeMasterWorkflow, "ShapeMst", "update"),
37
81
  },
38
82
  RawMst: {
39
- delete: (scope, input) => (0, raw_master_1.rawMasterWorkflow)(scope).run({ input }),
40
- add: (scope, input) => (0, raw_master_1.rawMasterWorkflow)(scope).run({ input }),
41
- update: (scope, input) => (0, raw_master_1.rawMasterWorkflow)(scope).run({ input }),
83
+ delete: createWorkflowHandler(raw_master_1.rawMasterWorkflow, "RawMst", "delete"),
84
+ add: createWorkflowHandler(raw_master_1.rawMasterWorkflow, "RawMst", "add"),
85
+ update: createWorkflowHandler(raw_master_1.rawMasterWorkflow, "RawMst", "update"),
42
86
  },
43
87
  CollectionMst: {
44
- delete: (scope, input) => (0, collection_master_1.collectionMasterWorkflow)(scope).run({ input }),
45
- add: (scope, input) => (0, collection_master_1.collectionMasterWorkflow)(scope).run({ input }),
46
- update: (scope, input) => (0, collection_master_1.collectionMasterWorkflow)(scope).run({ input }),
88
+ delete: createWorkflowHandler(collection_master_1.collectionMasterWorkflow, "CollectionMst", "delete"),
89
+ add: createWorkflowHandler(collection_master_1.collectionMasterWorkflow, "CollectionMst", "add"),
90
+ update: createWorkflowHandler(collection_master_1.collectionMasterWorkflow, "CollectionMst", "update"),
47
91
  },
48
92
  SubCategoryMst: {
49
- delete: (scope, input) => (0, sub_category_master_1.subCategoryMasterWorkflow)(scope).run({ input }),
50
- add: (scope, input) => (0, sub_category_master_1.subCategoryMasterWorkflow)(scope).run({ input }),
51
- update: (scope, input) => (0, sub_category_master_1.subCategoryMasterWorkflow)(scope).run({ input }),
93
+ delete: createWorkflowHandler(sub_category_master_1.subCategoryMasterWorkflow, "SubCategoryMst", "delete"),
94
+ add: createWorkflowHandler(sub_category_master_1.subCategoryMasterWorkflow, "SubCategoryMst", "add"),
95
+ update: createWorkflowHandler(sub_category_master_1.subCategoryMasterWorkflow, "SubCategoryMst", "update"),
52
96
  },
53
97
  CategoryMst: {
54
- delete: (scope, input) => (0, category_master_1.categoryMasterWorkflow)(scope).run({ input }),
55
- add: (scope, input) => (0, category_master_1.categoryMasterWorkflow)(scope).run({ input }),
56
- update: (scope, input) => (0, category_master_1.categoryMasterWorkflow)(scope).run({ input }),
98
+ delete: createWorkflowHandler(category_master_1.categoryMasterWorkflow, "CategoryMst", "delete"),
99
+ add: createWorkflowHandler(category_master_1.categoryMasterWorkflow, "CategoryMst", "add"),
100
+ update: createWorkflowHandler(category_master_1.categoryMasterWorkflow, "CategoryMst", "update"),
57
101
  },
58
102
  CategoryGroupMst: {
59
- delete: (scope, input) => (0, category_group_master_1.categoryGroupMasterWorkflow)(scope).run({ input }),
60
- add: (scope, input) => (0, category_group_master_1.categoryGroupMasterWorkflow)(scope).run({ input }),
61
- update: (scope, input) => (0, category_group_master_1.categoryGroupMasterWorkflow)(scope).run({ input }),
103
+ delete: createWorkflowHandler(category_group_master_1.categoryGroupMasterWorkflow, "CategoryGroupMst", "delete"),
104
+ add: createWorkflowHandler(category_group_master_1.categoryGroupMasterWorkflow, "CategoryGroupMst", "add"),
105
+ update: createWorkflowHandler(category_group_master_1.categoryGroupMasterWorkflow, "CategoryGroupMst", "update"),
62
106
  },
63
107
  CollectionGroupMst: {
64
- delete: (scope, input) => (0, collection_group_master_1.collectionGroupMasterWorkflow)(scope).run({ input }),
65
- add: (scope, input) => (0, collection_group_master_1.collectionGroupMasterWorkflow)(scope).run({ input }),
66
- update: (scope, input) => (0, collection_group_master_1.collectionGroupMasterWorkflow)(scope).run({ input }),
108
+ delete: createWorkflowHandler(collection_group_master_1.collectionGroupMasterWorkflow, "CollectionGroupMst", "delete"),
109
+ add: createWorkflowHandler(collection_group_master_1.collectionGroupMasterWorkflow, "CollectionGroupMst", "add"),
110
+ update: createWorkflowHandler(collection_group_master_1.collectionGroupMasterWorkflow, "CollectionGroupMst", "update"),
67
111
  },
68
112
  PartyMst: {
69
- delete: (scope, input) => (0, party_master_1.partyMasterWorkflow)(scope).run({ input }),
70
- add: (scope, input) => (0, party_master_1.partyMasterWorkflow)(scope).run({ input }),
71
- update: (scope, input) => (0, party_master_1.partyMasterWorkflow)(scope).run({ input }),
113
+ delete: createWorkflowHandler(party_master_1.partyMasterWorkflow, "PartyMst", "delete"),
114
+ add: createWorkflowHandler(party_master_1.partyMasterWorkflow, "PartyMst", "add"),
115
+ update: createWorkflowHandler(party_master_1.partyMasterWorkflow, "PartyMst", "update"),
72
116
  },
73
117
  Inward: {
74
- delete: (scope, input) => (0, inward_master_1.deleteInwardMasterWorkflow)(scope).run({ input: { ids: input } }),
75
- add: (scope, input) => (0, inward_master_1.createInwardMasterWorkflow)(scope).run({ input, throwOnError: false }),
76
- update: (scope, input) => (0, inward_master_1.updateInwardMasterWorkflow)(scope).run({ input }),
118
+ delete: createWorkflowHandler(inward_master_1.deleteInwardMasterWorkflow, "Inward", "delete", (input) => ({
119
+ ids: input.data,
120
+ eventId: input.eventId,
121
+ })),
122
+ add: createWorkflowHandler(inward_master_1.createInwardMasterWorkflow, "Inward", "add"),
123
+ update: createWorkflowHandler(inward_master_1.updateInwardMasterWorkflow, "Inward", "update"),
77
124
  },
78
125
  partyshippinginfo: {
79
- delete: (scope, input) => (0, shipping_info_master_1.deleteShippingInfoMasterWorkflow)(scope).run({ input }),
80
- add: (scope, input) => (0, shipping_info_master_1.createShippingInfoMasterWorkflow)(scope).run({ input }),
81
- update: (scope, input) => (0, shipping_info_master_1.updateShippingInfoMasterWorkflow)(scope).run({ input }),
126
+ delete: createWorkflowHandler(shipping_info_master_1.deleteShippingInfoMasterWorkflow, "partyshippinginfo", "delete", (input) => ({
127
+ ids: input.data,
128
+ eventId: input.eventId,
129
+ })),
130
+ add: createWorkflowHandler(shipping_info_master_1.createShippingInfoMasterWorkflow, "partyshippinginfo", "add"),
131
+ update: createWorkflowHandler(shipping_info_master_1.updateShippingInfoMasterWorkflow, "partyshippinginfo", "update"),
82
132
  },
83
133
  Promocode: {
84
- delete: (scope, input) => (0, promocode_master_1.promocodeMasterWorkflow)(scope).run({ input }),
85
- add: (scope, input) => (0, promocode_master_1.promocodeMasterWorkflow)(scope).run({ input }),
86
- update: (scope, input) => (0, promocode_master_1.promocodeMasterWorkflow)(scope).run({ input }),
134
+ delete: createWorkflowHandler(promocode_master_1.promocodeMasterWorkflow, "Promocode", "delete"),
135
+ add: createWorkflowHandler(promocode_master_1.promocodeMasterWorkflow, "Promocode", "add"),
136
+ update: createWorkflowHandler(promocode_master_1.promocodeMasterWorkflow, "Promocode", "update"),
87
137
  },
88
138
  };
89
- /**
90
- * Master types that expect only the ids array for delete operations
91
- */
92
- exports.DELETE_ONLY_IDS_MASTERS = [
93
- "StyleMst",
94
- "PartyStyleMst",
95
- "Inward",
96
- ];
97
- /**
98
- * Helper function to determine the input format for a workflow
99
- */
100
- function getWorkflowInput(datafor, operation, data) {
101
- // For delete operations, some workflows expect just the ids array
102
- if (operation === "delete" && exports.DELETE_ONLY_IDS_MASTERS.includes(datafor)) {
103
- return data;
104
- }
105
- return { datafor, operation, data };
106
- }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9lcnAvd2ViaG9vay9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNEtBLDRDQVdDO0FBdkxELG9GQUF1RjtBQUN2Rix3RUFBNEU7QUFDNUUsd0ZBQTJGO0FBQzNGLDRFQUFnRjtBQUNoRixvRUFJMEM7QUFDMUMsa0VBQXNFO0FBQ3RFLDhFQUcrQztBQUMvQyw4REFBa0U7QUFDbEUsa0VBQXNFO0FBQ3RFLGtGQUlpRDtBQUNqRCx5RUFHbUQ7QUFDbkQsZ0ZBQW1GO0FBQ25GLDBFQUE4RTtBQTRCOUU7OztHQUdHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBdUM7SUFDeEUsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFFLEtBQWUsRUFBRSxFQUFFLENBQ3RDLElBQUEscUNBQXlCLEVBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDakUsR0FBRyxFQUFFLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQzlCLElBQUEsNkNBQWlDLEVBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDekQsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQ2pDLElBQUEsNkNBQWlDLEVBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDMUQ7SUFDRCxhQUFhLEVBQUU7UUFDYixNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQUUsS0FBZSxFQUFFLEVBQUUsQ0FDdEMsSUFBQSxtREFBOEIsRUFBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUs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
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9lcnAvd2ViaG9vay9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0ZBQXVGO0FBQ3ZGLHdFQUE0RTtBQUM1RSx3RkFBMkY7QUFDM0YsNEVBQWdGO0FBQ2hGLG9FQUkwQztBQUMxQyxrRUFBc0U7QUFDdEUsOEVBRytDO0FBQy9DLDBFQUE4RTtBQUM5RSw4REFBa0U7QUFDbEUsa0VBQXNFO0FBQ3RFLGtGQUlpRDtBQUNqRCx5RUFHbUQ7QUFDbkQsZ0ZBQW1GO0FBNEJuRjs7R0FFRztBQUNILEtBQUssVUFBVSxtQkFBbUIsQ0FDaEMsS0FBVSxFQUNWLE1BQWEsRUFDYixPQUFtQixFQUNuQixTQUFvQixFQUNwQixlQUF3QjtJQUV4QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxJQUFJLE9BQU8sbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxFQUFFLHFCQUFxQjtZQUMzQixJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUNMLGVBQWU7b0JBQ2YsR0FBRyxTQUFTLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDdkQsU0FBUyxFQUFFLEdBQUcsU0FBUyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDbEQsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2FBQzlCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSw0QkFBNEIsQ0FDekMsUUFBNkIsRUFDN0IsS0FBVSxFQUNWLEtBQVUsRUFDVixPQUFtQixFQUNuQixTQUFvQjtJQUVwQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuRCxLQUFLO1FBQ0wsWUFBWSxFQUFFLEtBQUs7S0FDcEIsQ0FBQyxDQUFDO0lBRUgsMENBQTBDO0lBQzFDLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxPQUFPLENBQUM7SUFDL0IsTUFBTSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FDNUIsUUFBNkIsRUFDN0IsT0FBbUIsRUFDbkIsU0FBb0IsRUFDcEIsY0FBb0M7SUFFcEMsT0FBTyxLQUFLLEVBQUUsS0FBVSxFQUFFLEtBQVUsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN4RSxPQUFPLDRCQUE0QixDQUNqQyxRQUFRLEVBQ1IsS0FBSyxFQUNMLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDVSxRQUFBLHNCQUFzQixHQUF1QztJQUN4RSxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUscUJBQXFCLENBQzNCLHFDQUF5QixFQUN6QixVQUFVLEVBQ1YsUUFBUSxFQUNSLENBQUMsS0FBMEMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87U0FDdkIsQ0FBQyxDQUNIO1FBQ0QsR0FBRyxFQUFFLHFCQUFxQixDQUN4Qiw2Q0FBaUMsRUFDakMsVUFBVSxFQUNWLEtBQUssQ0FDTjtRQUNELE1BQU0sRUFBRSxxQkFBcUIsQ0FDM0IsNkNBQWlDLEVBQ2pDLFVBQVUsRUFDVixRQUFRLENBQ1Q7S0FDRjtJQUNELGFBQWEsRUFBRTtRQUNiLE1BQU0sRUFBRSxxQkFBcUIsQ0FDM0IsbURBQThCLEVBQzlCLGVBQWUsRUFDZixRQUFRLEVBQ1IsQ0FBQyxLQUEwQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQ0g7UUFDRCxHQUFHLEVBQUUscUJBQXFCLENBQ3hCLDJEQUFzQyxFQUN0QyxlQUFlLEVBQ2YsS0FBSyxDQUNOO1FBQ0QsTUFBTSxFQUFFLHFCQUFxQixDQUMzQiwyREFBc0MsRUFDdEMsZUFBZSxFQUNmLFFBQVEsQ0FDVDtLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLHFCQUFxQixDQUFDLGtDQUFtQixFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUM7UUFDeEUsR0FBRyxFQUFFLHFCQUFxQixDQUFDLGtDQUFtQixFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUM7UUFDbEUsTUFBTSxFQUFFLHFCQUFxQixDQUFDLGtDQUFtQixFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUM7S0FDekU7SUFDRCxNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUscUJBQXFCLENBQUMsOEJBQWlCLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQztRQUNwRSxHQUFHLEVBQUUscUJBQXFCLENBQUMsOEJBQWlCLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQztRQUM5RCxNQUFNLEVBQUUscUJBQXFCLENBQUMsOEJBQWlCLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQztLQUNyRTtJQUNELGFBQWEsRUFBRTtRQUNiLE1BQU0sRUFBRSxxQkFBcUIsQ0FDM0IsNENBQXdCLEVBQ3hCLGVBQWUsRUFDZixRQUFRLENBQ1Q7UUFDRCxHQUFHLEVBQUUscUJBQXFCLENBQ3hCLDRDQUF3QixFQUN4QixlQUFlLEVBQ2YsS0FBSyxDQUNOO1FBQ0QsTUFBTSxFQUFFLHFCQUFxQixDQUMzQiw0Q0FBd0IsRUFDeEIsZUFBZSxFQUNmLFFBQVEsQ0FDVDtLQUNGO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsTUFBTSxFQUFFLHFCQUFxQixDQUMzQiwrQ0FBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLFFBQVEsQ0FDVDtRQUNELEdBQUcsRUFBRSxxQkFBcUIsQ0FDeEIsK0NBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQixLQUFLLENBQ047UUFDRCxNQUFNLEVBQUUscUJBQXFCLENBQzNCLCtDQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsUUFBUSxDQUNUO0tBQ0Y7SUFDRCxXQUFXLEVBQUU7UUFDWCxNQUFNLEVBQUUscUJBQXFCLENBQzNCLHdDQUFzQixFQUN0QixhQUFhLEVBQ2IsUUFBUSxDQUNUO1FBQ0QsR0FBRyxFQUFFLHFCQUFxQixDQUFDLHdDQUFzQixFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUM7UUFDeEUsTUFBTSxFQUFFLHFCQUFxQixDQUMzQix3Q0FBc0IsRUFDdEIsYUFBYSxFQUNiLFFBQVEsQ0FDVDtLQUNGO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsTUFBTSxFQUFFLHFCQUFxQixDQUMzQixtREFBMkIsRUFDM0Isa0JBQWtCLEVBQ2xCLFFBQVEsQ0FDVDtRQUNELEdBQUcsRUFBRSxxQkFBcUIsQ0FDeEIsbURBQTJCLEVBQzNCLGtCQUFrQixFQUNsQixLQUFLLENBQ047UUFDRCxNQUFNLEVBQUUscUJBQXFCLENBQzNCLG1EQUEyQixFQUMzQixrQkFBa0IsRUFDbEIsUUFBUSxDQUNUO0tBQ0Y7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixNQUFNLEVBQUUscUJBQXFCLENBQzNCLHVEQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsUUFBUSxDQUNUO1FBQ0QsR0FBRyxFQUFFLHFCQUFxQixDQUN4Qix1REFBNkIsRUFDN0Isb0JBQW9CLEVBQ3BCLEtBQUssQ0FDTjtRQUNELE1BQU0sRUFBRSxxQkFBcUIsQ0FDM0IsdURBQTZCLEVBQzdCLG9CQUFvQixFQUNwQixRQUFRLENBQ1Q7S0FDRjtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxrQ0FBbUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDO1FBQ3hFLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyxrQ0FBbUIsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDO1FBQ2xFLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxrQ0FBbUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDO0tBQ3pFO0lBQ0QsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFLHFCQUFxQixDQUMzQiwwQ0FBMEIsRUFDMUIsUUFBUSxFQUNSLFFBQVEsRUFDUixDQUFDLEtBQTBDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0MsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FDSDtRQUNELEdBQUcsRUFBRSxxQkFBcUIsQ0FBQywwQ0FBMEIsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDO1FBQ3ZFLE1BQU0sRUFBRSxxQkFBcUIsQ0FDM0IsMENBQTBCLEVBQzFCLFFBQVEsRUFDUixRQUFRLENBQ1Q7S0FDRjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLE1BQU0sRUFBRSxxQkFBcUIsQ0FDM0IsdURBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixRQUFRLEVBQ1IsQ0FBQyxLQUEwQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQ0g7UUFDRCxHQUFHLEVBQUUscUJBQXFCLENBQ3hCLHVEQUFnQyxFQUNoQyxtQkFBbUIsRUFDbkIsS0FBSyxDQUNOO1FBQ0QsTUFBTSxFQUFFLHFCQUFxQixDQUMzQix1REFBZ0MsRUFDaEMsbUJBQW1CLEVBQ25CLFFBQVEsQ0FDVDtLQUNGO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsTUFBTSxFQUFFLHFCQUFxQixDQUMzQiwwQ0FBdUIsRUFDdkIsV0FBVyxFQUNYLFFBQVEsQ0FDVDtRQUNELEdBQUcsRUFBRSxxQkFBcUIsQ0FBQywwQ0FBdUIsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDO1FBQ3ZFLE1BQU0sRUFBRSxxQkFBcUIsQ0FDM0IsMENBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxRQUFRLENBQ1Q7S0FDRjtDQUNGLENBQUMifQ==
@@ -46,7 +46,7 @@ async function triggerEcsTask(scope, datafor, operation, data, erpEventId) {
46
46
  /**
47
47
  * Processes the webhook request by executing the appropriate workflow
48
48
  */
49
- async function processWebhookRequest(scope, datafor, operation, data) {
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
  throw new Error(`Unsupported datafor type: ${datafor}`);
@@ -55,7 +55,7 @@ async function processWebhookRequest(scope, datafor, operation, data) {
55
55
  if (!workflowHandler) {
56
56
  throw new Error(`Unsupported operation: ${operation} for ${datafor}`);
57
57
  }
58
- const input = (0, config_1.getWorkflowInput)(datafor, operation, data);
58
+ const input = { datafor, operation, data, eventId };
59
59
  await workflowHandler(scope, input);
60
60
  }
61
61
  /**
@@ -88,9 +88,17 @@ async function POST(req, res) {
88
88
  });
89
89
  if (existingPendingEvents.data.length > 0) {
90
90
  const existingEvent = existingPendingEvents.data[0];
91
- framework_1.logger.warn(`⚠️ Duplicate processing detected! Found existing pending event ${existingEvent.id} for ${datafor} ${operation}. Rejecting new request.`);
92
- (0, utils_1.sendErrorResponse)(res, 409, // Conflict status code
93
- `Processing already in progress for ${datafor} ${operation}. Event ID: ${existingEvent.id}`);
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 (0, workflows_1.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} And new event created: ${erpEvent.result.id}`);
94
102
  return;
95
103
  }
96
104
  // Always log ERP event first
@@ -104,8 +112,12 @@ async function POST(req, res) {
104
112
  },
105
113
  });
106
114
  // Check if this is a data type that should use ECS processing
107
- const shouldUseEcsProcessing = ["StyleMst", "PartyStyleMst"].includes(datafor);
108
- if (shouldUseEcsProcessing) {
115
+ const shouldUseEcsProcessing = [
116
+ "StyleMst",
117
+ "PartyStyleMst",
118
+ "Inward",
119
+ ].includes(datafor);
120
+ if (shouldUseEcsProcessing && datafor.length > 100) {
109
121
  // Trigger ECS task for StyleMst and PartyStyleMst
110
122
  framework_1.logger.info(`📋 Using ECS processing for ${datafor}`);
111
123
  await triggerEcsTask(req.scope, datafor, operation, data, erpEvent.result.id);
@@ -113,7 +125,7 @@ async function POST(req, res) {
113
125
  else {
114
126
  // Use regular workflow processing for other data types
115
127
  framework_1.logger.info(`⚡ Using regular workflow processing for ${datafor}`);
116
- await processWebhookRequest(req.scope, datafor, operation, data);
128
+ await processWebhookRequest(req.scope, datafor, operation, data, erpEvent.result.id);
117
129
  // Update ERP event status to completed
118
130
  await (0, update_erp_event_1.updateErpEventWorkflow)(req.scope).run({
119
131
  input: {
@@ -136,4 +148,4 @@ async function POST(req, res) {
136
148
  (0, utils_1.sendErrorResponse)(res, 500, errorMessage);
137
149
  }
138
150
  }
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VycC93ZWJob29rL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBbUdBLG9CQW1IQztBQXRORCxtREFBNkM7QUFHN0Msc0ZBQXdGO0FBQ3hGLHNFQUFnRjtBQUNoRiw4RkFBaUc7QUFFakcscUNBS2tCO0FBQ2xCLG1DQUlpQjtBQUVqQixrREFBa0Q7QUFDbEQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLDhCQUE4QjtRQUN4QyxTQUFTLEVBQUUsR0FBRztRQUNkLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxhQUFhLEVBQUU7UUFDYixRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLFNBQVMsRUFBRSxHQUFHO1FBQ2QsT0FBTyxFQUFFLElBQUk7S0FDZDtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQzNCLEtBQVUsRUFDVixPQUFtQixFQUNuQixTQUFvQixFQUNwQixJQUFjLEVBQ2QsVUFBa0I7SUFFbEIsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLE9BQXVDLENBQUMsQ0FBQztJQUU1RSxrQkFBTSxDQUFDLElBQUksQ0FDVCw4QkFBOEIsT0FBTyxTQUFTLElBQUksQ0FBQyxNQUFNLFFBQVEsQ0FDbEUsQ0FBQztJQUVGLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsb0RBQTJCLEVBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzlELEtBQUssRUFBRTtnQkFDTCxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7Z0JBQzdCLFVBQVUsRUFBRTtvQkFDVixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7b0JBQy9CLFVBQVUsRUFBRSx3QkFBd0I7aUJBQ3JDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxrQkFBTSxDQUFDLElB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
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VycC93ZWJob29rL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBK0ZBLG9CQWdJQztBQS9ORCxtREFBNkM7QUFHN0Msc0ZBQXdGO0FBQ3hGLHNFQUFnRjtBQUNoRiw4RkFBaUc7QUFFakcscUNBQXlFO0FBQ3pFLG1DQUlpQjtBQUVqQixrREFBa0Q7QUFDbEQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLDhCQUE4QjtRQUN4QyxTQUFTLEVBQUUsR0FBRztRQUNkLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxhQUFhLEVBQUU7UUFDYixRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLFNBQVMsRUFBRSxHQUFHO1FBQ2QsT0FBTyxFQUFFLElBQUk7S0FDZDtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQzNCLEtBQVUsRUFDVixPQUFtQixFQUNuQixTQUFvQixFQUNwQixJQUFjLEVBQ2QsVUFBa0I7SUFFbEIsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLE9BQXVDLENBQUMsQ0FBQztJQUU1RSxrQkFBTSxDQUFDLElBQUksQ0FDVCw4QkFBOEIsT0FBTyxTQUFTLElBQUksQ0FBQyxNQUFNLFFBQVEsQ0FDbEUsQ0FBQztJQUVGLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsb0RBQTJCLEVBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzlELEtBQUssRUFBRTtnQkFDTCxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7Z0JBQzdCLFVBQVUsRUFBRTtvQkFDVixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7b0JBQy9CLFVBQVUsRUFBRSx3QkFBd0I7aUJBQ3JDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxrQkFBTSxDQUFDLElB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
@@ -281,7 +281,7 @@ async function logJobStatus(container, jobId, status, errorMessage, result) {
281
281
  logger.info(`Job ${jobId} result: ${JSON.stringify(result)}`);
282
282
  }
283
283
  }
284
- async function processBatch(container, datafor, operation, batch, batchIndex, totalBatches, logger) {
284
+ async function processBatch(container, datafor, operation, batch, batchIndex, totalBatches, logger, erpEventId) {
285
285
  const errors = [];
286
286
  let processed = 0;
287
287
  try {
@@ -294,7 +294,7 @@ async function processBatch(container, datafor, operation, batch, batchIndex, to
294
294
  if (!workflowHandler) {
295
295
  throw new Error(`Unsupported operation: ${operation} for ${datafor}`);
296
296
  }
297
- const input = (0, config_1.getWorkflowInput)(datafor, operation, batch);
297
+ const input = { datafor, operation, data: batch, eventId: erpEventId };
298
298
  // Execute the workflow for this batch
299
299
  await workflowHandler(container, input);
300
300
  processed = batch.length;
@@ -397,7 +397,7 @@ async function erpWebhookBatchProcessingScript({ container, }) {
397
397
  for (let i = 0; i < batches.length; i++) {
398
398
  const batch = batches[i];
399
399
  try {
400
- const result = await processBatch(container, datafor, operation, batch, i, totalBatches, logger);
400
+ const result = await processBatch(container, datafor, operation, batch, i, totalBatches, logger, erpEventId);
401
401
  totalProcessed += result.processed;
402
402
  if (!result.success) {
403
403
  totalErrors++;
@@ -557,4 +557,4 @@ async function erpWebhookBatchProcessingScript({ container, }) {
557
557
  process.exit(1);
558
558
  }
559
559
  }
560
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXdlYmhvb2stYmF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvYnVsay1qb2JzL2VycC13ZWJob29rLWJhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZkQSxrREF5VkM7QUFwekJELGtEQU80QjtBQUM1Qix3RUFBNkQ7QUFHN0QscURBQXNFO0FBQ3RFLGlFQUE0RDtBQUU1RCx5REFLc0M7QUFDdEMsMkZBQThGO0FBQzlGLCtEQUEwRTtBQUMxRSx3REFBbUU7QUFFbkUsb0RBQW9EO0FBQ3BELEtBQUssVUFBVSxLQUFLLENBQUMsRUFBVTtJQUM3QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQWdCRCxNQUFNLG1CQUFtQjtJQVl2QixZQUNFLE1BQWMsRUFDZCxPQUFlLEVBQ2YsUUFBa0IsRUFDbEIsTUFBVztRQVpMLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBQy9CLFVBQUssR0FBZ0QsRUFBRSxDQUFDO1FBQ3hELGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGtCQUFhLEdBQVcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxnQkFBVyxHQUFXLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsNEJBQTRCO1FBQ25FLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFTcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDO1lB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
560
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXdlYmhvb2stYmF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvYnVsay1qb2JzL2VycC13ZWJob29rLWJhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZkQSxrREEwVkM7QUFyekJELGtEQU80QjtBQUM1Qix3RUFBNkQ7QUFHN0QscURBQXNFO0FBQ3RFLGlFQUE0RDtBQUU1RCx5REFJc0M7QUFDdEMsMkZBQThGO0FBQzlGLCtEQUEwRTtBQUMxRSx3REFBbUU7QUFFbkUsb0RBQW9EO0FBQ3BELEtBQUssVUFBVSxLQUFLLENBQUMsRUFBVTtJQUM3QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQWdCRCxNQUFNLG1CQUFtQjtJQVl2QixZQUNFLE1BQWMsRUFDZCxPQUFlLEVBQ2YsUUFBa0IsRUFDbEIsTUFBVztRQVpMLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBQy9CLFVBQUssR0FBZ0QsRUFBRSxDQUFDO1FBQ3hELGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGtCQUFhLEdBQVcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxnQkFBVyxHQUFXLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsNEJBQTRCO1FBQ25FLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFTcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDO1lB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
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.default = processPendingErpEvents;
5
+ const config_1 = require("../api/erp/webhook/config");
6
+ const bulk_jobs_task_trigger_1 = require("../workflows/bulk-jobs-task-trigger");
7
+ const update_erp_event_1 = require("../workflows/erp-event/workflows/update-erp-event");
8
+ async function processPendingErpEvents(container) {
9
+ const query = container.resolve("query");
10
+ const logger = container.resolve("logger");
11
+ const ECS_TASK_CONFIG = {
12
+ StyleMst: {
13
+ taskType: "erp-webhook-batch-processing",
14
+ batchSize: 200,
15
+ enabled: true,
16
+ },
17
+ PartyStyleMst: {
18
+ taskType: "erp-webhook-batch-processing",
19
+ batchSize: 200,
20
+ enabled: true,
21
+ },
22
+ };
23
+ // 1) Find pending ERP events
24
+ const { data: pendingEvents } = await query.graph({
25
+ entity: "erp_event",
26
+ fields: ["*"],
27
+ filters: {
28
+ status: "pending",
29
+ },
30
+ pagination: {
31
+ order: { created_at: "asc" },
32
+ take: 50,
33
+ },
34
+ });
35
+ if (!pendingEvents?.length) {
36
+ logger.info("🕒 No pending ERP events to process");
37
+ return;
38
+ }
39
+ logger.info(`🕒 Processing ${pendingEvents.length} pending ERP events...`);
40
+ for (const event of pendingEvents) {
41
+ const { id, datafor, operation, data } = event;
42
+ try {
43
+ const shouldUseEcsProcessing = [
44
+ "StyleMst",
45
+ "PartyStyleMst",
46
+ "Inward",
47
+ ].includes(datafor);
48
+ if (shouldUseEcsProcessing && data.length > 100) {
49
+ const taskConfig = ECS_TASK_CONFIG[datafor];
50
+ logger.info(`📋 Using ECS processing for ${datafor} (event ${id}) with ${data.length} items`);
51
+ if (!taskConfig) {
52
+ throw new Error(`ECS task config missing for ${datafor}`);
53
+ }
54
+ const { result } = await (0, bulk_jobs_task_trigger_1.bulkJobsTaskTriggerWorkflow)(container).run({
55
+ input: {
56
+ taskType: taskConfig.taskType,
57
+ parameters: {
58
+ batchSize: taskConfig.batchSize,
59
+ erpEventId: id,
60
+ },
61
+ },
62
+ });
63
+ logger.info(`✅ ECS task triggered for ${datafor} (event ${id}): ${JSON.stringify(result)}`);
64
+ }
65
+ else {
66
+ const workflowConfig = config_1.MASTER_WORKFLOW_CONFIG[datafor];
67
+ if (!workflowConfig) {
68
+ throw new Error(`Unsupported datafor type: ${datafor}`);
69
+ }
70
+ const workflowHandler = workflowConfig[operation];
71
+ if (!workflowHandler) {
72
+ throw new Error(`Unsupported operation: ${operation} for ${datafor}`);
73
+ }
74
+ // Reuse the same input shape as webhook route: include eventId
75
+ logger.info(`⚡ Using regular workflow processing for ${datafor} (event ${id})`);
76
+ await workflowHandler(container, {
77
+ datafor,
78
+ operation,
79
+ data,
80
+ eventId: id,
81
+ });
82
+ }
83
+ // Mark event completed
84
+ await (0, update_erp_event_1.updateErpEventWorkflow)(container).run({
85
+ input: {
86
+ id,
87
+ status: "completed",
88
+ sync_completed_at: new Date(),
89
+ },
90
+ });
91
+ logger.info(`✅ Processed ERP event ${id} (${datafor} ${operation})`);
92
+ }
93
+ catch (e) {
94
+ logger.error(`❌ Failed processing ERP event ${event.id} (${event.datafor} ${event.operation}):`, e);
95
+ // Mark event failed; failure event emission handled by workflow handler wrapper
96
+ await (0, update_erp_event_1.updateErpEventWorkflow)(container).run({
97
+ input: {
98
+ id: event.id,
99
+ status: "failed",
100
+ sync_completed_at: null,
101
+ },
102
+ });
103
+ }
104
+ }
105
+ }
106
+ exports.config = {
107
+ name: "process-pending-erp-events",
108
+ schedule: {
109
+ interval: 1800000,
110
+ },
111
+ };
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wZW5kaW5nLWVycC1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvam9icy9wcm9jZXNzLXBlbmRpbmctZXJwLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSwwQ0FnSUM7QUFwSUQsc0RBQW1FO0FBQ25FLGdGQUFrRjtBQUNsRix3RkFBMkY7QUFFNUUsS0FBSyxVQUFVLHVCQUF1QixDQUNuRCxTQUEwQjtJQUUxQixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxlQUFlLEdBR2pCO1FBQ0YsUUFBUSxFQUFFO1lBQ1IsUUFBUSxFQUFFLDhCQUE4QjtZQUN4QyxTQUFTLEVBQUUsR0FBRztZQUNkLE9BQU8sRUFBRSxJQUFJO1NBQ2Q7UUFDRCxhQUFhLEVBQUU7WUFDYixRQUFRLEVBQUUsOEJBQThCO1lBQ3hDLFNBQVMsRUFBRSxHQUFHO1lBQ2QsT0FBTyxFQUFFLElBQUk7U0FDZDtLQUNGLENBQUM7SUFFRiw2QkFBNkI7SUFDN0IsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDaEQsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsTUFBTSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDVixLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFO1lBQzVCLElBQUksRUFBRSxFQUFFO1NBQ1Q7S0FDRixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMs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
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20250916065103 = void 0;
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
+ class Migration20250916065103 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`alter table if exists "extended_variant" add column if not exists "outlet_ids" text[] not null default '{}';`);
8
+ }
9
+ async down() {
10
+ this.addSql(`alter table if exists "extended_variant" drop column if exists "outlet_ids";`);
11
+ }
12
+ }
13
+ exports.Migration20250916065103 = Migration20250916065103;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA5MTYwNjUxMDMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC12YXJpYW50L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA5MTYwNjUxMDMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLDhHQUE4RyxDQUFDLENBQUM7SUFDOUgsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsOEVBQThFLENBQUMsQ0FBQztJQUM5RixDQUFDO0NBRUY7QUFWRCwwREFVQyJ9