@devx-commerce/plugin-gati 0.0.34-beta.12 → 0.0.34-beta.16
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/development/erp-order-payload-example.js +76 -0
- package/.medusa/server/src/api/admin/variant-options/sync/route.js +9 -5
- package/.medusa/server/src/api/erp/webhook/route.js +10 -137
- package/.medusa/server/src/api/pos/gold-rate/route.js +9 -15
- package/.medusa/server/src/jobs/process-erp-events.js +205 -0
- package/.medusa/server/src/jobs/process-variant-option-sync.js +17 -9
- package/.medusa/server/src/jobs/sync-order-erp.js +2 -2
- package/.medusa/server/src/modules/erp/service.js +4 -118
- package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +2 -2
- package/.medusa/server/src/workflows/helpers/product-helper.js +33 -17
- package/.medusa/server/src/workflows/orders/steps/index.js +1 -3
- package/.medusa/server/src/workflows/orders/steps/sync-order-to-erp.js +9 -245
- package/.medusa/server/src/workflows/orders/utils/order-helper.js +28 -112
- package/.medusa/server/src/workflows/orders/workflows/index.js +1 -2
- package/.medusa/server/src/workflows/orders/workflows/sync-order-to-erp.js +4 -28
- package/.medusa/server/src/workflows/party-master/steps/create-customer-erp.js +2 -2
- package/.medusa/server/src/workflows/party-style-master/steps/update-product-options-after-variant-update.js +17 -9
- package/package.json +1 -1
- package/.medusa/server/src/jobs/sync-labour-chart-master.js +0 -20
- package/.medusa/server/src/jobs/sync-payment-book-master.js +0 -63
- package/.medusa/server/src/jobs/sync-rate-chart-master.js +0 -20
- package/.medusa/server/src/links/jewel-trans-master.js +0 -13
- package/.medusa/server/src/links/order-master.js +0 -13
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20251210112341.js +0 -18
- package/.medusa/server/src/modules/jewel-trans-master/index.js +0 -13
- package/.medusa/server/src/modules/jewel-trans-master/migrations/Migration20260101104355.js +0 -51
- package/.medusa/server/src/modules/jewel-trans-master/models/jewel-trans-master.js +0 -151
- package/.medusa/server/src/modules/jewel-trans-master/service.js +0 -16
- package/.medusa/server/src/modules/labour-chart-master/index.js +0 -13
- package/.medusa/server/src/modules/labour-chart-master/migrations/Migration20260101081502.js +0 -15
- package/.medusa/server/src/modules/labour-chart-master/models/labour-chart-master.js +0 -16
- package/.medusa/server/src/modules/labour-chart-master/service.js +0 -10
- package/.medusa/server/src/modules/order-master/index.js +0 -13
- package/.medusa/server/src/modules/order-master/migrations/Migration20251204071941.js +0 -27
- package/.medusa/server/src/modules/order-master/models/order-master.js +0 -97
- package/.medusa/server/src/modules/order-master/service.js +0 -12
- package/.medusa/server/src/modules/payment-book-master/index.js +0 -13
- package/.medusa/server/src/modules/payment-book-master/migrations/Migration20251203105358.js +0 -15
- package/.medusa/server/src/modules/payment-book-master/models/payment-book-master.js +0 -12
- package/.medusa/server/src/modules/payment-book-master/service.js +0 -10
- package/.medusa/server/src/modules/rate-chart-master/index.js +0 -13
- package/.medusa/server/src/modules/rate-chart-master/migrations/Migration20260101081500.js +0 -15
- package/.medusa/server/src/modules/rate-chart-master/models/rate-chart-master.js +0 -13
- package/.medusa/server/src/modules/rate-chart-master/service.js +0 -10
- package/.medusa/server/src/subscribers/order-item-update.js +0 -11
- package/.medusa/server/src/workflows/jewel-trans-master/index.js +0 -18
- package/.medusa/server/src/workflows/jewel-trans-master/steps/create-or-update-jewel-trans-master.js +0 -370
- package/.medusa/server/src/workflows/jewel-trans-master/steps/index.js +0 -18
- package/.medusa/server/src/workflows/labour-chart-master/index.js +0 -11
- package/.medusa/server/src/workflows/labour-chart-master/steps/create-or-update-labour-chart-master.js +0 -38
- package/.medusa/server/src/workflows/labour-chart-master/steps/fetch-labour-chart.js +0 -31
- package/.medusa/server/src/workflows/order-master/index.js +0 -3
- package/.medusa/server/src/workflows/order-master/steps/create-or-update-order-master.js +0 -239
- package/.medusa/server/src/workflows/orders/steps/get-today-gold-rate-step.js +0 -77
- package/.medusa/server/src/workflows/orders/steps/sync-advance-payment-to-erp-step.js +0 -171
- package/.medusa/server/src/workflows/orders/workflows/get-today-gold-rate.js +0 -10
- package/.medusa/server/src/workflows/orders/workflows/sync-advanve-payment-to-erp.js +0 -21
- package/.medusa/server/src/workflows/payment-book-master/index.js +0 -11
- package/.medusa/server/src/workflows/payment-book-master/steps/create-or-update-payment-book-master.js +0 -31
- package/.medusa/server/src/workflows/payment-book-master/steps/fetch-payment-book.js +0 -64
- package/.medusa/server/src/workflows/rate-chart-master/index.js +0 -11
- package/.medusa/server/src/workflows/rate-chart-master/steps/create-or-update-rate-chart-master.js +0 -27
- package/.medusa/server/src/workflows/rate-chart-master/steps/fetch-rate-chart.js +0 -31
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const orderPayload = {
|
|
4
|
+
OrderId: 0,
|
|
5
|
+
BranchNo: "0004000711",
|
|
6
|
+
BranchName: "Timeless Jewels",
|
|
7
|
+
OrderPrefix: "",
|
|
8
|
+
OrderNo: "",
|
|
9
|
+
OrderDate: "2025-06-21T00:00:00",
|
|
10
|
+
CustomerId: "0001000056",
|
|
11
|
+
Customer: "",
|
|
12
|
+
PoNo: "ID1111",
|
|
13
|
+
PoDate: "2025-06-21T00:00:00",
|
|
14
|
+
SalesPerson: "",
|
|
15
|
+
WorkOrderNo: "",
|
|
16
|
+
Remarks: "",
|
|
17
|
+
PromocodeSeriesId: 0,
|
|
18
|
+
Promocode: "",
|
|
19
|
+
PromocodePercentage: 0,
|
|
20
|
+
PromocodeAmount: 0,
|
|
21
|
+
OrderDetail: [
|
|
22
|
+
{
|
|
23
|
+
OrderId: 0,
|
|
24
|
+
OrderItemId: 0,
|
|
25
|
+
SrNo: 1,
|
|
26
|
+
StyleId: 33067,
|
|
27
|
+
StyleCode: "DR00962",
|
|
28
|
+
PartyStyleId: 5445,
|
|
29
|
+
PartyStyleCode: "DR00260",
|
|
30
|
+
JewelId: 0,
|
|
31
|
+
JewelCode: "",
|
|
32
|
+
ItemSize: "5",
|
|
33
|
+
OrderQty: 1.0,
|
|
34
|
+
OrderItemPcs: 1,
|
|
35
|
+
Metal: "",
|
|
36
|
+
Tone: "",
|
|
37
|
+
ItemPoNo: "",
|
|
38
|
+
ItemRefNo: "",
|
|
39
|
+
Priority: "N",
|
|
40
|
+
StockType: "LG DIAMOND",
|
|
41
|
+
MakeType: "A",
|
|
42
|
+
CustomerProductionInstruction: "",
|
|
43
|
+
SpecialRemarks: "",
|
|
44
|
+
DesignProductionInstruction: "",
|
|
45
|
+
StampInstruction: "",
|
|
46
|
+
Expecteddeliverydate: "2025-06-25T00:00:00",
|
|
47
|
+
MRP: 36063.0,
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
PaymentOption: [
|
|
51
|
+
{
|
|
52
|
+
OrderId: 0,
|
|
53
|
+
BookName: "UPI TimeLess - P",
|
|
54
|
+
Amount: 37144.89,
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
};
|
|
58
|
+
console.log(JSON.stringify(orderPayload, null, 2));
|
|
59
|
+
// You can use this payload with the ErpService.createOrder method.
|
|
60
|
+
// Example:
|
|
61
|
+
// import ErpService from './src/modules/erp/service';
|
|
62
|
+
// const erpService = new ErpService(
|
|
63
|
+
// {},
|
|
64
|
+
// {
|
|
65
|
+
// authToken: "D7F0A5C3-E229-4BBF-AA62-5D8B858EB887",
|
|
66
|
+
// baseUrl: "http://103.98.6.30:90/api/Svaraa",
|
|
67
|
+
// }
|
|
68
|
+
// );
|
|
69
|
+
// erpService.createOrder(orderPayload)
|
|
70
|
+
// .then(result => {
|
|
71
|
+
// console.log('Order created successfully:', result);
|
|
72
|
+
// })
|
|
73
|
+
// .catch(error => {
|
|
74
|
+
// console.error('Error creating order:', error);
|
|
75
|
+
// });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLW9yZGVyLXBheWxvYWQtZXhhbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2RldmVsb3BtZW50L2VycC1vcmRlci1wYXlsb2FkLWV4YW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxNQUFNLFlBQVksR0FBaUI7SUFDakMsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsWUFBWTtJQUN0QixVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLFdBQVcsRUFBRSxFQUFFO0lBQ2YsT0FBTyxFQUFFLEVBQUU7SUFDWCxTQUFTLEVBQUUscUJBQXFCO0lBQ2hDLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFFBQVEsRUFBRSxFQUFFO0lBQ1osSUFBSSxFQUFFLFFBQVE7SUFDZCxNQUFNLEVBQUUscUJBQXFCO0lBQzdCLFdBQVcsRUFBRSxFQUFFO0lBQ2YsV0FBVyxFQUFFLEVBQUU7SUFDZixPQUFPLEVBQUUsRUFBRTtJQUNYLGlCQUFpQixFQUFFLENBQUM7SUFDcEIsU0FBUyxFQUFFLEVBQUU7SUFDYixtQkFBbUIsRUFBRSxDQUFDO0lBQ3RCLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLFdBQVcsRUFBRTtRQUNYO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixXQUFXLEVBQUUsQ0FBQztZQUNkLElBQUksRUFBRSxDQUFDO1lBQ1AsT0FBTyxFQUFFLEtBQUs7WUFDZCxTQUFTLEVBQUUsU0FBUztZQUNwQixZQUFZLEVBQUUsSUFBSTtZQUNsQixjQUFjLEVBQUUsU0FBUztZQUN6QixPQUFPLEVBQUUsQ0FBQztZQUNWLFNBQVMsRUFBRSxFQUFFO1lBQ2IsUUFBUSxFQUFFLEdBQUc7WUFDYixRQUFRLEVBQUUsR0FBRztZQUNiLFlBQVksRUFBRSxDQUFDO1lBQ2YsS0FBSyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsRUFBRTtZQUNSLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsR0FBRztZQUNiLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsNkJBQTZCLEVBQUUsRUFBRTtZQUNqQyxjQUFjLEVBQUUsRUFBRTtZQUNsQiwyQkFBMkIsRUFBRSxFQUFFO1lBQy9CLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsb0JBQW9CLEVBQUUscUJBQXFCO1lBQzNDLEdBQUcsRUFBRSxPQUFPO1NBQ2I7S0FDRjtJQUNELGFBQWEsRUFBRTtRQUNiO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLE1BQU0sRUFBRSxRQUFRO1NBQ2pCO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVuRCxtRUFBbUU7QUFDbkUsV0FBVztBQUVYLHNEQUFzRDtBQUV0RCxxQ0FBcUM7QUFDckMsUUFBUTtBQUNSLE1BQU07QUFDTix5REFBeUQ7QUFDekQsbURBQW1EO0FBQ25ELE1BQU07QUFDTixLQUFLO0FBRUwsdUNBQXVDO0FBQ3ZDLHNCQUFzQjtBQUN0QiwwREFBMEQ7QUFDMUQsT0FBTztBQUNQLHNCQUFzQjtBQUN0QixxREFBcUQ7QUFDckQsUUFBUSJ9
|
|
@@ -152,6 +152,12 @@ const POST = async (req, res) => {
|
|
|
152
152
|
let hasMetalOption = false;
|
|
153
153
|
let hasDiamondOption = false;
|
|
154
154
|
if (extendedVariant.party_style_details) {
|
|
155
|
+
// First, find diamond details for processing
|
|
156
|
+
const diamondDetails = extendedVariant.party_style_details.filter((detail) => detail.raw_type === "Diamond" &&
|
|
157
|
+
detail.tone_code &&
|
|
158
|
+
detail.qly_code);
|
|
159
|
+
const baseDiamondDetail = diamondDetails.find((detail) => detail.is_base);
|
|
160
|
+
const diamondDetailToUse = baseDiamondDetail || diamondDetails[0];
|
|
155
161
|
for (const detail of extendedVariant.party_style_details) {
|
|
156
162
|
// Metal options
|
|
157
163
|
if (detail.raw_type === "Metal" && detail.is_base) {
|
|
@@ -206,10 +212,8 @@ const POST = async (req, res) => {
|
|
|
206
212
|
}
|
|
207
213
|
}
|
|
208
214
|
// Diamond Quality
|
|
209
|
-
if (
|
|
210
|
-
detail
|
|
211
|
-
detail.qly_code &&
|
|
212
|
-
detail.is_base) {
|
|
215
|
+
if (diamondDetailToUse &&
|
|
216
|
+
detail === diamondDetailToUse) {
|
|
213
217
|
hasDiamondOption = true;
|
|
214
218
|
const toneTitle = (masterMaps.toneMasterMap.get(detail.tone_code) ||
|
|
215
219
|
detail.tone_code).trim();
|
|
@@ -310,4 +314,4 @@ const POST = async (req, res) => {
|
|
|
310
314
|
}
|
|
311
315
|
};
|
|
312
316
|
exports.POST = POST;
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3ZhcmlhbnQtb3B0aW9ucy9zeW5jL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFzRTtBQUN0RSw0REFHcUM7QUFFckMsK0RBTXNDO0FBRS9CLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5FLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUdqRixDQUFDO0lBRUYsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxrQ0FBbUIsRUFDakIseUNBQXlDLEVBQ3pDLHlCQUFVLENBQUMsV0FBVyxFQUN0Qix3QkFBUyxDQUFDLGdCQUFnQixDQUMzQixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsa0NBQWtDO1FBQ2xDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQy9DLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUVILE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdC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
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3ZhcmlhbnQtb3B0aW9ucy9zeW5jL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFzRTtBQUN0RSw0REFHcUM7QUFFckMsK0RBTXNDO0FBRS9CLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5FLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUdqRixDQUFDO0lBRUYsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxrQ0FBbUIsRUFDakIseUNBQXlDLEVBQ3pDLHlCQUFVLENBQUMsV0FBVyxFQUN0Qix3QkFBUyxDQUFDLGdCQUFnQixDQUMzQixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsa0NBQWtDO1FBQ2xDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQy9DLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUVILE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDbkQsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQztTQUNwQyxDQUFDLENBQUM7UUFFSCxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNoRCxNQUFNLEVBQUUsYUFBYTtZQUNyQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQztTQUNyQyxDQUFDLENBQUM7UUFFSCxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3BELE1BQU0sRUFBRSxrQkFBa0I7WUFDMUIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztTQUMxQyxDQUFDLENBQUM7UUFFSCxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUMvQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFekUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUNuRCxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQ2hELGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU1RSxNQUFNLGlCQUFpQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQ3BELGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFekYsTUFBTSxVQUFVLEdBQUc7WUFDakIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsaUJBQWlCO1NBQ2xCLENBQUM7UUFFRix5Q0FBeUM7UUFDekMsSUFBSSxVQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksY0FBYyxHQUEwRSxFQUFFLENBQUM7UUFFL0YsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDN0MsTUFBTSxFQUFFLGlCQUFpQjtnQkFDekIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQztnQkFDNUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRTthQUNoQyxDQUFDLENBQUM7WUFDSCxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUFDLG1CQUFtQixFQUFFLHlCQUFVLENBQUMsU0FBUyxFQUFFLHdCQUFTLENBQUMsU0FBUyxDQUFDLENBQ3BGLENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQ3hDLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzFCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO2FBQ3BDLENBQUMsQ0FBQztZQUNILE1BQU0sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDUixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQ2pCLHdDQUF3QyxFQUN4Qyx5QkFBVSxDQUFDLFNBQVMsRUFDcEIsd0JBQVMsQ0FBQyxTQUFTLENBQ3BCLENBQ0YsQ0FBQztZQUNKLENBQUM7WUFDRCxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbEMsY0FBYyxHQUFHO2dCQUNmLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTthQUNuRixDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksY0FBYyxFQUFFLENBQUM7WUFDMUIsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQzdDLE1BQU0sRUFBRSxpQkFBaUI7Z0JBQ3pCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUU7YUFDeEMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQUMseUJBQXlCLEVBQUUseUJBQVUsQ0FBQyxTQUFTLEVBQUUsd0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FDMUYsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQ3hDLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzFCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7YUFDcEMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7WUFDOUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFO2dCQUN6QixJQUFJLEVBQUUsQ0FBQyxVQUFVO29CQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDLENBQUM7WUFDSCxVQUFVLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM5QixjQUFjLEdBQUcsVUFBVTtpQkFDeEIsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDekMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2YsU0FBUyxFQUFFLENBQUMsQ0FBQyxVQUFVO2dCQUN2QixpQkFBaUIsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUU7YUFDMUMsQ0FBQyxDQUFDLENBQUM7WUFDTixJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxrQ0FBbUIsRUFDakIsaURBQWlELEVBQ2pELHlCQUFVLENBQUMsU0FBUyxFQUNwQix3QkFBUyxDQUFDLFNBQVMsQ0FDcEIsQ0FDRixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCw2QkFBNkI7UUFDN0IsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUM7WUFDMUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtTQUM1QixDQUFDLENBQUM7UUFFSCx3RkFBd0Y7UUFDeEYsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNuRCxNQUFNLEVBQUUsa0JBQWtCO1lBQzFCLE1BQU0sRUFBRTtnQkFDTixJQUFJO2dCQUNKLFlBQVk7Z0JBQ1osZ0JBQWdCO2dCQUNoQixVQUFVO2dCQUNWLFdBQVc7Z0JBQ1gsdUJBQXVCO2FBQ3hCO1lBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtTQUN2QixDQUFDLENBQUM7UUFFSCxNQUFNLHdCQUF3QixHQUFHLElBQUksR0FBRyxFQUFvQyxDQUFDO1FBQzdFLE1BQU0sZ0JBQWdCLEdBQW1FLEVBQUUsQ0FBQztRQUU1RixLQUFLLE1BQU0sRUFBRSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM1RixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsZUFBZTtnQkFBRSxTQUFTO1lBRTNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksR0FBRyxFQUF1QixDQUFDLENBQUM7WUFDN0UsQ0FBQztZQUNELE1BQU0sZ0JBQWdCLEdBQUcsd0JBQXdCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUUsQ0FBQztZQUVyRSxNQUFNLGNBQWMsR0FBMkIsRUFBRSxDQUFDO1lBRWxELE9BQU87WUFDUCxJQUFJLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxTQUFTLEdBQUcsQ0FDaEIsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO29CQUMzRCxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUNsQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNULE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUN0QyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQ25DLENBQUM7Z0JBQ0YsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDZixjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUNuQyw4Q0FBOEM7b0JBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzt3QkFDbEMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQzFDLENBQUM7b0JBQ0QsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztZQUNILENBQUM7WUFFRCw4RUFBOEU7WUFDOUUsSUFBSSxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBRTdCLElBQUksZUFBZSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3hDLDZDQUE2QztnQkFDN0MsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FDL0QsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULE1BQU0sQ0FBQyxRQUFRLEtBQUssU0FBUztvQkFDN0IsTUFBTSxDQUFDLFNBQVM7b0JBQ2hCLE1BQU0sQ0FBQyxRQUFRLENBQ2xCLENBQUM7Z0JBQ0YsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUMzQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDM0IsQ0FBQztnQkFDRixNQUFNLGtCQUFrQixHQUFHLGlCQUFpQixJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFbEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxlQUFlLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztvQkFDekQsZ0JBQWdCO29CQUNoQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDbEQsY0FBYyxHQUFHLElBQUksQ0FBQzt3QkFDdEIsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDOzRCQUNoRCxNQUFNLENBQUMsUUFBUSxDQUNoQixDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNULE1BQU0sUUFBUSxHQUFHLENBQ2YsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQzs0QkFDNUMsTUFBTSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDVCxNQUFNLFVBQVUsR0FBRyxHQUFHLFlBQVksSUFBSSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFFeEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQ3ZDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FDcEMsQ0FBQzt3QkFDRixJQUFJLFdBQVcsRUFBRSxDQUFDOzRCQUNoQixjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDOzRCQUNyQyw4Q0FBOEM7NEJBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQ0FDbkMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQzNDLENBQUM7NEJBQ0QsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQzt3QkFDakQsQ0FBQzt3QkFFRCxjQUFjO3dCQUNkLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDOzRCQUNyQixJQUFJLFVBQVUsR0FDWixVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO2dDQUM5QyxNQUFNLENBQUMsU0FBUyxDQUFDOzRCQUVuQiwrQ0FBK0M7NEJBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQ0FDcEQsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLEdBQUc7b0NBQUUsVUFBVSxHQUFHLE1BQU0sQ0FBQztxQ0FDN0MsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLEdBQUc7b0NBQUUsVUFBVSxHQUFHLFFBQVEsQ0FBQztxQ0FDcEQsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLEdBQUc7b0NBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQztxQ0FDbkQsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLEtBQUs7b0NBQ2pDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQztxQ0FDOUIsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLElBQUk7b0NBQ2hDLFVBQVUsR0FBRyxjQUFjLENBQUM7cUNBQ3pCLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxJQUFJO29DQUNoQyxVQUFVLEdBQUcsWUFBWSxDQUFDO3FDQUN2QixJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssSUFBSTtvQ0FBRSxVQUFVLEdBQUcsTUFBTSxDQUFDO3FDQUNuRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssSUFBSTtvQ0FBRSxVQUFVLEdBQUcsT0FBTyxDQUFDOzRCQUMzRCxDQUFDOzRCQUNELFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7NEJBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQzVDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FDMUMsQ0FBQzs0QkFDRixJQUFJLGdCQUFnQixFQUFFLENBQUM7Z0NBQ3JCLGNBQWMsQ0FBQyxhQUFhLENBQUMsR0FBRyxVQUFVLENBQUM7Z0NBQzNDLDhDQUE4QztnQ0FDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO29DQUN6QyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztnQ0FDakQsQ0FBQztnQ0FDRCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDOzRCQUN2RCxDQUFDO3dCQUNILENBQUM7b0JBQ0gsQ0FBQztvQkFFRCxrQkFBa0I7b0JBQ2xCLElBQ0Usa0JBQWtCO3dCQUNsQixNQUFNLEtBQUssa0JBQWtCLEVBQzdCLENBQUM7d0JBQ0QsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO3dCQUN4QixNQUFNLFNBQVMsR0FBRyxDQUNoQixVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDOzRCQUM5QyxNQUFNLENBQUMsU0FBUyxDQUNqQixDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNULE1BQU0sWUFBWSxHQUFHLENBQ25CLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQzs0QkFDaEQsTUFBTSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDVCxNQUFNLFlBQVksR0FBRyxHQUFHLFNBQVMsSUFBSSxZQUFZLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFFM0QsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQ3pDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLGlCQUFpQixDQUM5QyxDQUFDO3dCQUNGLElBQUksYUFBYSxFQUFFLENBQUM7NEJBQ2xCLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFlBQVksQ0FBQzs0QkFDakQsOENBQThDOzRCQUM5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQ0FDN0MsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQzs0QkFDckQsQ0FBQzs0QkFDRCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQzdELENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUVELGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDcEIsT0FBTyxFQUFFO29CQUNQLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUztvQkFDaEIsT0FBTyxFQUFFLGNBQWM7aUJBQ3hCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELGlFQUFpRTtRQUNqRSxxRUFBcUU7UUFDckUsTUFBTSxnQkFBZ0IsR0FBZ0QsRUFBRSxDQUFDO1FBQ3pFLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7WUFDbkMsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQzlDLE1BQU0sRUFBRSxpQkFBaUI7Z0JBQ3pCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUM7Z0JBQzNCLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7YUFDbkMsQ0FBQyxDQUFDO1lBRUgsc0RBQXNEO1lBQ3RELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7WUFFekQsd0NBQXdDO1lBQ3hDLEtBQUssTUFBTSxPQUFPLElBQUksV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDcEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ2xDLElBQUksR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7NEJBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0NBQ3RDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQzs0QkFDOUMsQ0FBQzs0QkFDRCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7d0JBQzFELENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUVELHNEQUFzRDtZQUN0RCxNQUFNLG1CQUFtQixHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRSxJQUFJLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3hCLEtBQUssTUFBTSxDQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1YsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO29CQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7d0JBQ3hDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO29CQUNoRCxDQUFDO29CQUNELHFDQUFxQztvQkFDckMsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUUsQ0FBQzt3QkFDOUIsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUVELHlEQUF5RDtZQUN6RCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUMzRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDekIsS0FBSztnQkFDTCxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZELENBQUMsQ0FBQztpQkFDRixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQW1DO1lBRTlFLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDcEIsT0FBTyxFQUFFO29CQUNQLEVBQUUsRUFBRSxTQUFTO29CQUNiLE9BQU8sRUFBRSxjQUFxQjtpQkFDeEI7YUFDVCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsd0JBQXdCO1FBQ3hCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBQSxtQ0FBc0IsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUMxQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBYyxDQUFDLEVBQUU7YUFDbkUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELHlEQUF5RDtRQUN6RCxvRUFBb0U7UUFDcEUsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFBLDBDQUE2QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2FBQ3BFLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQ25CO1lBQ0UsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtZQUN6QyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNO1NBQzFDLEVBQ0Qsd0JBQXdCLENBQ3pCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUNqQixDQUFDLEVBQUUsT0FBTyxJQUFJLGdCQUFnQixFQUM5Qix5QkFBVSxDQUFDLHFCQUFxQixFQUNoQyx3QkFBUyxDQUFDLGNBQWMsQ0FDekIsQ0FDRixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQztBQTdaVyxRQUFBLElBQUksUUE2WmYifQ==
|
|
@@ -2,69 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.POST = POST;
|
|
4
4
|
const framework_1 = require("@medusajs/framework");
|
|
5
|
-
const bulk_jobs_task_trigger_1 = require("../../../workflows/bulk-jobs-task-trigger");
|
|
6
5
|
const workflows_1 = require("../../../workflows/erp-event/workflows");
|
|
7
|
-
const update_erp_event_1 = require("../../../workflows/erp-event/workflows/update-erp-event");
|
|
8
6
|
const config_1 = require("./config");
|
|
9
7
|
const utils_1 = require("./utils");
|
|
10
|
-
// ECS task configuration for different data types
|
|
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
|
-
Inward: {
|
|
23
|
-
taskType: "erp-webhook-batch-processing",
|
|
24
|
-
batchSize: 200,
|
|
25
|
-
enabled: true,
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
8
|
/**
|
|
29
|
-
*
|
|
30
|
-
|
|
31
|
-
async function triggerEcsTask(scope, datafor, operation, data, erpEventId) {
|
|
32
|
-
const taskConfig = ECS_TASK_CONFIG[datafor];
|
|
33
|
-
framework_1.logger.info(`🚀 Triggering ECS task for ${datafor} with ${data.length} items`);
|
|
34
|
-
try {
|
|
35
|
-
const { result } = await (0, bulk_jobs_task_trigger_1.bulkJobsTaskTriggerWorkflow)(scope).run({
|
|
36
|
-
input: {
|
|
37
|
-
taskType: taskConfig.taskType,
|
|
38
|
-
parameters: {
|
|
39
|
-
batchSize: taskConfig.batchSize,
|
|
40
|
-
erpEventId, // Pass the ERP event ID
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
framework_1.logger.info(`✅ ECS task triggered successfully for ${datafor}: ${JSON.stringify(result)}`);
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
framework_1.logger.error(`❌ Failed to trigger ECS task for ${datafor}:`, error);
|
|
48
|
-
throw error; // Throw error since this is the main processing path
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Processes the webhook request by executing the appropriate workflow
|
|
53
|
-
*/
|
|
54
|
-
async function processWebhookRequest(scope, datafor, operation, data, eventId) {
|
|
55
|
-
const workflowConfig = config_1.MASTER_WORKFLOW_CONFIG[datafor];
|
|
56
|
-
if (!workflowConfig) {
|
|
57
|
-
console.error(`Unsupported datafor type: ${datafor}`);
|
|
58
|
-
}
|
|
59
|
-
const workflowHandler = workflowConfig[operation];
|
|
60
|
-
if (!workflowHandler) {
|
|
61
|
-
throw new Error(`Unsupported operation: ${operation} for ${datafor}`);
|
|
62
|
-
}
|
|
63
|
-
const input = { datafor, operation, data, eventId };
|
|
64
|
-
await workflowHandler(scope, input);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Handles the webhook request
|
|
9
|
+
* Handles the webhook request by queuing it in the erp_event table
|
|
10
|
+
* Processing is handled by a cron job that processes events in order
|
|
68
11
|
*/
|
|
69
12
|
async function POST(req, res) {
|
|
70
13
|
try {
|
|
@@ -75,39 +18,9 @@ async function POST(req, res) {
|
|
|
75
18
|
}
|
|
76
19
|
const { datafor, operation, data } = req.body;
|
|
77
20
|
// Log the received data
|
|
78
|
-
framework_1.logger.info(`Received webhook: ${operation} for ${datafor} with ${data.length} items`);
|
|
79
|
-
// Check if there's already a pending event for the same datafor and operation
|
|
80
|
-
const query = req.scope.resolve("query");
|
|
81
|
-
const existingPendingEvents = await query.graph({
|
|
82
|
-
entity: "erp_event",
|
|
83
|
-
fields: ["id", "status", "created_at"],
|
|
84
|
-
filters: {
|
|
85
|
-
datafor,
|
|
86
|
-
operation,
|
|
87
|
-
status: "pending",
|
|
88
|
-
},
|
|
89
|
-
pagination: {
|
|
90
|
-
take: 1,
|
|
91
|
-
order: { created_at: "desc" },
|
|
92
|
-
},
|
|
93
|
-
});
|
|
94
|
-
if (existingPendingEvents.data.length > 0) {
|
|
95
|
-
const existingEvent = existingPendingEvents.data[0];
|
|
96
|
-
framework_1.logger.warn(`⚠️ Duplicate processing detected! Found existing pending event ${existingEvent.id} for ${datafor} ${operation}. Adding new request in queue.`);
|
|
97
|
-
// const erpEvent = await createErpEventWorkflow(req.scope).run({
|
|
98
|
-
// input: {
|
|
99
|
-
// datafor,
|
|
100
|
-
// operation,
|
|
101
|
-
// data,
|
|
102
|
-
// status: "pending",
|
|
103
|
-
// sync_completed_at: null,
|
|
104
|
-
// },
|
|
105
|
-
// });
|
|
106
|
-
(0, utils_1.sendErrorResponse)(res, 409, `Processing already in progress for ${datafor} ${operation}. Event ID: ${existingEvent.id}.`);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
21
|
+
framework_1.logger.info(`Received webhook: ${operation} for ${datafor} with ${data.length} items - queuing for processing`);
|
|
109
22
|
const workflowConfig = config_1.MASTER_WORKFLOW_CONFIG[datafor];
|
|
110
|
-
// If unsupported type, record event as completed
|
|
23
|
+
// If unsupported type, record event as completed immediately
|
|
111
24
|
if (!workflowConfig) {
|
|
112
25
|
const completedEvent = await (0, workflows_1.createErpEventWorkflow)(req.scope).run({
|
|
113
26
|
input: {
|
|
@@ -118,14 +31,14 @@ async function POST(req, res) {
|
|
|
118
31
|
sync_completed_at: new Date(),
|
|
119
32
|
},
|
|
120
33
|
});
|
|
121
|
-
(0, utils_1.sendSuccessResponse)(res, `Successfully
|
|
34
|
+
(0, utils_1.sendSuccessResponse)(res, `Successfully queued ${operation} for ${datafor}`, {
|
|
122
35
|
processingMode: "skipped",
|
|
123
36
|
itemCount: data.length,
|
|
124
37
|
erpEventId: completedEvent.result.id,
|
|
125
38
|
});
|
|
126
39
|
return;
|
|
127
40
|
}
|
|
128
|
-
//
|
|
41
|
+
// Create ERP event with pending status - will be processed by cron job
|
|
129
42
|
const erpEvent = await (0, workflows_1.createErpEventWorkflow)(req.scope).run({
|
|
130
43
|
input: {
|
|
131
44
|
datafor,
|
|
@@ -135,57 +48,17 @@ async function POST(req, res) {
|
|
|
135
48
|
sync_completed_at: null,
|
|
136
49
|
},
|
|
137
50
|
});
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
"StyleMst",
|
|
141
|
-
"PartyStyleMst",
|
|
142
|
-
"Inward",
|
|
143
|
-
].includes(datafor);
|
|
144
|
-
if (shouldUseEcsProcessing && data.length > 100) {
|
|
145
|
-
// Update ERP event status to in-progress
|
|
146
|
-
await (0, update_erp_event_1.updateErpEventWorkflow)(req.scope).run({
|
|
147
|
-
input: {
|
|
148
|
-
id: erpEvent.result.id,
|
|
149
|
-
status: "in-progress",
|
|
150
|
-
sync_completed_at: null,
|
|
151
|
-
},
|
|
152
|
-
});
|
|
153
|
-
// Trigger ECS task for StyleMst and PartyStyleMst
|
|
154
|
-
framework_1.logger.info(`📋 Using ECS processing for ${datafor}`);
|
|
155
|
-
await triggerEcsTask(req.scope, datafor, operation, data, erpEvent.result.id);
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
framework_1.logger.info(`⚡ Using regular workflow processing for ${datafor}`);
|
|
159
|
-
// Update ERP event status to in-progress
|
|
160
|
-
await (0, update_erp_event_1.updateErpEventWorkflow)(req.scope).run({
|
|
161
|
-
input: {
|
|
162
|
-
id: erpEvent.result.id,
|
|
163
|
-
status: "in-progress",
|
|
164
|
-
sync_completed_at: null,
|
|
165
|
-
},
|
|
166
|
-
});
|
|
167
|
-
// Use regular workflow processing for other data types
|
|
168
|
-
await processWebhookRequest(req.scope, datafor, operation, data, erpEvent.result.id);
|
|
169
|
-
// Update ERP event status to completed
|
|
170
|
-
await (0, update_erp_event_1.updateErpEventWorkflow)(req.scope).run({
|
|
171
|
-
input: {
|
|
172
|
-
id: erpEvent.result.id,
|
|
173
|
-
status: "completed",
|
|
174
|
-
sync_completed_at: new Date(),
|
|
175
|
-
},
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
(0, utils_1.sendSuccessResponse)(res, `Successfully processed ${operation} for ${datafor}`, {
|
|
179
|
-
processingMode: shouldUseEcsProcessing && data.length > 100 ? "ecs" : "workflow",
|
|
51
|
+
(0, utils_1.sendSuccessResponse)(res, `Successfully queued ${operation} for ${datafor}`, {
|
|
52
|
+
processingMode: "queued",
|
|
180
53
|
itemCount: data.length,
|
|
181
54
|
erpEventId: erpEvent.result.id,
|
|
182
55
|
});
|
|
183
56
|
}
|
|
184
57
|
catch (error) {
|
|
185
|
-
framework_1.logger.error("Error
|
|
58
|
+
framework_1.logger.error("Error queuing webhook:", error);
|
|
186
59
|
// Provide more specific error messages
|
|
187
60
|
const errorMessage = error instanceof Error ? error.message : "Internal server error";
|
|
188
61
|
(0, utils_1.sendErrorResponse)(res, 500, errorMessage);
|
|
189
62
|
}
|
|
190
63
|
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VycC93ZWJob29rL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0JBLG9CQTZFQztBQTdGRCxtREFBNkM7QUFHN0Msc0VBQWdGO0FBRWhGLHFDQUFrRDtBQUNsRCxtQ0FJaUI7QUFFakI7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsSUFBSSxDQUFDO1FBQ0gsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxJQUFBLDhCQUFzQixFQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUEseUJBQWlCLEVBQ2YsR0FBRyxFQUNILEdBQUcsRUFDSCw2RkFBNkYsQ0FDOUYsQ0FBQztZQUNGLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQXNCLENBQUM7UUFFaEUsd0JBQXdCO1FBQ3hCLGtCQUFNLENBQUMsSUFBSSxDQUNULHFCQUFxQixTQUFTLFFBQVEsT0FBTyxTQUFTLElBQUksQ0FBQyxNQUFNLGlDQUFpQyxDQUNuRyxDQUFDO1FBRUYsTUFBTSxjQUFjLEdBQUcsK0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkQsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUEsa0NBQXNCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDakUsS0FBSyxFQUFFO29CQUNMLE9BQU87b0JBQ1AsU0FBUztvQkFDVCxJQUFJO29CQUNKLE1BQU0sRUFBRSxXQUFXO29CQUNuQixpQkFBaUIsRUFBRSxJQUFJLElBQUksRUFBRTtpQkFDOUI7YUFDRixDQUFDLENBQUM7WUFFSCxJQUFBLDJCQUFtQixFQUNqQixHQUFHLEVBQ0gsdUJBQXVCLFNBQVMsUUFBUSxPQUFPLEVBQUUsRUFDakQ7Z0JBQ0UsY0FBYyxFQUFFLFNBQVM7Z0JBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDdEIsVUFBVSxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRTthQUNyQyxDQUNGLENBQUM7WUFDRixPQUFPO1FBQ1QsQ0FBQztRQUVELHVFQUF1RTtRQUN2RSxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsa0NBQXNCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUMzRCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTztnQkFDUCxTQUFTO2dCQUNULElBQUk7Z0JBQ0osTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGlCQUFpQixFQUFFLElBQUk7YUFDeEI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFBLDJCQUFtQixFQUNqQixHQUFHLEVBQ0gsdUJBQXVCLFNBQVMsUUFBUSxPQUFPLEVBQUUsRUFDakQ7WUFDRSxjQUFjLEVBQUUsUUFBUTtZQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDdEIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtTQUMvQixDQUNGLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLGtCQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlDLHVDQUF1QztRQUN2QyxNQUFNLFlBQVksR0FDaEIsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7UUFFbkUsSUFBQSx5QkFBaUIsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzVDLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -6,19 +6,18 @@ const build_redis_key_1 = require("../../../utils/build-redis-key");
|
|
|
6
6
|
const api_response_1 = require("../../../lib/api-response");
|
|
7
7
|
const erp_1 = require("../../../modules/erp");
|
|
8
8
|
const GET = async (req, res) => {
|
|
9
|
-
const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
10
9
|
try {
|
|
11
|
-
|
|
10
|
+
const grams = 1;
|
|
12
11
|
const cacheService = req.scope.resolve(utils_1.Modules.CACHE);
|
|
13
12
|
const erpService = req.scope.resolve(erp_1.ERP_MODULE);
|
|
13
|
+
const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
14
14
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
15
|
-
const cacheKey = (0, build_redis_key_1.buildRedisKey)("
|
|
15
|
+
const cacheKey = (0, build_redis_key_1.buildRedisKey)("gold-rate-pos", { grams });
|
|
16
16
|
const cachedResult = await cacheService.get(cacheKey);
|
|
17
17
|
if (cachedResult) {
|
|
18
|
-
logger.info(
|
|
19
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(cachedResult, "
|
|
18
|
+
logger.info(`[HISTORICAL-GOLD-RATE] : Returning cached result for grams: ${grams}`);
|
|
19
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(cachedResult, "Historical gold rate fetched successfully"));
|
|
20
20
|
}
|
|
21
|
-
logger.info("[POS-GOLD-RATE] : Cache miss, fetching from ERP and quality master");
|
|
22
21
|
const [quality14Result, quality18Result, quality22Result] = await Promise.all([
|
|
23
22
|
query.graph({
|
|
24
23
|
entity: "quality_master",
|
|
@@ -51,14 +50,12 @@ const GET = async (req, res) => {
|
|
|
51
50
|
if (!qly22?.qly_mfg_clarity ||
|
|
52
51
|
!qly18?.qly_mfg_clarity ||
|
|
53
52
|
!qly14?.qly_mfg_clarity) {
|
|
54
|
-
logger.error("[POS-GOLD-RATE] : Quality masters for 14/18/22 karat not found or missing qly_mfg_clarity");
|
|
55
53
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Quality masters for 14/18/22 karat not found or missing qly_mfg_clarity", api_response_1.HttpStatus.NOT_FOUND, api_response_1.ErrorCode.NOT_FOUND));
|
|
56
54
|
}
|
|
57
55
|
const goldRateData = (await erpService.getGoldRateData());
|
|
58
56
|
if (!goldRateData?.CurrentGoldRate ||
|
|
59
57
|
goldRateData.CurrentGoldRate.length === 0) {
|
|
60
|
-
|
|
61
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("No gold rate data available from ERP", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
|
|
58
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("No historical gold rate data available from ERP", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
|
|
62
59
|
}
|
|
63
60
|
const purity = ["14", "18", "22", "24"];
|
|
64
61
|
const qlyMap = {
|
|
@@ -88,15 +85,12 @@ const GET = async (req, res) => {
|
|
|
88
85
|
oldGoldRateList: oldGoldRateList,
|
|
89
86
|
};
|
|
90
87
|
await cacheService.set(cacheKey, result, build_redis_key_1.CACHE_VALIDATION_TIMES.GOLD_RATE);
|
|
91
|
-
|
|
92
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result, "Gold rate fetched successfully"));
|
|
88
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result, "Historical gold rate fetched successfully"));
|
|
93
89
|
}
|
|
94
90
|
catch (error) {
|
|
95
|
-
|
|
96
|
-
const errorStack = error instanceof Error ? error.stack : undefined;
|
|
97
|
-
logger.error(`[POS-GOLD-RATE] : Error fetching gold rate - ${errorMessage}${errorStack ? `\nStack: ${errorStack}` : ""}`);
|
|
91
|
+
console.error("Error fetching historical gold rate:", error);
|
|
98
92
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
|
|
99
93
|
}
|
|
100
94
|
};
|
|
101
95
|
exports.GET = GET;
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9nb2xkLXJhdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQStFO0FBQy9FLG9FQUd3QztBQUN4Qyw0REFNbUM7QUFFbkMsOENBQWdEO0FBMEJ6QyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDZixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsTUFBTSxVQUFVLEdBQWUsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQVUsQ0FBQyxDQUFDO1FBQzdELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLElBQUEsK0JBQWEsRUFBQyxlQUFlLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRTNELE1BQU0sWUFBWSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FDekMsUUFBUSxDQUNULENBQUM7UUFFRixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsK0RBQStELEtBQUssRUFBRSxDQUN2RSxDQUFDO1lBQ0YsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUNuQixZQUFZLEVBQ1osMkNBQTJDLENBQzVDLENBQ0YsQ0FBQztRQUNKLENB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
|