@devx-commerce/plugin-gati 0.0.34-beta.65 → 0.0.34-beta.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/jobs/process-erp-events.js +23 -101
- package/.medusa/server/src/jobs/process-variant-option-sync.js +8 -6
- package/.medusa/server/src/jobs/sync-addless-detail.js +6 -1
- package/.medusa/server/src/jobs/sync-book-list-and-applicable-policy.js +6 -1
- package/.medusa/server/src/jobs/sync-customer-erp.js +5 -1
- package/.medusa/server/src/jobs/sync-item-master.js +7 -1
- package/.medusa/server/src/jobs/sync-labour-chart-master.js +7 -1
- package/.medusa/server/src/jobs/sync-order-erp.js +5 -1
- package/.medusa/server/src/jobs/sync-order-request-erp.js +5 -1
- package/.medusa/server/src/jobs/sync-payment-book-master.js +6 -1
- package/.medusa/server/src/jobs/sync-rate-chart-master.js +7 -1
- package/.medusa/server/src/jobs/sync-report-master.js +6 -1
- package/.medusa/server/src/jobs/sync-sale-return-policy-master.js +7 -1
- package/.medusa/server/src/jobs/sync-urd-purchase-erp.js +5 -1
- package/.medusa/server/src/modules/erp-event/migrations/Migration20260529052734.js +14 -0
- package/.medusa/server/src/modules/erp-event/models/erp-event.js +6 -1
- package/.medusa/server/src/subscribers/erp-batch-processor.js +149 -0
- package/.medusa/server/src/workflows/erp-batch-processing/index.js +19 -0
- package/.medusa/server/src/workflows/erp-batch-processing/steps/finalize-batch-processing.js +55 -0
- package/.medusa/server/src/workflows/erp-batch-processing/steps/index.js +20 -0
- package/.medusa/server/src/workflows/erp-batch-processing/steps/initialize-batch-processing.js +40 -0
- package/.medusa/server/src/workflows/erp-batch-processing/steps/start-batch-processing.js +22 -0
- package/.medusa/server/src/workflows/erp-batch-processing/workflows/erp-batch-processing.js +25 -0
- package/.medusa/server/src/workflows/erp-batch-processing/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/erp-event/steps/update-erp-event.js +24 -7
- package/.medusa/server/src/workflows/erp-event/workflows/update-erp-event.js +1 -1
- package/.medusa/server/src/workflows/helpers/product-helper.js +10 -16
- package/package.json +4 -2
|
@@ -7,6 +7,11 @@ const party_master_1 = require("../modules/party-master");
|
|
|
7
7
|
const payment_book_master_1 = require("../workflows/payment-book-master");
|
|
8
8
|
const payment_book_master_2 = require("../modules/payment-book-master");
|
|
9
9
|
async function syncPaymentBookMaster(container) {
|
|
10
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
11
|
+
if (process.env.RUN_SHEDULE_JOBS === "false") {
|
|
12
|
+
logger.info("☢️ sync-payment-book-master job is disabled via RUN_SHEDULE_JOBS");
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
10
15
|
const partyMasterModuleService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
|
|
11
16
|
const paymentBookMasterModuleService = container.resolve(payment_book_master_2.PAYMENT_BOOK_MASTER_MODULE);
|
|
12
17
|
const paymentData = await paymentBookMasterModuleService.listPaymentBookMasters();
|
|
@@ -60,4 +65,4 @@ exports.config = {
|
|
|
60
65
|
name: "sync-payment-book-master",
|
|
61
66
|
schedule: "0 0 * * *", // Every day at midnight (every 24 hours)
|
|
62
67
|
};
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1wYXltZW50LWJvb2stbWFzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2pvYnMvc3luYy1wYXltZW50LWJvb2stbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLHdDQXVEQztBQTlERCxxREFBZ0Y7QUFFaEYsMERBQTREO0FBQzVELDBFQUEyRTtBQUMzRSx3RUFBMEU7QUFHM0QsS0FBSyxVQUFVLHFCQUFxQixDQUFDLFNBQTBCO0lBQzVFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0VBQWtFLENBQUMsQ0FBQztRQUNoRixPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sd0JBQXdCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0NBQW1CLENBQUMsQ0FBQztJQUM1RixNQUFNLDhCQUE4QixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUFDLGdEQUEwQixDQUFDLENBQUM7SUFDekcsTUFBTSxXQUFXLEdBQUcsTUFBTSw4QkFBOEIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO0lBQ2pGLE1BQU0sR0FBRyxHQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsTUFBTSw4QkFBOEIsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRSxNQUFNLFFBQVEsR0FBRyxNQUFNLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDO1FBQy9ELGdCQUFnQixFQUFFLElBQUk7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QixNQUFNLElBQUEsa0JBQVUsRUFBQztRQUNkLElBQUEsK0NBQXlCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3hDLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUMsT0FBTztnQkFDWixnQkFBZ0IsRUFBQyxLQUFLO2dCQUN0QixTQUFTLEVBQUUsU0FBUzthQUNyQjtTQUNGLENBQUM7UUFDSCxJQUFBLCtDQUF5QixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN4QyxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFDLE1BQU07Z0JBQ1gsZ0JBQWdCLEVBQUMsS0FBSztnQkFDdEIsU0FBUyxFQUFFLFNBQVM7YUFDckI7U0FDRixDQUFDO1FBQ0QsSUFBQSwrQ0FBeUIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDeEMsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBQyxjQUFjO2dCQUNuQixnQkFBZ0IsRUFBQyxLQUFLO2dCQUN0QixTQUFTLEVBQUUsU0FBUzthQUNyQjtTQUNGLENBQUM7UUFDQSxJQUFBLCtDQUF5QixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN2QyxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFDLFNBQVM7Z0JBQ2QsZ0JBQWdCLEVBQUMsSUFBSTtnQkFDckIsU0FBUyxFQUFFLFNBQVM7YUFDckI7U0FDRixDQUFDO1FBQ0YsSUFBQSwrQ0FBeUIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDdkMsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBQyxTQUFTO2dCQUNkLGdCQUFnQixFQUFDLElBQUk7Z0JBQ3JCLFNBQVMsRUFBRSxTQUFTO2FBQ3JCO1NBQ0YsQ0FBQztLQUNILENBQUMsQ0FBQTtBQUVKLENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBRztJQUNwQixJQUFJLEVBQUUsMEJBQTBCO0lBQ2hDLFFBQVEsRUFBRSxXQUFXLEVBQUUseUNBQXlDO0NBQ2pFLENBQUMifQ==
|
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
4
|
exports.default = syncRateChartMaster;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
6
|
const rate_chart_master_1 = require("../modules/rate-chart-master");
|
|
6
7
|
const rate_chart_master_2 = require("../workflows/rate-chart-master");
|
|
7
8
|
async function syncRateChartMaster(container) {
|
|
9
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
10
|
+
if (process.env.RUN_SHEDULE_JOBS === "false") {
|
|
11
|
+
logger.info("☢️ sync-rate-chart-master job is disabled via RUN_SHEDULE_JOBS");
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
8
14
|
const rateChartMasterModuleService = container.resolve(rate_chart_master_1.RATE_CHART_MASTER_MODULE);
|
|
9
15
|
const rateChartData = await rateChartMasterModuleService.listRateChartMasters();
|
|
10
16
|
const ids = rateChartData.map(item => item.id);
|
|
@@ -17,4 +23,4 @@ exports.config = {
|
|
|
17
23
|
name: "sync-rate-chart-master",
|
|
18
24
|
schedule: "0 0 * * *", // Every day at midnight (every 24 hours)
|
|
19
25
|
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yYXRlLWNoYXJ0LW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9qb2JzL3N5bmMtcmF0ZS1jaGFydC1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsc0NBY0M7QUFuQkQscURBQW9FO0FBRXBFLG9FQUFzRTtBQUN0RSxzRUFBdUU7QUFFeEQsS0FBSyxVQUFVLG1CQUFtQixDQUFDLFNBQTBCO0lBQzFFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztRQUM5RSxPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sNEJBQTRCLEdBQXFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsNENBQXdCLENBQUMsQ0FBQztJQUNuRyxNQUFNLGFBQWEsR0FBRyxNQUFNLDRCQUE0QixDQUFDLG9CQUFvQixFQUFFLENBQUE7SUFDL0UsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQyxNQUFNLDRCQUE0QixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRS9ELE1BQU0sSUFBQSwyQ0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDM0MsS0FBSyxFQUFFLEVBQUU7S0FDVixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQUc7SUFDcEIsSUFBSSxFQUFFLHdCQUF3QjtJQUM5QixRQUFRLEVBQUUsV0FBVyxFQUFFLHlDQUF5QztDQUNqRSxDQUFDIn0=
|
|
@@ -7,6 +7,11 @@ const party_master_1 = require("../modules/party-master");
|
|
|
7
7
|
const report_master_1 = require("../workflows/report-master");
|
|
8
8
|
const report_master_2 = require("../modules/report-master");
|
|
9
9
|
async function syncReportMaster(container) {
|
|
10
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
11
|
+
if (process.env.RUN_SHEDULE_JOBS === "false") {
|
|
12
|
+
logger.info("☢️ sync-report-master job is disabled via RUN_SHEDULE_JOBS");
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
10
15
|
const partyMasterModuleService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
|
|
11
16
|
const reportMasterModuleService = container.resolve(report_master_2.REPORT_MASTER_MODULE);
|
|
12
17
|
const reportData = await reportMasterModuleService.listReportMasters();
|
|
@@ -43,4 +48,4 @@ exports.config = {
|
|
|
43
48
|
name: "sync-report-master",
|
|
44
49
|
schedule: "*/30 * * * *", // Every day at midnight (every 24 hours)
|
|
45
50
|
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXBvcnQtbWFzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2pvYnMvc3luYy1yZXBvcnQtbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLG1DQXNDQztBQTdDRCxxREFBZ0Y7QUFFaEYsMERBQTREO0FBQzVELDhEQUFnRTtBQUNoRSw0REFBOEQ7QUFHL0MsS0FBSyxVQUFVLGdCQUFnQixDQUFDLFNBQTBCO0lBQ3ZFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNERBQTRELENBQUMsQ0FBQztRQUMxRSxPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sd0JBQXdCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0NBQW1CLENBQUMsQ0FBQztJQUM1RixNQUFNLHlCQUF5QixHQUF3QixTQUFTLENBQUMsT0FBTyxDQUFDLG9DQUFvQixDQUFDLENBQUM7SUFDL0YsTUFBTSxVQUFVLEdBQUcsTUFBTSx5QkFBeUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO0lBQ3RFLE1BQU0sR0FBRyxHQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0MsTUFBTSx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6RCxNQUFNLFFBQVEsR0FBRyxNQUFNLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDO1FBQy9ELGdCQUFnQixFQUFFLElBQUk7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QixNQUFNLElBQUEsa0JBQVUsRUFBQztRQUNkLElBQUEsb0NBQW9CLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ25DLEtBQUssRUFBRTtnQkFDTCxhQUFhLEVBQUMsTUFBTTtnQkFDcEIsU0FBUyxFQUFFLFNBQVM7YUFDckI7U0FDRixDQUFDO1FBQ0YsSUFBQSxvQ0FBb0IsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDbEMsS0FBSyxFQUFFO2dCQUNMLGFBQWEsRUFBQyxPQUFPO2dCQUNyQixTQUFTLEVBQUUsU0FBUzthQUNyQjtTQUNGLENBQUM7UUFDRixJQUFBLG9DQUFvQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNsQyxLQUFLLEVBQUU7Z0JBQ0wsYUFBYSxFQUFDLGtCQUFrQjtnQkFDaEMsU0FBUyxFQUFFLFNBQVM7YUFDckI7U0FDRixDQUFDO0tBQ0gsQ0FBQyxDQUFBO0FBRUosQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRSxvQkFBb0I7SUFDMUIsUUFBUSxFQUFFLGNBQWMsRUFBRSx5Q0FBeUM7Q0FDcEUsQ0FBQyJ9
|
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
4
|
exports.default = syncSaleReturnPolicyMaster;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
6
|
const sale_return_policy_master_1 = require("../modules/sale-return-policy-master");
|
|
6
7
|
const sale_return_policy_master_2 = require("../workflows/sale-return-policy-master");
|
|
7
8
|
async function syncSaleReturnPolicyMaster(container) {
|
|
9
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
10
|
+
if (process.env.RUN_SHEDULE_JOBS === "false") {
|
|
11
|
+
logger.info("☢️ sync-sale-return-policy-master job is disabled via RUN_SHEDULE_JOBS");
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
8
14
|
const saleReturnPolicyService = container.resolve(sale_return_policy_master_1.SALE_RETURN_POLICY_MASTER_MODULE);
|
|
9
15
|
// Delete existing policies
|
|
10
16
|
const policyData = await saleReturnPolicyService.listSaleReturnPolicyMasters();
|
|
@@ -26,4 +32,4 @@ exports.config = {
|
|
|
26
32
|
name: "sync-sale-return-policy-master",
|
|
27
33
|
schedule: "0 0 * * *", // Every day at midnight (every 24 hours)
|
|
28
34
|
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1zYWxlLXJldHVybi1wb2xpY3ktbWFzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2pvYnMvc3luYy1zYWxlLXJldHVybi1wb2xpY3ktbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDZDQWtDQztBQXZDRCxxREFBc0U7QUFFdEUsb0ZBQXdGO0FBQ3hGLHNGQUF3RjtBQUV6RSxLQUFLLFVBQVUsMEJBQTBCLENBQ3RELFNBQTBCO0lBRTFCLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0VBQXdFLENBQUMsQ0FBQztRQUN0RixPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sdUJBQXVCLEdBQTRCLFNBQVMsQ0FBQyxPQUFPLENBQ3hFLDREQUFnQyxDQUNqQyxDQUFDO0lBRUYsMkJBQTJCO0lBQzNCLE1BQU0sVUFBVSxHQUFHLE1BQU0sdUJBQXVCLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUMvRSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEQsTUFBTSx1QkFBdUIsQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV2RSxnQ0FBZ0M7SUFDaEMsTUFBTSxlQUFlLEdBQ25CLE1BQU0sdUJBQXVCLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztJQUNuRSxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUQsTUFBTSx1QkFBdUIsQ0FBQyxrQ0FBa0MsQ0FDOUQsY0FBYyxDQUNmLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsTUFBTSxhQUFhLEdBQ2pCLE1BQU0sdUJBQXVCLENBQUMsOEJBQThCLEVBQUUsQ0FBQztJQUNqRSxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUQsTUFBTSx1QkFBdUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU3RSxNQUFNLElBQUEsMERBQThCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2xELEtBQUssRUFBRSxFQUFFO0tBQ1YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRSxnQ0FBZ0M7SUFDdEMsUUFBUSxFQUFFLFdBQVcsRUFBRSx5Q0FBeUM7Q0FDakUsQ0FBQyJ9
|
|
@@ -6,6 +6,10 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
6
6
|
const sync_old_gold_to_erp_1 = require("../workflows/orders/workflows/sync-old-gold-to-erp");
|
|
7
7
|
async function syncUrdPurchaseErp(container) {
|
|
8
8
|
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
9
|
+
if (process.env.RUN_SHEDULE_JOBS === "false") {
|
|
10
|
+
logger.info("☢️ sync-urd-purchase-erp job is disabled via RUN_SHEDULE_JOBS");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
9
13
|
const erpService = container.resolve("erp");
|
|
10
14
|
const healthy = await erpService.checkServiceHealth();
|
|
11
15
|
if (!healthy) {
|
|
@@ -75,4 +79,4 @@ exports.config = {
|
|
|
75
79
|
name: "sync-urd-purchase-erp",
|
|
76
80
|
schedule: "*/10 * * * *", // Every 10 minutes
|
|
77
81
|
};
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy11cmQtcHVyY2hhc2UtZXJwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2pvYnMvc3luYy11cmQtcHVyY2hhc2UtZXJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHFDQThFQztBQWxGRCxxREFBc0U7QUFFdEUsNkZBQThGO0FBRS9FLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUEwQjtJQUN6RSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25FLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLCtEQUErRCxDQUFDLENBQUM7UUFDN0UsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBZSxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhELE1BQU0sT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDdEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1FBQzlFLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQVEsQ0FBQztJQUU1RCx3RkFBd0Y7SUFDeEYsTUFBTSxPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUMsa0JBQWtCLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3RSxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ25DLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FDdkMsQ0FBQztJQUVGLE1BQU0sQ0FB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
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20260529052734 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20260529052734 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "erp_event" add column if not exists "started_at" timestamptz null, add column if not exists "current_batch" integer null default 0, add column if not exists "total_batches" integer null default 0, add column if not exists "workflow_transaction_id" text null, add column if not exists "error_details" jsonb null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`alter table if exists "erp_event" drop column if exists "started_at", drop column if exists "current_batch", drop column if exists "total_batches", drop column if exists "workflow_transaction_id", drop column if exists "error_details";`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20260529052734 = Migration20260529052734;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjA1MjkwNTI3MzQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9lcnAtZXZlbnQvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI2MDUyOTA1MjczNC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBcUU7QUFFckUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsZ1ZBQWdWLENBQUMsQ0FBQztJQUNoVyxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2T0FBNk8sQ0FBQyxDQUFDO0lBQzdQLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -7,10 +7,15 @@ exports.ErpEvent = utils_1.model.define("erp_event", {
|
|
|
7
7
|
datafor: utils_1.model.text(),
|
|
8
8
|
operation: utils_1.model.text(),
|
|
9
9
|
data: utils_1.model.array(),
|
|
10
|
+
started_at: utils_1.model.dateTime().nullable(),
|
|
10
11
|
sync_completed_at: utils_1.model.dateTime().nullable(),
|
|
11
12
|
status: utils_1.model
|
|
12
13
|
.enum(["pending", "completed", "failed", "in-progress"])
|
|
13
14
|
.default("pending")
|
|
14
15
|
.nullable(),
|
|
16
|
+
current_batch: utils_1.model.number().default(0).nullable(),
|
|
17
|
+
total_batches: utils_1.model.number().default(0).nullable(),
|
|
18
|
+
workflow_transaction_id: utils_1.model.text().nullable(),
|
|
19
|
+
error_details: utils_1.model.json().nullable(),
|
|
15
20
|
});
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZXJwLWV2ZW50L21vZGVscy9lcnAtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWtEO0FBRXJDLFFBQUEsUUFBUSxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO0lBQ2hELEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQzNCLE9BQU8sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3JCLFNBQVMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3ZCLElBQUksRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ25CLFVBQVUsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUMsTUFBTSxFQUFFLGFBQUs7U0FDVixJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUN2RCxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ2xCLFFBQVEsRUFBRTtJQUNiLGFBQWEsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNuRCxhQUFhLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbkQsdUJBQXVCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoRCxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUN2QyxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = erpBatchProcessor;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const config_1 = require("../api/erp/webhook/config");
|
|
8
|
+
const update_erp_event_1 = require("../workflows/erp-event/workflows/update-erp-event");
|
|
9
|
+
async function erpBatchProcessor({ event: { data }, container, }) {
|
|
10
|
+
const { erpEventId, batchIndex, totalBatches, batchSize } = data;
|
|
11
|
+
const workflowEngine = container.resolve(utils_1.Modules.WORKFLOW_ENGINE);
|
|
12
|
+
const eventBus = container.resolve(utils_1.Modules.EVENT_BUS);
|
|
13
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
14
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
15
|
+
let transactionId = null;
|
|
16
|
+
try {
|
|
17
|
+
const { data: [erpEvent], } = await query.graph({
|
|
18
|
+
entity: "erp_event",
|
|
19
|
+
fields: [
|
|
20
|
+
"id",
|
|
21
|
+
"datafor",
|
|
22
|
+
"operation",
|
|
23
|
+
"data",
|
|
24
|
+
"workflow_transaction_id",
|
|
25
|
+
"error_details",
|
|
26
|
+
],
|
|
27
|
+
filters: { id: erpEventId },
|
|
28
|
+
});
|
|
29
|
+
if (!erpEvent) {
|
|
30
|
+
throw new Error(`ERP event not found: ${erpEventId}`);
|
|
31
|
+
}
|
|
32
|
+
transactionId = erpEvent.workflow_transaction_id;
|
|
33
|
+
const start = batchIndex * batchSize;
|
|
34
|
+
const batchData = erpEvent.data.slice(start, start + batchSize);
|
|
35
|
+
const batchStartTime = Date.now();
|
|
36
|
+
logger.info(`[BATCH ${batchIndex + 1}/${totalBatches}] Starting ${erpEvent.datafor} (${batchData.length} items)`);
|
|
37
|
+
const workflowConfig = config_1.MASTER_WORKFLOW_CONFIG[erpEvent.datafor];
|
|
38
|
+
if (!workflowConfig) {
|
|
39
|
+
throw new Error(`Unsupported datafor type: ${erpEvent.datafor}`);
|
|
40
|
+
}
|
|
41
|
+
const workflowHandler = workflowConfig[erpEvent.operation];
|
|
42
|
+
if (!workflowHandler) {
|
|
43
|
+
throw new Error(`Unsupported operation: ${erpEvent.operation} for ${erpEvent.datafor}`);
|
|
44
|
+
}
|
|
45
|
+
await workflowHandler(container, {
|
|
46
|
+
datafor: erpEvent.datafor,
|
|
47
|
+
operation: erpEvent.operation,
|
|
48
|
+
data: batchData,
|
|
49
|
+
eventId: erpEventId,
|
|
50
|
+
});
|
|
51
|
+
const batchDuration = ((Date.now() - batchStartTime) / 1000).toFixed(2);
|
|
52
|
+
logger.info(`[BATCH ${batchIndex + 1}/${totalBatches}] Completed ${erpEvent.datafor} in ${batchDuration}s`);
|
|
53
|
+
await (0, update_erp_event_1.updateErpEventWorkflow)(container).run({
|
|
54
|
+
input: { id: erpEventId, current_batch: batchIndex + 1 },
|
|
55
|
+
});
|
|
56
|
+
if (batchIndex + 1 < totalBatches) {
|
|
57
|
+
await eventBus.emit({
|
|
58
|
+
name: "erp.batch.process",
|
|
59
|
+
data: { ...data, batchIndex: batchIndex + 1 },
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
logger.info(`[BATCH COMPLETE] All ${totalBatches} batches done for ${erpEvent.datafor}, advancing workflow`);
|
|
64
|
+
await workflowEngine.setStepSuccess({
|
|
65
|
+
idempotencyKey: {
|
|
66
|
+
action: utils_1.TransactionHandlerType.INVOKE,
|
|
67
|
+
transactionId: transactionId,
|
|
68
|
+
stepId: "start-batch-processing-step",
|
|
69
|
+
workflowId: "erp-batch-processing",
|
|
70
|
+
},
|
|
71
|
+
stepResponse: new workflows_sdk_1.StepResponse({
|
|
72
|
+
completed: true,
|
|
73
|
+
batchesProcessed: totalBatches,
|
|
74
|
+
}),
|
|
75
|
+
options: { container },
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
81
|
+
logger.error(`Failed to process batch ${batchIndex + 1}/${totalBatches} for event ${erpEventId}: ${errorMessage}`);
|
|
82
|
+
try {
|
|
83
|
+
const { data: [currentEvent], } = await query.graph({
|
|
84
|
+
entity: "erp_event",
|
|
85
|
+
fields: ["error_details", "workflow_transaction_id"],
|
|
86
|
+
filters: { id: erpEventId },
|
|
87
|
+
});
|
|
88
|
+
const errorDetails = currentEvent.error_details || [];
|
|
89
|
+
errorDetails.push({
|
|
90
|
+
batchIndex,
|
|
91
|
+
error: errorMessage,
|
|
92
|
+
timestamp: new Date().toISOString(),
|
|
93
|
+
});
|
|
94
|
+
await (0, update_erp_event_1.updateErpEventWorkflow)(container).run({
|
|
95
|
+
input: {
|
|
96
|
+
id: erpEventId,
|
|
97
|
+
current_batch: batchIndex + 1,
|
|
98
|
+
error_details: errorDetails,
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
transactionId = transactionId || currentEvent.workflow_transaction_id;
|
|
102
|
+
}
|
|
103
|
+
catch (updateError) {
|
|
104
|
+
logger.error(`Failed to update error details: ${updateError}`);
|
|
105
|
+
}
|
|
106
|
+
// Continue to next batch even on failure — remaining batches should still run.
|
|
107
|
+
// Only finalize the workflow (setStepSuccess) after the last batch,
|
|
108
|
+
// whether it succeeded or failed. Finalize will see error_details and set
|
|
109
|
+
// status="failed", but all batches will have been attempted.
|
|
110
|
+
if (batchIndex + 1 < totalBatches) {
|
|
111
|
+
logger.warn(`[BATCH ${batchIndex + 1}/${totalBatches}] Failed — continuing to next batch`);
|
|
112
|
+
try {
|
|
113
|
+
await eventBus.emit({
|
|
114
|
+
name: "erp.batch.process",
|
|
115
|
+
data: { ...data, batchIndex: batchIndex + 1 },
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
catch (emitError) {
|
|
119
|
+
logger.error(`Failed to emit next batch after failure: ${emitError}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else if (transactionId) {
|
|
123
|
+
// Last batch failed — finalize so the event doesn't stay in-progress
|
|
124
|
+
logger.warn(`[BATCH ${batchIndex + 1}/${totalBatches}] Last batch failed — finalizing workflow`);
|
|
125
|
+
try {
|
|
126
|
+
await workflowEngine.setStepSuccess({
|
|
127
|
+
idempotencyKey: {
|
|
128
|
+
action: utils_1.TransactionHandlerType.INVOKE,
|
|
129
|
+
transactionId,
|
|
130
|
+
stepId: "start-batch-processing-step",
|
|
131
|
+
workflowId: "erp-batch-processing",
|
|
132
|
+
},
|
|
133
|
+
stepResponse: new workflows_sdk_1.StepResponse({
|
|
134
|
+
completed: false,
|
|
135
|
+
failedAtBatch: batchIndex,
|
|
136
|
+
}),
|
|
137
|
+
options: { container },
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
catch (stepSuccessError) {
|
|
141
|
+
logger.error(`Failed to advance workflow after last batch failure: ${stepSuccessError}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.config = {
|
|
147
|
+
event: "erp.batch.process",
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWJhdGNoLXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9lcnAtYmF0Y2gtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXNCQSxvQ0F5S0M7QUE5TEQscURBSW1DO0FBQ25DLHFFQUFpRTtBQUVqRSxzREFJbUM7QUFDbkMsd0ZBQTJGO0FBUzVFLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxFQUM5QyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFDZixTQUFTLEdBQ3lCO0lBQ2xDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDakUsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5FLElBQUksYUFBYSxHQUFrQixJQUFJLENBQUM7SUFFeEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUNqQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNwQixNQUFNLEVBQUUsV0FBVztZQUNuQixNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixTQUFTO2dCQUNULFdBQVc7Z0JBQ1gsTUFBTTtnQkFDTix5QkFBeUI7Z0JBQ3pCLGVBQWU7YUFDaEI7WUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFB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
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./steps"), exports);
|
|
18
|
+
__exportStar(require("./workflows"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2VycC1iYXRjaC1wcm9jZXNzaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBd0I7QUFDeEIsOENBQTRCIn0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.finalizeBatchProcessingStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const update_erp_event_1 = require("../../erp-event/workflows/update-erp-event");
|
|
7
|
+
const notification_1 = require("../../notification");
|
|
8
|
+
exports.finalizeBatchProcessingStep = (0, workflows_sdk_1.createStep)("finalize-batch-processing-step", async (input, { container }) => {
|
|
9
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
10
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
11
|
+
const { data: [erpEvent], } = await query.graph({
|
|
12
|
+
entity: "erp_event",
|
|
13
|
+
fields: [
|
|
14
|
+
"id",
|
|
15
|
+
"datafor",
|
|
16
|
+
"operation",
|
|
17
|
+
"current_batch",
|
|
18
|
+
"total_batches",
|
|
19
|
+
"error_details",
|
|
20
|
+
],
|
|
21
|
+
filters: { id: input.erpEventId },
|
|
22
|
+
});
|
|
23
|
+
const hasErrors = erpEvent.error_details && Object.keys(erpEvent.error_details).length > 0;
|
|
24
|
+
logger.info(`[END] ${erpEvent.datafor} batch processing: ${erpEvent.current_batch}/${erpEvent.total_batches} batches`);
|
|
25
|
+
await (0, update_erp_event_1.updateErpEventWorkflow)(container).run({
|
|
26
|
+
input: {
|
|
27
|
+
id: input.erpEventId,
|
|
28
|
+
status: hasErrors ? "failed" : "completed",
|
|
29
|
+
sync_completed_at: new Date(),
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
const notificationTitle = hasErrors
|
|
33
|
+
? `ERP Batch Processing Completed with Errors`
|
|
34
|
+
: `ERP Batch Processing Completed Successfully`;
|
|
35
|
+
const notificationDescription = hasErrors
|
|
36
|
+
? `Processed ${erpEvent.current_batch}/${erpEvent.total_batches} batches for ${erpEvent.datafor} ${erpEvent.operation} with errors`
|
|
37
|
+
: `Successfully processed all ${erpEvent.total_batches} batches for ${erpEvent.datafor} ${erpEvent.operation}`;
|
|
38
|
+
await (0, notification_1.createNotificationWorkflow)(container).run({
|
|
39
|
+
input: {
|
|
40
|
+
to: "",
|
|
41
|
+
channel: "feed",
|
|
42
|
+
template: "admin-ui",
|
|
43
|
+
data: {
|
|
44
|
+
title: notificationTitle,
|
|
45
|
+
description: notificationDescription,
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
return new workflows_sdk_1.StepResponse({
|
|
50
|
+
success: !hasErrors,
|
|
51
|
+
batchesProcessed: erpEvent.current_batch,
|
|
52
|
+
totalBatches: erpEvent.total_batches,
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYWxpemUtYmF0Y2gtcHJvY2Vzc2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXJwLWJhdGNoLXByb2Nlc3Npbmcvc3RlcHMvZmluYWxpemUtYmF0Y2gtcHJvY2Vzc2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UscURBQXNFO0FBRXRFLGlGQUFvRjtBQUNwRixxREFBZ0U7QUFNbkQsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDBCQUFVLEVBQ25ELGdDQUFnQyxFQUNoQyxLQUFLLEVBQUUsS0FBbUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDM0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5FLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FDakIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFO1lBQ04sSUFBSTtZQUNKLFNBQVM7WUFDVCxXQUFXO1lBQ1gsZUFBZTtZQUNmLGVBQWU7WUFDZixlQUFlO1NBQ2hCO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUU7S0FDbEMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxTQUFTLEdBQ2IsUUFBUSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRTNFLE1BQU0sQ0FBQyxJQUFJLENBQ1QsU0FBUyxRQUFRLENBQUMsT0FBTyxzQkFBc0IsUUFBUSxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUMsYUFBYSxVQUFVLENBQzFHLENBQUM7SUFFRixNQUFNLElBQUEseUNBQXNCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzFDLEtBQUssRUFBRTtZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUNwQixNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVc7WUFDMUMsaUJBQWlCLEVBQUUsSUFBSSxJQUFJLEVBQUU7U0FDOUI7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLGlCQUFpQixHQUFHLFNBQVM7UUFDakMsQ0FBQyxDQUFDLDRDQUE0QztRQUM5QyxDQUFDLENBQUMsNkNBQTZDLENBQUM7SUFFbEQsTUFBTSx1QkFBdUIsR0FBRyxTQUFTO1FBQ3ZDLENBQUMsQ0FBQyxhQUFhLFFBQVEsQ0FBQyxhQUFhLElBQUksUUFBUSxDQUFDLGFBQWEsZ0JBQWdCLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFNBQVMsY0FBYztRQUNuSSxDQUFDLENBQUMsOEJBQThCLFFBQVEsQ0FBQyxhQUFhLGdCQUFnQixRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUVqSCxNQUFNLElBQUEseUNBQTBCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlDLEtBQUssRUFBRTtZQUNMLEVBQUUsRUFBRSxFQUFFO1lBQ04sT0FBTyxFQUFFLE1BQU07WUFDZixRQUFRLEVBQUUsVUFBVTtZQUNwQixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsV0FBVyxFQUFFLHVCQUF1QjthQUNyQztTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsT0FBTyxFQUFFLENBQUMsU0FBUztRQUNuQixnQkFBZ0IsRUFBRSxRQUFRLENBQUMsYUFBYTtRQUN4QyxZQUFZLEVBQUUsUUFBUSxDQUFDLGFBQWE7S0FDckMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./initialize-batch-processing"), exports);
|
|
18
|
+
__exportStar(require("./start-batch-processing"), exports);
|
|
19
|
+
__exportStar(require("./finalize-batch-processing"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2VycC1iYXRjaC1wcm9jZXNzaW5nL3N0ZXBzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBOEM7QUFDOUMsMkRBQXlDO0FBQ3pDLDhEQUE0QyJ9
|
package/.medusa/server/src/workflows/erp-batch-processing/steps/initialize-batch-processing.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeBatchProcessingStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const update_erp_event_1 = require("../../erp-event/workflows/update-erp-event");
|
|
7
|
+
exports.initializeBatchProcessingStep = (0, workflows_sdk_1.createStep)("initialize-batch-processing-step", async (input, { container, context }) => {
|
|
8
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
10
|
+
const { data: [erpEvent], } = await query.graph({
|
|
11
|
+
entity: "erp_event",
|
|
12
|
+
fields: ["id", "datafor", "operation", "data", "status"],
|
|
13
|
+
filters: { id: input.erpEventId },
|
|
14
|
+
});
|
|
15
|
+
if (!erpEvent) {
|
|
16
|
+
throw new Error(`ERP event not found: ${input.erpEventId}`);
|
|
17
|
+
}
|
|
18
|
+
if (erpEvent.status === "completed") {
|
|
19
|
+
throw new Error(`ERP event already completed: ${input.erpEventId}`);
|
|
20
|
+
}
|
|
21
|
+
const totalItems = erpEvent.data.length;
|
|
22
|
+
const totalBatches = Math.ceil(totalItems / input.batchSize);
|
|
23
|
+
logger.info(`[START] ${erpEvent.datafor} batch processing: ${totalItems} items, ${totalBatches} batches`);
|
|
24
|
+
await (0, update_erp_event_1.updateErpEventWorkflow)(container).run({
|
|
25
|
+
input: {
|
|
26
|
+
id: input.erpEventId,
|
|
27
|
+
workflow_transaction_id: context.transactionId,
|
|
28
|
+
total_batches: totalBatches,
|
|
29
|
+
current_batch: 0,
|
|
30
|
+
started_at: new Date(),
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
return new workflows_sdk_1.StepResponse({
|
|
34
|
+
totalItems,
|
|
35
|
+
totalBatches,
|
|
36
|
+
datafor: erpEvent.datafor,
|
|
37
|
+
operation: erpEvent.operation,
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS1iYXRjaC1wcm9jZXNzaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9lcnAtYmF0Y2gtcHJvY2Vzc2luZy9zdGVwcy9pbml0aWFsaXplLWJhdGNoLXByb2Nlc3NpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLHFEQUFzRTtBQUV0RSxpRkFBb0Y7QUFjdkUsUUFBQSw2QkFBNkIsR0FBRyxJQUFBLDBCQUFVLEVBQ3JELGtDQUFrQyxFQUNsQyxLQUFLLEVBQ0gsS0FBcUMsRUFDckMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQ2tDLEVBQUU7SUFDMUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5FLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FDakIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztRQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRTtLQUNsQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN4QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFN0QsTUFBTSxDQUFDLElBQUksQ0FDVCxXQUFXLFFBQVEsQ0FBQyxPQUFPLHNCQUFzQixVQUFVLFdBQVcsWUFBWSxVQUFVLENBQzdGLENBQUM7SUFFRixNQUFNLElBQUEseUNBQXNCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzFDLEtBQUssRUFBRTtZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUNwQix1QkFBdUIsRUFBRSxPQUFPLENBQUMsYUFBYTtZQUM5QyxhQUFhLEVBQUUsWUFBWTtZQUMzQixhQUFhLEVBQUUsQ0FBQztZQUNoQixVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUU7U0FDdkI7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixVQUFVO1FBQ1YsWUFBWTtRQUNaLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztRQUN6QixTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7S0FDOUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.startBatchProcessingStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.startBatchProcessingStep = (0, workflows_sdk_1.createStep)({
|
|
7
|
+
name: "start-batch-processing-step",
|
|
8
|
+
async: true,
|
|
9
|
+
}, async (input, { container }) => {
|
|
10
|
+
const eventBus = container.resolve(utils_1.Modules.EVENT_BUS);
|
|
11
|
+
await eventBus.emit({
|
|
12
|
+
name: "erp.batch.process",
|
|
13
|
+
data: {
|
|
14
|
+
erpEventId: input.erpEventId,
|
|
15
|
+
batchIndex: 0,
|
|
16
|
+
totalBatches: input.totalBatches,
|
|
17
|
+
batchSize: input.batchSize,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
// NO RETURN — workflow becomes long-running and waits for setStepSuccess
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtYmF0Y2gtcHJvY2Vzc2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXJwLWJhdGNoLXByb2Nlc3Npbmcvc3RlcHMvc3RhcnQtYmF0Y2gtcHJvY2Vzc2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBK0Q7QUFDL0QscURBQW9EO0FBUXZDLFFBQUEsd0JBQXdCLEdBQUcsSUFBQSwwQkFBVSxFQUNoRDtJQUNFLElBQUksRUFBRSw2QkFBNkI7SUFDbkMsS0FBSyxFQUFFLElBQUk7Q0FDWixFQUNELEtBQUssRUFBRSxLQUFnQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV0RCxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbEIsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixJQUFJLEVBQUU7WUFDSixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsVUFBVSxFQUFFLENBQUM7WUFDYixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1NBQzNCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgseUVBQXlFO0FBQzNFLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.erpBatchProcessingWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const steps_1 = require("../steps");
|
|
6
|
+
exports.erpBatchProcessingWorkflow = (0, workflows_sdk_1.createWorkflow)({
|
|
7
|
+
name: "erp-batch-processing",
|
|
8
|
+
store: true,
|
|
9
|
+
retentionTime: 60 * 60 * 6, // 6 hours
|
|
10
|
+
}, function (input) {
|
|
11
|
+
const initResult = (0, steps_1.initializeBatchProcessingStep)({
|
|
12
|
+
erpEventId: input.erpEventId,
|
|
13
|
+
batchSize: input.batchSize,
|
|
14
|
+
});
|
|
15
|
+
(0, steps_1.startBatchProcessingStep)({
|
|
16
|
+
erpEventId: input.erpEventId,
|
|
17
|
+
totalBatches: initResult.totalBatches,
|
|
18
|
+
batchSize: input.batchSize,
|
|
19
|
+
});
|
|
20
|
+
const finalResult = (0, steps_1.finalizeBatchProcessingStep)({
|
|
21
|
+
erpEventId: input.erpEventId,
|
|
22
|
+
});
|
|
23
|
+
return new workflows_sdk_1.WorkflowResponse(finalResult);
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWJhdGNoLXByb2Nlc3NpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2VycC1iYXRjaC1wcm9jZXNzaW5nL3dvcmtmbG93cy9lcnAtYmF0Y2gtcHJvY2Vzc2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFHMkM7QUFFM0Msb0NBSWtCO0FBT0wsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLDhCQUFjLEVBQ3REO0lBQ0UsSUFBSSxFQUFFLHNCQUFzQjtJQUM1QixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxVQUFVO0NBQ3ZDLEVBQ0QsVUFBVSxLQUE4QjtJQUN0QyxNQUFNLFVBQVUsR0FBRyxJQUFBLHFDQUE2QixFQUFDO1FBQy9DLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM1QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7S0FDM0IsQ0FBQyxDQUFDO0lBRUgsSUFBQSxnQ0FBd0IsRUFBQztRQUN2QixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7UUFDNUIsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO1FBQ3JDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztLQUMzQixDQUFDLENBQUM7SUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFBLG1DQUEyQixFQUFDO1FBQzlDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtLQUM3QixDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksZ0NBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./erp-batch-processing"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2VycC1iYXRjaC1wcm9jZXNzaW5nL3dvcmtmbG93cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQXVDIn0=
|
|
@@ -6,17 +6,34 @@ const erp_event_1 = require("../../../modules/erp-event");
|
|
|
6
6
|
exports.updateErpEventStep = (0, workflows_sdk_1.createStep)("update-erp-event-step", async (input, { container }) => {
|
|
7
7
|
const erpEventModuleService = container.resolve(erp_event_1.ERP_EVENT_MODULE);
|
|
8
8
|
const prevData = await erpEventModuleService.retrieveErpEvent(input.id);
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
status
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
const updateData = { id: input.id };
|
|
10
|
+
if (input.status !== undefined)
|
|
11
|
+
updateData.status = input.status;
|
|
12
|
+
if (input.started_at !== undefined)
|
|
13
|
+
updateData.started_at = input.started_at;
|
|
14
|
+
if (input.sync_completed_at !== undefined)
|
|
15
|
+
updateData.sync_completed_at = input.sync_completed_at;
|
|
16
|
+
if (input.current_batch !== undefined)
|
|
17
|
+
updateData.current_batch = input.current_batch;
|
|
18
|
+
if (input.total_batches !== undefined)
|
|
19
|
+
updateData.total_batches = input.total_batches;
|
|
20
|
+
if (input.workflow_transaction_id !== undefined)
|
|
21
|
+
updateData.workflow_transaction_id = input.workflow_transaction_id;
|
|
22
|
+
if (input.error_details !== undefined)
|
|
23
|
+
updateData.error_details = input.error_details;
|
|
24
|
+
const erpEvent = await erpEventModuleService.updateErpEvents(updateData);
|
|
14
25
|
return new workflows_sdk_1.StepResponse(erpEvent, prevData);
|
|
15
26
|
}, async (prevData, { container }) => {
|
|
16
27
|
const erpEventModuleService = container.resolve(erp_event_1.ERP_EVENT_MODULE);
|
|
17
28
|
await erpEventModuleService.updateErpEvents({
|
|
18
|
-
...prevData,
|
|
19
29
|
id: prevData.id,
|
|
30
|
+
status: prevData.status,
|
|
31
|
+
started_at: prevData.started_at,
|
|
32
|
+
sync_completed_at: prevData.sync_completed_at,
|
|
33
|
+
current_batch: prevData.current_batch,
|
|
34
|
+
total_batches: prevData.total_batches,
|
|
35
|
+
workflow_transaction_id: prevData.workflow_transaction_id,
|
|
36
|
+
error_details: prevData.error_details,
|
|
20
37
|
});
|
|
21
38
|
});
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWVycC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXJwLWV2ZW50L3N0ZXBzL3VwZGF0ZS1lcnAtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBRTdFLDBEQUE4RDtBQWNqRCxRQUFBLGtCQUFrQixHQUFHLElBQUEsMEJBQVUsRUFDMUMsdUJBQXVCLEVBQ3ZCLEtBQUssRUFBRSxLQUFvQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM1QyxNQUFNLHFCQUFxQixHQUN6QixTQUFTLENBQUMsT0FBTyxDQUFDLDRCQUFnQixDQUFDLENBQUM7SUFFdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFeEUsTUFBTSxVQUFVLEdBQXdCLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN6RCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUztRQUFFLFVBQVUsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNqRSxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssU0FBUztRQUFFLFVBQVUsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUM3RSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxTQUFTO1FBQ3ZDLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDekQsSUFBSSxLQUFLLENBQUMsYUFBYSxLQUFLLFNBQVM7UUFDbkMsVUFBVSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQ2pELElBQUksS0FBSyxDQUFDLGFBQWEsS0FBSyxTQUFTO1FBQ25DLFVBQVUsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUNqRCxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsS0FBSyxTQUFTO1FBQzdDLFVBQVUsQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsdUJBQXVCLENBQUM7SUFDckUsSUFBSSxLQUFLLENBQUMsYUFBYSxLQUFLLFNBQVM7UUFDbkMsVUFBVSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBRWpELE1BQU0sUUFBUSxHQUFHLE1BQU0scUJBQXFCLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXpFLE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUM5QyxDQUFDLEVBQ0QsS0FBSyxFQUFFLFFBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDckMsTUFBTSxxQkFBcUIsR0FDekIsU0FBUyxDQUFDLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0scUJBQXFCLENBQUMsZUFBZSxDQUFDO1FBQzFDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtRQUNmLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtRQUN2QixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7UUFDL0IsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtRQUM3QyxhQUFhLEVBQUUsUUFBUSxDQUFDLGFBQWE7UUFDckMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhO1FBQ3JDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyx1QkFBdUI7UUFDekQsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhO0tBQ3RDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -7,4 +7,4 @@ exports.updateErpEventWorkflow = (0, workflows_sdk_1.createWorkflow)("update-erp
|
|
|
7
7
|
const erpEvent = (0, steps_1.updateErpEventStep)(input);
|
|
8
8
|
return new workflows_sdk_1.WorkflowResponse(erpEvent);
|
|
9
9
|
});
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWVycC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZXJwLWV2ZW50L3dvcmtmbG93cy91cGRhdGUtZXJwLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUcyQztBQUUzQyxvQ0FBOEM7QUFhakMsUUFBQSxzQkFBc0IsR0FBRyxJQUFBLDhCQUFjLEVBQ2xELDJCQUEyQixFQUMzQixDQUFDLEtBQW9CLEVBQUUsRUFBRTtJQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFBLDBCQUFrQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQ0YsQ0FBQyJ9
|