@things-factory/operato-hub 4.3.804 → 4.3.805

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.
@@ -21,7 +21,8 @@ const index_1 = require("../errors/index");
21
21
  const debug = require('debug')('things-factory:integration-accounting:xilnex-router');
22
22
  exports.xilnexRouter = new koa_router_1.default();
23
23
  exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
24
- const originalContext = context;
24
+ let accountWebhookOrder = null;
25
+ let accountDomain = null;
25
26
  try {
26
27
  await (0, typeorm_1.getConnection)().transaction(async (tx) => {
27
28
  var _a;
@@ -30,7 +31,6 @@ exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
30
31
  // Log raw webhook payload for debugging
31
32
  env_1.logger.info(`xilnex-router[webhook-xilnex-po][raw-payload]: ${JSON.stringify({
32
33
  query: context.query,
33
- headers: header,
34
34
  body
35
35
  })}`);
36
36
  // Detect source type and parse data accordingly
@@ -58,6 +58,15 @@ exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
58
58
  if (!account) {
59
59
  context.throw(400, `${id} not found in Account`);
60
60
  }
61
+ accountDomain = account.domain;
62
+ // Prepare webhook order record early for persistence
63
+ accountWebhookOrder = {
64
+ name: (0, uuid_1.v4)(),
65
+ request: body,
66
+ platform: integration_accounting_1.ACCOUNT_PLATFORM.XILNEX,
67
+ domain: account.domain,
68
+ status: integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED
69
+ };
61
70
  const { webhookKey } = account;
62
71
  const signature = header['xilnex-webhook-signature'];
63
72
  const xilnex = new integration_accounting_1.Xilnex({});
@@ -71,6 +80,7 @@ exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
71
80
  }
72
81
  }
73
82
  if (!xilnex.isValidSignature(payload, webhookKey, signature)) {
83
+ env_1.logger.error(`xilnex-router[webhook-xilnex-po][signature-failed]: accountId=${id}, source=${sourceType}`);
74
84
  context.throw(400, `Signature validation failed`);
75
85
  }
76
86
  const customerDomain = account.domain;
@@ -84,15 +94,9 @@ exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
84
94
  if (!warehouseDomain) {
85
95
  context.throw(400, `${warehouseId} not found in warehouse domain`);
86
96
  }
87
- let accountWebhookOrder = {
88
- name: (0, uuid_1.v4)(),
89
- request: body,
90
- platform: integration_accounting_1.ACCOUNT_PLATFORM.XILNEX,
91
- domain: account.domain,
92
- status: integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED
93
- };
94
97
  // Get order ID based on source type
95
98
  const orderId = sourceType === 'XilnexPortal' ? (_a = data === null || data === void 0 ? void 0 : data.purchaseOrder) === null || _a === void 0 ? void 0 : _a.id : data === null || data === void 0 ? void 0 : data.id;
99
+ env_1.logger.info(`xilnex-router[webhook-xilnex-po][processing]: orderId=${orderId}, source=${sourceType}`);
96
100
  if (orderId) {
97
101
  let orderInfo;
98
102
  let orderItems;
@@ -150,8 +154,7 @@ exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
150
154
  if (existingPO) {
151
155
  env_1.logger.info(`xilnex-router[webhook-xilnex-po]: Duplicate PO skipped, refNo ${orderInfo.orderId} already exists as ${existingPO.name}`);
152
156
  accountWebhookOrder.status = integration_accounting_1.ACCOUNT_SYNC_STATUS.SUCCESS;
153
- await tx.getRepository(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
154
- context.status = 200;
157
+ accountWebhookOrder.response = `Duplicate PO skipped, already exists as ${existingPO.name}`;
155
158
  return;
156
159
  }
157
160
  const poNoSetting = await tx.getRepository(setting_base_1.Setting).findOne({
@@ -228,25 +231,58 @@ exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
228
231
  await tx.getRepository(sales_base_1.OrderProduct).save(orderProducts);
229
232
  }
230
233
  accountWebhookOrder.status = integration_accounting_1.ACCOUNT_SYNC_STATUS.SUCCESS;
231
- await tx.getRepository(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
232
234
  }
233
235
  });
236
+ // Save webhook order outside transaction so it persists even if tx rolled back
237
+ if (accountWebhookOrder) {
238
+ await (0, typeorm_1.getRepository)(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
239
+ }
234
240
  context.status = 200;
235
241
  }
236
242
  catch (err) {
237
- env_1.logger.error(`xilnex-router[webhook-xilnex-po-original-context]: ${JSON.stringify(originalContext)}`);
238
- env_1.logger.error(`xilnex-router[webhook-xilnex-po]: ${err}`);
243
+ const errorMessage = err instanceof index_1.ValidationError
244
+ ? JSON.stringify({ errorCode: err.errorCode, message: err.message, detail: err.detail })
245
+ : (err === null || err === void 0 ? void 0 : err.message) || String(err);
246
+ env_1.logger.error(`xilnex-router[webhook-xilnex-po]: ${errorMessage}`);
247
+ // Persist failed webhook order record for troubleshooting
248
+ try {
249
+ if (accountWebhookOrder) {
250
+ accountWebhookOrder.status = integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED;
251
+ accountWebhookOrder.response = errorMessage;
252
+ await (0, typeorm_1.getRepository)(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
253
+ }
254
+ else if (accountDomain) {
255
+ await (0, typeorm_1.getRepository)(integration_accounting_1.AccountWebhookOrder).save({
256
+ name: (0, uuid_1.v4)(),
257
+ request: JSON.stringify(context.request.body),
258
+ response: errorMessage,
259
+ platform: integration_accounting_1.ACCOUNT_PLATFORM.XILNEX,
260
+ domain: accountDomain,
261
+ status: integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED
262
+ });
263
+ }
264
+ }
265
+ catch (saveErr) {
266
+ env_1.logger.error(`xilnex-router[webhook-xilnex-po][failed-to-save-webhook-order]: ${saveErr === null || saveErr === void 0 ? void 0 : saveErr.message}`);
267
+ }
239
268
  context.status = 400;
240
- context.throw(400, err);
269
+ context.body = { error: errorMessage };
241
270
  }
242
271
  });
243
272
  exports.xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next) => {
244
- const originalContext = context;
273
+ // Save webhook order outside the main transaction so it persists even on failure
274
+ let accountWebhookOrder = null;
275
+ let accountDomain = null;
245
276
  try {
246
277
  await (0, typeorm_1.getConnection)().transaction(async (tx) => {
247
278
  var _a;
248
279
  const { id, warehouseId } = context.query;
249
280
  const { body, header } = context.request;
281
+ // Log raw webhook payload for debugging
282
+ env_1.logger.info(`xilnex-router[webhook-xilnex-transfer-note][raw-payload]: ${JSON.stringify({
283
+ query: context.query,
284
+ body
285
+ })}`);
250
286
  // Detect source type and parse data accordingly
251
287
  const sourceType = (body === null || body === void 0 ? void 0 : body.Source) || 'Classic';
252
288
  let data = {};
@@ -272,6 +308,15 @@ exports.xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next)
272
308
  if (!account) {
273
309
  context.throw(400, `${id} not found in Account`);
274
310
  }
311
+ accountDomain = account.domain;
312
+ // Prepare webhook order record early for persistence
313
+ accountWebhookOrder = {
314
+ name: (0, uuid_1.v4)(),
315
+ request: body,
316
+ platform: integration_accounting_1.ACCOUNT_PLATFORM.XILNEX,
317
+ domain: account.domain,
318
+ status: integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED
319
+ };
275
320
  const { webhookKey } = account;
276
321
  const signature = header['xilnex-webhook-signature'];
277
322
  const xilnex = new integration_accounting_1.Xilnex({});
@@ -285,6 +330,7 @@ exports.xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next)
285
330
  }
286
331
  }
287
332
  if (!xilnex.isValidSignature(payload, webhookKey, signature)) {
333
+ env_1.logger.error(`xilnex-router[webhook-xilnex-transfer-note][signature-failed]: accountId=${id}, source=${sourceType}`);
288
334
  context.throw(400, `Signature validation failed`);
289
335
  }
290
336
  const customerDomain = account.domain;
@@ -298,16 +344,10 @@ exports.xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next)
298
344
  if (!warehouseDomain) {
299
345
  context.throw(400, `${warehouseId} not found in warehouse domain`);
300
346
  }
301
- let accountWebhookOrder = {
302
- name: (0, uuid_1.v4)(),
303
- request: body,
304
- platform: integration_accounting_1.ACCOUNT_PLATFORM.XILNEX,
305
- domain: account.domain,
306
- status: integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED
307
- };
308
347
  let accountInfo = (account === null || account === void 0 ? void 0 : account.accountInfo) ? JSON.parse(account.accountInfo) : {};
309
348
  // Get order ID based on source type
310
349
  const orderId = sourceType === 'XilnexPortal' ? (_a = data === null || data === void 0 ? void 0 : data.transferNote) === null || _a === void 0 ? void 0 : _a.id : data === null || data === void 0 ? void 0 : data.id;
350
+ env_1.logger.info(`xilnex-router[webhook-xilnex-transfer-note][processing]: orderId=${orderId}, source=${sourceType}, accountOutlet=${accountInfo.outlet}`);
311
351
  if (orderId) {
312
352
  let orderInfo;
313
353
  let orderItems;
@@ -357,6 +397,7 @@ exports.xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next)
357
397
  orderInfo = transferNote.orderInfo;
358
398
  orderItems = transferNote.orderItems;
359
399
  }
400
+ env_1.logger.info(`xilnex-router[webhook-xilnex-transfer-note][outlet-check]: orderId=${orderId}, from=${orderInfo.fromLocation}, to=${orderInfo.toLocation}, outlet=${accountInfo.outlet}, matchFrom=${orderInfo.fromLocation == accountInfo.outlet}, matchTo=${orderInfo.toLocation == accountInfo.outlet}`);
360
401
  if (orderInfo.fromLocation == accountInfo.outlet || orderInfo.toLocation == accountInfo.outlet) {
361
402
  // VDC release
362
403
  if (accountInfo.outlet == orderInfo.fromLocation) {
@@ -504,6 +545,7 @@ exports.xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next)
504
545
  status: 'INTRANSIT'
505
546
  };
506
547
  arrivalNotice = await tx.getRepository(sales_base_1.ArrivalNotice).save(arrivalNotice);
548
+ env_1.logger.info(`xilnex-router[webhook-xilnex-transfer-note][arrival-notice-created]: orderId=${orderId}, ganNo=${arrivalNotice.name}, ganId=${arrivalNotice.id}`);
507
549
  let orderProducts = [];
508
550
  await Promise.all(orderItems.map(async (item) => {
509
551
  const refCode = item.product.refCode;
@@ -549,35 +591,85 @@ exports.xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next)
549
591
  await tx.getRepository(sales_base_1.OrderProduct).save(orderProducts);
550
592
  }
551
593
  }
594
+ else {
595
+ env_1.logger.info(`xilnex-router[webhook-xilnex-transfer-note][skipped-no-outlet-match]: orderId=${orderId}, outlet=${accountInfo.outlet}, from=${orderInfo.fromLocation}, to=${orderInfo.toLocation}`);
596
+ }
597
+ }
598
+ else {
599
+ env_1.logger.info(`xilnex-router[webhook-xilnex-transfer-note][skipped-no-order-id]: no orderId found in webhook payload`);
552
600
  }
553
601
  accountWebhookOrder.status = integration_accounting_1.ACCOUNT_SYNC_STATUS.SUCCESS;
554
- await tx.getRepository(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
555
602
  });
603
+ // Save webhook order outside transaction so it persists even if tx rolled back
604
+ if (accountWebhookOrder) {
605
+ await (0, typeorm_1.getRepository)(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
606
+ }
556
607
  context.status = 200;
557
608
  }
558
609
  catch (err) {
559
- env_1.logger.error(`xilnex-router[webhook-xilnex-transfer-note-original-context]: ${JSON.stringify(originalContext)}`);
560
- env_1.logger.error(`xilnex-router[webhook-xilnex-transfer-note]: ${err}`);
610
+ const errorMessage = err instanceof index_1.ValidationError
611
+ ? JSON.stringify({ errorCode: err.errorCode, message: err.message, detail: err.detail })
612
+ : (err === null || err === void 0 ? void 0 : err.message) || String(err);
613
+ env_1.logger.error(`xilnex-router[webhook-xilnex-transfer-note]: ${errorMessage}`);
614
+ // Persist failed webhook order record for troubleshooting
615
+ try {
616
+ if (accountWebhookOrder) {
617
+ accountWebhookOrder.status = integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED;
618
+ accountWebhookOrder.response = errorMessage;
619
+ await (0, typeorm_1.getRepository)(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
620
+ }
621
+ else if (accountDomain) {
622
+ // Error happened before webhook order was prepared — save with minimal info
623
+ await (0, typeorm_1.getRepository)(integration_accounting_1.AccountWebhookOrder).save({
624
+ name: (0, uuid_1.v4)(),
625
+ request: JSON.stringify(context.request.body),
626
+ response: errorMessage,
627
+ platform: integration_accounting_1.ACCOUNT_PLATFORM.XILNEX,
628
+ domain: accountDomain,
629
+ status: integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED
630
+ });
631
+ }
632
+ }
633
+ catch (saveErr) {
634
+ env_1.logger.error(`xilnex-router[webhook-xilnex-transfer-note][failed-to-save-webhook-order]: ${saveErr === null || saveErr === void 0 ? void 0 : saveErr.message}`);
635
+ }
561
636
  context.status = 400;
562
- context.throw(400, err);
637
+ context.body = { error: errorMessage };
563
638
  }
564
639
  });
565
640
  exports.xilnexRouter.post('/webhook-xilnex-stock-request', async (context, next) => {
641
+ let accountWebhookOrder = null;
642
+ let accountDomain = null;
566
643
  try {
567
644
  await (0, typeorm_1.getConnection)().transaction(async (tx) => {
568
645
  const { id, warehouseId } = context.query;
569
646
  const { body, headers } = context.request;
647
+ // Log raw webhook payload for debugging
648
+ env_1.logger.info(`xilnex-router[webhook-xilnex-stock-request][raw-payload]: ${JSON.stringify({
649
+ query: context.query,
650
+ body
651
+ })}`);
570
652
  const data = (body === null || body === void 0 ? void 0 : body.Data) ? JSON.parse(body.Data) : {};
571
653
  const account = await integration_accounting_1.AccountingAPI.getAccounting(id);
572
654
  if (!account) {
573
655
  throw new Error(`${id} not found in Account`);
574
656
  }
657
+ accountDomain = account.domain;
658
+ // Prepare webhook order record early for persistence
659
+ accountWebhookOrder = {
660
+ name: (0, uuid_1.v4)(),
661
+ request: body,
662
+ platform: integration_accounting_1.ACCOUNT_PLATFORM.XILNEX,
663
+ domain: account.domain,
664
+ status: integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED
665
+ };
575
666
  const { webhookKey } = account;
576
667
  const signature = headers['xilnex-webhook-signature'];
577
668
  const xilnex = new integration_accounting_1.Xilnex({});
578
669
  // webhook-xilnex-stock-request only supports Classic source (no Source field in body)
579
670
  // Use parsed body for Classic source
580
671
  if (!xilnex.isValidSignature(body, webhookKey, signature)) {
672
+ env_1.logger.error(`xilnex-router[webhook-xilnex-stock-request][signature-failed]: accountId=${id}`);
581
673
  context.throw(400, 'Signature validation failed');
582
674
  }
583
675
  const customerDomain = account.domain;
@@ -591,13 +683,6 @@ exports.xilnexRouter.post('/webhook-xilnex-stock-request', async (context, next)
591
683
  if (!warehouseDomain) {
592
684
  context.throw(400, `${warehouseId} not found in warehouse domain`);
593
685
  }
594
- let accountWebhookOrder = {
595
- name: (0, uuid_1.v4)(),
596
- request: body,
597
- platform: integration_accounting_1.ACCOUNT_PLATFORM.XILNEX,
598
- domain: account.domain,
599
- status: integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED
600
- };
601
686
  let accountInfo = (account === null || account === void 0 ? void 0 : account.accountInfo) ? JSON.parse(account.accountInfo) : {};
602
687
  if (data === null || data === void 0 ? void 0 : data.id) {
603
688
  const stockRequest = await integration_accounting_1.AccountingAPI.getStockRequest(account, { orderId: data.id });
@@ -781,14 +866,41 @@ exports.xilnexRouter.post('/webhook-xilnex-stock-request', async (context, next)
781
866
  }
782
867
  }
783
868
  accountWebhookOrder.status = integration_accounting_1.ACCOUNT_SYNC_STATUS.SUCCESS;
784
- await tx.getRepository(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
785
869
  });
870
+ // Save webhook order outside transaction so it persists even if tx rolled back
871
+ if (accountWebhookOrder) {
872
+ await (0, typeorm_1.getRepository)(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
873
+ }
786
874
  context.status = 200;
787
875
  }
788
876
  catch (err) {
789
- env_1.logger.error(`xilnex-router[webhook-xilnex-stock-request]: ${err}`);
877
+ const errorMessage = err instanceof index_1.ValidationError
878
+ ? JSON.stringify({ errorCode: err.errorCode, message: err.message, detail: err.detail })
879
+ : (err === null || err === void 0 ? void 0 : err.message) || String(err);
880
+ env_1.logger.error(`xilnex-router[webhook-xilnex-stock-request]: ${errorMessage}`);
881
+ // Persist failed webhook order record for troubleshooting
882
+ try {
883
+ if (accountWebhookOrder) {
884
+ accountWebhookOrder.status = integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED;
885
+ accountWebhookOrder.response = errorMessage;
886
+ await (0, typeorm_1.getRepository)(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
887
+ }
888
+ else if (accountDomain) {
889
+ await (0, typeorm_1.getRepository)(integration_accounting_1.AccountWebhookOrder).save({
890
+ name: (0, uuid_1.v4)(),
891
+ request: JSON.stringify(context.request.body),
892
+ response: errorMessage,
893
+ platform: integration_accounting_1.ACCOUNT_PLATFORM.XILNEX,
894
+ domain: accountDomain,
895
+ status: integration_accounting_1.ACCOUNT_SYNC_STATUS.FAILED
896
+ });
897
+ }
898
+ }
899
+ catch (saveErr) {
900
+ env_1.logger.error(`xilnex-router[webhook-xilnex-stock-request][failed-to-save-webhook-order]: ${saveErr === null || saveErr === void 0 ? void 0 : saveErr.message}`);
901
+ }
790
902
  context.status = 400;
791
- context.throw(400, err);
903
+ context.body = { error: errorMessage };
792
904
  }
793
905
  });
794
906
  async function checkExistingOrder(releaseGood, bizplace, checkDuplicationValidation = true, context, tx) {
@@ -1 +1 @@
1
- {"version":3,"file":"xilnex-router.js","sourceRoot":"","sources":["../../server/routers/xilnex-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xilnex-router.js","sourceRoot":"","sources":["../../server/routers/xilnex-router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/operato-hub",
3
- "version": "4.3.804",
3
+ "version": "4.3.805",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -77,7 +77,7 @@
77
77
  "@things-factory/i18n-base": "^4.3.767",
78
78
  "@things-factory/import-ui": "^4.3.790",
79
79
  "@things-factory/import-ui-excel": "^4.3.790",
80
- "@things-factory/integration-accounting": "^4.3.804",
80
+ "@things-factory/integration-accounting": "^4.3.805",
81
81
  "@things-factory/integration-base": "^4.3.804",
82
82
  "@things-factory/integration-fulfillment": "^4.3.804",
83
83
  "@things-factory/integration-lmd": "^4.3.804",
@@ -93,7 +93,7 @@
93
93
  "@things-factory/pdf": "^4.3.767",
94
94
  "@things-factory/product-ui": "^4.3.804",
95
95
  "@things-factory/resource-ui": "^4.3.790",
96
- "@things-factory/sales-base": "^4.3.804",
96
+ "@things-factory/sales-base": "^4.3.805",
97
97
  "@things-factory/scene-data-transform": "^4.3.767",
98
98
  "@things-factory/scene-excel": "^4.3.767",
99
99
  "@things-factory/scene-firebase": "^4.3.767",
@@ -109,8 +109,8 @@
109
109
  "@things-factory/shell": "^4.3.767",
110
110
  "@things-factory/system-ui": "^4.3.767",
111
111
  "@things-factory/transport-base": "^4.3.798",
112
- "@things-factory/warehouse-base": "^4.3.804",
113
- "@things-factory/worksheet-base": "^4.3.804",
112
+ "@things-factory/warehouse-base": "^4.3.805",
113
+ "@things-factory/worksheet-base": "^4.3.805",
114
114
  "cron-parser": "^4.7.0",
115
115
  "koa2-swagger-ui": "^5.0.2",
116
116
  "swagger-jsdoc": "^5.0.0",
@@ -123,5 +123,5 @@
123
123
  "resolutions": {
124
124
  "core-js": "^3.16.0"
125
125
  },
126
- "gitHead": "16cc2b75daffeb21a2661e4b3eefd7b5c0ff7945"
126
+ "gitHead": "f7279ba37de6fbb915953b3c4bea769d5965945d"
127
127
  }
@@ -42,7 +42,9 @@ const debug = require('debug')('things-factory:integration-accounting:xilnex-rou
42
42
  export const xilnexRouter = new Router()
43
43
 
44
44
  xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
45
- const originalContext = context
45
+ let accountWebhookOrder: any = null
46
+ let accountDomain: any = null
47
+
46
48
  try {
47
49
  await getConnection().transaction(async (tx: EntityManager) => {
48
50
  const { id, warehouseId } = context.query
@@ -52,7 +54,6 @@ xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
52
54
  logger.info(
53
55
  `xilnex-router[webhook-xilnex-po][raw-payload]: ${JSON.stringify({
54
56
  query: context.query,
55
- headers: header,
56
57
  body
57
58
  })}`
58
59
  )
@@ -82,6 +83,17 @@ xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
82
83
  context.throw(400, `${id} not found in Account`)
83
84
  }
84
85
 
86
+ accountDomain = account.domain
87
+
88
+ // Prepare webhook order record early for persistence
89
+ accountWebhookOrder = {
90
+ name: uuidv4(),
91
+ request: body,
92
+ platform: ACCOUNT_PLATFORM.XILNEX,
93
+ domain: account.domain,
94
+ status: ACCOUNT_SYNC_STATUS.FAILED
95
+ }
96
+
85
97
  const { webhookKey } = account
86
98
  const signature = header['xilnex-webhook-signature']
87
99
 
@@ -98,6 +110,7 @@ xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
98
110
  }
99
111
 
100
112
  if (!xilnex.isValidSignature(payload, webhookKey, signature)) {
113
+ logger.error(`xilnex-router[webhook-xilnex-po][signature-failed]: accountId=${id}, source=${sourceType}`)
101
114
  context.throw(400, `Signature validation failed`)
102
115
  }
103
116
 
@@ -115,16 +128,9 @@ xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
115
128
  context.throw(400, `${warehouseId} not found in warehouse domain`)
116
129
  }
117
130
 
118
- let accountWebhookOrder: any = {
119
- name: uuidv4(),
120
- request: body,
121
- platform: ACCOUNT_PLATFORM.XILNEX,
122
- domain: account.domain,
123
- status: ACCOUNT_SYNC_STATUS.FAILED
124
- }
125
-
126
131
  // Get order ID based on source type
127
132
  const orderId = sourceType === 'XilnexPortal' ? data?.purchaseOrder?.id : data?.id
133
+ logger.info(`xilnex-router[webhook-xilnex-po][processing]: orderId=${orderId}, source=${sourceType}`)
128
134
 
129
135
  if (orderId) {
130
136
  let orderInfo: any
@@ -189,8 +195,7 @@ xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
189
195
  `xilnex-router[webhook-xilnex-po]: Duplicate PO skipped, refNo ${orderInfo.orderId} already exists as ${existingPO.name}`
190
196
  )
191
197
  accountWebhookOrder.status = ACCOUNT_SYNC_STATUS.SUCCESS
192
- await tx.getRepository(AccountWebhookOrder).save(accountWebhookOrder)
193
- context.status = 200
198
+ accountWebhookOrder.response = `Duplicate PO skipped, already exists as ${existingPO.name}`
194
199
  return
195
200
  }
196
201
 
@@ -277,26 +282,64 @@ xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
277
282
  }
278
283
 
279
284
  accountWebhookOrder.status = ACCOUNT_SYNC_STATUS.SUCCESS
280
- await tx.getRepository(AccountWebhookOrder).save(accountWebhookOrder)
281
285
  }
282
286
  })
283
287
 
288
+ // Save webhook order outside transaction so it persists even if tx rolled back
289
+ if (accountWebhookOrder) {
290
+ await getRepository(AccountWebhookOrder).save(accountWebhookOrder)
291
+ }
292
+
284
293
  context.status = 200
285
294
  } catch (err) {
286
- logger.error(`xilnex-router[webhook-xilnex-po-original-context]: ${JSON.stringify(originalContext)}`)
287
- logger.error(`xilnex-router[webhook-xilnex-po]: ${err}`)
295
+ const errorMessage = err instanceof ValidationError
296
+ ? JSON.stringify({ errorCode: err.errorCode, message: err.message, detail: err.detail })
297
+ : err?.message || String(err)
298
+ logger.error(`xilnex-router[webhook-xilnex-po]: ${errorMessage}`)
299
+
300
+ // Persist failed webhook order record for troubleshooting
301
+ try {
302
+ if (accountWebhookOrder) {
303
+ accountWebhookOrder.status = ACCOUNT_SYNC_STATUS.FAILED
304
+ accountWebhookOrder.response = errorMessage
305
+ await getRepository(AccountWebhookOrder).save(accountWebhookOrder)
306
+ } else if (accountDomain) {
307
+ await getRepository(AccountWebhookOrder).save({
308
+ name: uuidv4(),
309
+ request: JSON.stringify(context.request.body),
310
+ response: errorMessage,
311
+ platform: ACCOUNT_PLATFORM.XILNEX,
312
+ domain: accountDomain,
313
+ status: ACCOUNT_SYNC_STATUS.FAILED
314
+ })
315
+ }
316
+ } catch (saveErr) {
317
+ logger.error(`xilnex-router[webhook-xilnex-po][failed-to-save-webhook-order]: ${saveErr?.message}`)
318
+ }
319
+
288
320
  context.status = 400
289
- context.throw(400, err)
321
+ context.body = { error: errorMessage }
290
322
  }
291
323
  })
292
324
 
293
325
  xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next) => {
294
- const originalContext = context
326
+ // Save webhook order outside the main transaction so it persists even on failure
327
+ let accountWebhookOrder: any = null
328
+ let accountDomain: any = null
329
+
295
330
  try {
296
331
  await getConnection().transaction(async (tx: EntityManager) => {
297
332
  const { id, warehouseId } = context.query
298
333
  const { body, header } = context.request
299
334
 
335
+ // Log raw webhook payload for debugging
336
+ logger.info(
337
+ `xilnex-router[webhook-xilnex-transfer-note][raw-payload]: ${JSON.stringify({
338
+ query: context.query,
339
+ body
340
+ })}`
341
+ )
342
+
300
343
  // Detect source type and parse data accordingly
301
344
  const sourceType = body?.Source || 'Classic'
302
345
  let data: any = {}
@@ -322,6 +365,17 @@ xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next) => {
322
365
  context.throw(400, `${id} not found in Account`)
323
366
  }
324
367
 
368
+ accountDomain = account.domain
369
+
370
+ // Prepare webhook order record early for persistence
371
+ accountWebhookOrder = {
372
+ name: uuidv4(),
373
+ request: body,
374
+ platform: ACCOUNT_PLATFORM.XILNEX,
375
+ domain: account.domain,
376
+ status: ACCOUNT_SYNC_STATUS.FAILED
377
+ }
378
+
325
379
  const { webhookKey } = account
326
380
  const signature = header['xilnex-webhook-signature']
327
381
 
@@ -338,6 +392,7 @@ xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next) => {
338
392
  }
339
393
 
340
394
  if (!xilnex.isValidSignature(payload, webhookKey, signature)) {
395
+ logger.error(`xilnex-router[webhook-xilnex-transfer-note][signature-failed]: accountId=${id}, source=${sourceType}`)
341
396
  context.throw(400, `Signature validation failed`)
342
397
  }
343
398
 
@@ -355,18 +410,11 @@ xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next) => {
355
410
  context.throw(400, `${warehouseId} not found in warehouse domain`)
356
411
  }
357
412
 
358
- let accountWebhookOrder: any = {
359
- name: uuidv4(),
360
- request: body,
361
- platform: ACCOUNT_PLATFORM.XILNEX,
362
- domain: account.domain,
363
- status: ACCOUNT_SYNC_STATUS.FAILED
364
- }
365
-
366
413
  let accountInfo: any = account?.accountInfo ? JSON.parse(account.accountInfo) : {}
367
414
 
368
415
  // Get order ID based on source type
369
416
  const orderId = sourceType === 'XilnexPortal' ? data?.transferNote?.id : data?.id
417
+ logger.info(`xilnex-router[webhook-xilnex-transfer-note][processing]: orderId=${orderId}, source=${sourceType}, accountOutlet=${accountInfo.outlet}`)
370
418
 
371
419
  if (orderId) {
372
420
  let orderInfo: any
@@ -419,6 +467,10 @@ xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next) => {
419
467
  orderItems = transferNote.orderItems
420
468
  }
421
469
 
470
+ logger.info(
471
+ `xilnex-router[webhook-xilnex-transfer-note][outlet-check]: orderId=${orderId}, from=${orderInfo.fromLocation}, to=${orderInfo.toLocation}, outlet=${accountInfo.outlet}, matchFrom=${orderInfo.fromLocation == accountInfo.outlet}, matchTo=${orderInfo.toLocation == accountInfo.outlet}`
472
+ )
473
+
422
474
  if (orderInfo.fromLocation == accountInfo.outlet || orderInfo.toLocation == accountInfo.outlet) {
423
475
  // VDC release
424
476
  if (accountInfo.outlet == orderInfo.fromLocation) {
@@ -597,6 +649,7 @@ xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next) => {
597
649
  status: 'INTRANSIT'
598
650
  }
599
651
  arrivalNotice = await tx.getRepository(ArrivalNotice).save(arrivalNotice)
652
+ logger.info(`xilnex-router[webhook-xilnex-transfer-note][arrival-notice-created]: orderId=${orderId}, ganNo=${arrivalNotice.name}, ganId=${arrivalNotice.id}`)
600
653
 
601
654
  let orderProducts: any[] = []
602
655
  await Promise.all(
@@ -647,27 +700,71 @@ xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next) => {
647
700
  )
648
701
  await tx.getRepository(OrderProduct).save(orderProducts)
649
702
  }
703
+ } else {
704
+ logger.info(`xilnex-router[webhook-xilnex-transfer-note][skipped-no-outlet-match]: orderId=${orderId}, outlet=${accountInfo.outlet}, from=${orderInfo.fromLocation}, to=${orderInfo.toLocation}`)
650
705
  }
706
+ } else {
707
+ logger.info(`xilnex-router[webhook-xilnex-transfer-note][skipped-no-order-id]: no orderId found in webhook payload`)
651
708
  }
652
709
 
653
710
  accountWebhookOrder.status = ACCOUNT_SYNC_STATUS.SUCCESS
654
- await tx.getRepository(AccountWebhookOrder).save(accountWebhookOrder)
655
711
  })
656
712
 
713
+ // Save webhook order outside transaction so it persists even if tx rolled back
714
+ if (accountWebhookOrder) {
715
+ await getRepository(AccountWebhookOrder).save(accountWebhookOrder)
716
+ }
717
+
657
718
  context.status = 200
658
719
  } catch (err) {
659
- logger.error(`xilnex-router[webhook-xilnex-transfer-note-original-context]: ${JSON.stringify(originalContext)}`)
660
- logger.error(`xilnex-router[webhook-xilnex-transfer-note]: ${err}`)
720
+ const errorMessage = err instanceof ValidationError
721
+ ? JSON.stringify({ errorCode: err.errorCode, message: err.message, detail: err.detail })
722
+ : err?.message || String(err)
723
+ logger.error(`xilnex-router[webhook-xilnex-transfer-note]: ${errorMessage}`)
724
+
725
+ // Persist failed webhook order record for troubleshooting
726
+ try {
727
+ if (accountWebhookOrder) {
728
+ accountWebhookOrder.status = ACCOUNT_SYNC_STATUS.FAILED
729
+ accountWebhookOrder.response = errorMessage
730
+ await getRepository(AccountWebhookOrder).save(accountWebhookOrder)
731
+ } else if (accountDomain) {
732
+ // Error happened before webhook order was prepared — save with minimal info
733
+ await getRepository(AccountWebhookOrder).save({
734
+ name: uuidv4(),
735
+ request: JSON.stringify(context.request.body),
736
+ response: errorMessage,
737
+ platform: ACCOUNT_PLATFORM.XILNEX,
738
+ domain: accountDomain,
739
+ status: ACCOUNT_SYNC_STATUS.FAILED
740
+ })
741
+ }
742
+ } catch (saveErr) {
743
+ logger.error(`xilnex-router[webhook-xilnex-transfer-note][failed-to-save-webhook-order]: ${saveErr?.message}`)
744
+ }
745
+
661
746
  context.status = 400
662
- context.throw(400, err)
747
+ context.body = { error: errorMessage }
663
748
  }
664
749
  })
665
750
 
666
751
  xilnexRouter.post('/webhook-xilnex-stock-request', async (context, next) => {
752
+ let accountWebhookOrder: any = null
753
+ let accountDomain: any = null
754
+
667
755
  try {
668
756
  await getConnection().transaction(async (tx: EntityManager) => {
669
757
  const { id, warehouseId } = context.query
670
758
  const { body, headers } = context.request
759
+
760
+ // Log raw webhook payload for debugging
761
+ logger.info(
762
+ `xilnex-router[webhook-xilnex-stock-request][raw-payload]: ${JSON.stringify({
763
+ query: context.query,
764
+ body
765
+ })}`
766
+ )
767
+
671
768
  const data = body?.Data ? JSON.parse(body.Data) : {}
672
769
 
673
770
  const account = await AccountingAPI.getAccounting(id)
@@ -675,6 +772,17 @@ xilnexRouter.post('/webhook-xilnex-stock-request', async (context, next) => {
675
772
  throw new Error(`${id} not found in Account`)
676
773
  }
677
774
 
775
+ accountDomain = account.domain
776
+
777
+ // Prepare webhook order record early for persistence
778
+ accountWebhookOrder = {
779
+ name: uuidv4(),
780
+ request: body,
781
+ platform: ACCOUNT_PLATFORM.XILNEX,
782
+ domain: account.domain,
783
+ status: ACCOUNT_SYNC_STATUS.FAILED
784
+ }
785
+
678
786
  const { webhookKey } = account
679
787
  const signature = headers['xilnex-webhook-signature']
680
788
 
@@ -683,6 +791,7 @@ xilnexRouter.post('/webhook-xilnex-stock-request', async (context, next) => {
683
791
  // webhook-xilnex-stock-request only supports Classic source (no Source field in body)
684
792
  // Use parsed body for Classic source
685
793
  if (!xilnex.isValidSignature(body, webhookKey, signature)) {
794
+ logger.error(`xilnex-router[webhook-xilnex-stock-request][signature-failed]: accountId=${id}`)
686
795
  context.throw(400, 'Signature validation failed')
687
796
  }
688
797
 
@@ -700,14 +809,6 @@ xilnexRouter.post('/webhook-xilnex-stock-request', async (context, next) => {
700
809
  context.throw(400, `${warehouseId} not found in warehouse domain`)
701
810
  }
702
811
 
703
- let accountWebhookOrder: any = {
704
- name: uuidv4(),
705
- request: body,
706
- platform: ACCOUNT_PLATFORM.XILNEX,
707
- domain: account.domain,
708
- status: ACCOUNT_SYNC_STATUS.FAILED
709
- }
710
-
711
812
  let accountInfo: any = account?.accountInfo ? JSON.parse(account.accountInfo) : {}
712
813
 
713
814
  if (data?.id) {
@@ -931,14 +1032,42 @@ xilnexRouter.post('/webhook-xilnex-stock-request', async (context, next) => {
931
1032
  }
932
1033
 
933
1034
  accountWebhookOrder.status = ACCOUNT_SYNC_STATUS.SUCCESS
934
- await tx.getRepository(AccountWebhookOrder).save(accountWebhookOrder)
935
1035
  })
936
1036
 
1037
+ // Save webhook order outside transaction so it persists even if tx rolled back
1038
+ if (accountWebhookOrder) {
1039
+ await getRepository(AccountWebhookOrder).save(accountWebhookOrder)
1040
+ }
1041
+
937
1042
  context.status = 200
938
1043
  } catch (err) {
939
- logger.error(`xilnex-router[webhook-xilnex-stock-request]: ${err}`)
1044
+ const errorMessage = err instanceof ValidationError
1045
+ ? JSON.stringify({ errorCode: err.errorCode, message: err.message, detail: err.detail })
1046
+ : err?.message || String(err)
1047
+ logger.error(`xilnex-router[webhook-xilnex-stock-request]: ${errorMessage}`)
1048
+
1049
+ // Persist failed webhook order record for troubleshooting
1050
+ try {
1051
+ if (accountWebhookOrder) {
1052
+ accountWebhookOrder.status = ACCOUNT_SYNC_STATUS.FAILED
1053
+ accountWebhookOrder.response = errorMessage
1054
+ await getRepository(AccountWebhookOrder).save(accountWebhookOrder)
1055
+ } else if (accountDomain) {
1056
+ await getRepository(AccountWebhookOrder).save({
1057
+ name: uuidv4(),
1058
+ request: JSON.stringify(context.request.body),
1059
+ response: errorMessage,
1060
+ platform: ACCOUNT_PLATFORM.XILNEX,
1061
+ domain: accountDomain,
1062
+ status: ACCOUNT_SYNC_STATUS.FAILED
1063
+ })
1064
+ }
1065
+ } catch (saveErr) {
1066
+ logger.error(`xilnex-router[webhook-xilnex-stock-request][failed-to-save-webhook-order]: ${saveErr?.message}`)
1067
+ }
1068
+
940
1069
  context.status = 400
941
- context.throw(400, err)
1070
+ context.body = { error: errorMessage }
942
1071
  }
943
1072
  })
944
1073