@os1-platform/dispatch-mobile 2.1.8 → 2.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/lib/commonjs/analytics/sentry/SentryAnalyticsSingleton.js +0 -2
  2. package/lib/commonjs/analytics/sentry/SentryAnalyticsSingleton.js.map +1 -1
  3. package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +0 -6
  4. package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
  5. package/lib/commonjs/analytics/sentry/SentrySdkConstants.js +2 -0
  6. package/lib/commonjs/analytics/sentry/SentrySdkConstants.js.map +1 -1
  7. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +1 -1
  8. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +5 -4
  11. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  12. package/lib/commonjs/manager/sdk/callbacksHandler.js +28 -1
  13. package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
  14. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +7 -5
  15. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  16. package/lib/commonjs/manager/syncmanager/DBConfig.js +3 -1
  17. package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
  18. package/lib/commonjs/manager/syncmanager/constants.js +4 -1
  19. package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
  20. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +37 -20
  21. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  22. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +26 -4
  23. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  24. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +276 -20
  25. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  26. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +41 -13
  27. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  28. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +116 -59
  29. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  30. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js +17 -0
  31. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  32. package/lib/commonjs/models/auth.js.map +1 -1
  33. package/lib/commonjs/models/sdk.js.map +1 -1
  34. package/lib/commonjs/network/NetworkClient.js +12 -2
  35. package/lib/commonjs/network/NetworkClient.js.map +1 -1
  36. package/lib/commonjs/network/NetworkUtils.js +14 -7
  37. package/lib/commonjs/network/NetworkUtils.js.map +1 -1
  38. package/lib/commonjs/network/client.js +1 -1
  39. package/lib/commonjs/network/client.js.map +1 -1
  40. package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
  41. package/lib/commonjs/ui/screens/FormsScreen.js.map +1 -1
  42. package/lib/commonjs/utils/SyncManagerUtils.js +29 -2
  43. package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
  44. package/lib/commonjs/utils/storage.js +21 -5
  45. package/lib/commonjs/utils/storage.js.map +1 -1
  46. package/lib/commonjs/utils/utils.js +0 -9
  47. package/lib/commonjs/utils/utils.js.map +1 -1
  48. package/lib/module/analytics/sentry/SentryAnalyticsSingleton.js +0 -2
  49. package/lib/module/analytics/sentry/SentryAnalyticsSingleton.js.map +1 -1
  50. package/lib/module/analytics/sentry/SentryAnalyticsUtils.js +0 -6
  51. package/lib/module/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
  52. package/lib/module/analytics/sentry/SentrySdkConstants.js +2 -0
  53. package/lib/module/analytics/sentry/SentrySdkConstants.js.map +1 -1
  54. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +1 -1
  55. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  56. package/lib/module/index.js.map +1 -1
  57. package/lib/module/manager/sdk/DispatchSDKManager.js +5 -4
  58. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  59. package/lib/module/manager/sdk/callbacksHandler.js +27 -1
  60. package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
  61. package/lib/module/manager/syncmanager/AppSyncManager.js +7 -5
  62. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  63. package/lib/module/manager/syncmanager/DBConfig.js +3 -1
  64. package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
  65. package/lib/module/manager/syncmanager/constants.js +3 -0
  66. package/lib/module/manager/syncmanager/constants.js.map +1 -1
  67. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +38 -21
  68. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  69. package/lib/module/manager/syncmanager/document/DocumentManager.js +26 -4
  70. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  71. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +276 -20
  72. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  73. package/lib/module/manager/syncmanager/events/ETEventsManager.js +42 -14
  74. package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  75. package/lib/module/manager/syncmanager/events/EventsSyncManager.js +119 -61
  76. package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  77. package/lib/module/manager/syncmanager/events/SyncHttpClient.js +15 -0
  78. package/lib/module/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  79. package/lib/module/models/auth.js.map +1 -1
  80. package/lib/module/models/sdk.js.map +1 -1
  81. package/lib/module/network/NetworkClient.js +12 -2
  82. package/lib/module/network/NetworkClient.js.map +1 -1
  83. package/lib/module/network/NetworkUtils.js +14 -7
  84. package/lib/module/network/NetworkUtils.js.map +1 -1
  85. package/lib/module/network/client.js +1 -1
  86. package/lib/module/network/client.js.map +1 -1
  87. package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
  88. package/lib/module/ui/screens/FormsScreen.js.map +1 -1
  89. package/lib/module/utils/SyncManagerUtils.js +30 -3
  90. package/lib/module/utils/SyncManagerUtils.js.map +1 -1
  91. package/lib/module/utils/storage.js +21 -5
  92. package/lib/module/utils/storage.js.map +1 -1
  93. package/lib/module/utils/utils.js +0 -9
  94. package/lib/module/utils/utils.js.map +1 -1
  95. package/lib/typescript/analytics/sentry/SentrySdkConstants.d.ts +2 -0
  96. package/lib/typescript/manager/sdk/callbacksHandler.d.ts +3 -1
  97. package/lib/typescript/manager/syncmanager/DBConfig.d.ts +4 -0
  98. package/lib/typescript/manager/syncmanager/constants.d.ts +3 -0
  99. package/lib/typescript/manager/syncmanager/document/DocumentManager.d.ts +2 -0
  100. package/lib/typescript/manager/syncmanager/document/DocumentSyncManager.d.ts +2 -1
  101. package/lib/typescript/manager/syncmanager/events/ETEventsManager.d.ts +2 -0
  102. package/lib/typescript/manager/syncmanager/events/EventsSyncManager.d.ts +1 -1
  103. package/lib/typescript/models/sdk.d.ts +1 -0
  104. package/lib/typescript/utils/storage.d.ts +3 -3
  105. package/package.json +5 -5
  106. package/src/analytics/sentry/SentryAnalyticsSingleton.ts +7 -9
  107. package/src/analytics/sentry/SentryAnalyticsUtils.ts +24 -36
  108. package/src/analytics/sentry/SentrySdkConstants.ts +2 -0
  109. package/src/components/executiontasks/imageCapture/ImageCapture.tsx +1 -3
  110. package/src/index.tsx +1 -1
  111. package/src/manager/sdk/DispatchSDKManager.ts +8 -3
  112. package/src/manager/sdk/callbacksHandler.ts +39 -2
  113. package/src/manager/syncmanager/AppSyncManager.ts +15 -13
  114. package/src/manager/syncmanager/DBConfig.ts +4 -0
  115. package/src/manager/syncmanager/constants.ts +3 -0
  116. package/src/manager/syncmanager/document/DocumentHttpClient.ts +54 -24
  117. package/src/manager/syncmanager/document/DocumentManager.ts +48 -7
  118. package/src/manager/syncmanager/document/DocumentSyncManager.ts +351 -30
  119. package/src/manager/syncmanager/events/ETEventsManager.ts +50 -16
  120. package/src/manager/syncmanager/events/EventsSyncManager.ts +157 -74
  121. package/src/manager/syncmanager/events/SyncHttpClient.ts +30 -1
  122. package/src/models/auth.ts +1 -0
  123. package/src/models/sdk.ts +1 -0
  124. package/src/network/NetworkClient.ts +18 -2
  125. package/src/network/NetworkUtils.ts +9 -1
  126. package/src/network/client.ts +1 -1
  127. package/src/ui/screens/DeliverScreen.tsx +6 -5
  128. package/src/ui/screens/FormsScreen.tsx +8 -6
  129. package/src/utils/SyncManagerUtils.ts +41 -6
  130. package/src/utils/storage.ts +21 -8
  131. package/src/utils/utils.ts +0 -8
@@ -8,13 +8,13 @@ import * as Database from '../database';
8
8
  import { BaseError } from '../../../errors/BaseError';
9
9
  import BaseErrorCodes, { InvalidArgumentsError } from '../../../errors/ErrorCodes';
10
10
  import Logger, { LOG_TYPE } from '../../../utils/Logger';
11
- import { BULK_DATA_LIMIT } from '../constants';
11
+ import { BULK_DATA_LIMIT, MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';
12
12
  // NEW CODE
13
13
  import { DispatchExecutor, IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';
14
14
  const SyncType = IDispatch.SyncType;
15
15
  export default class ETEventsManager {
16
16
  constructor() {
17
- _defineProperty(this, "maxRetryCount", 3);
17
+ _defineProperty(this, "maxRetryCount", MAX_RETRY_COUNT);
18
18
  _defineProperty(this, "_retries", 0);
19
19
  }
20
20
  static async getInstance() {
@@ -37,8 +37,14 @@ export default class ETEventsManager {
37
37
  ${EVENTS_COLUMNS.DATA_LENGTH} INTEGER DEFAULT 0 NOT NULL,\
38
38
  ${EVENTS_COLUMNS.META} TEXT NOT NULL,\
39
39
  ${EVENTS_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\
40
+ ${EVENTS_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\
40
41
  ${EVENTS_COLUMNS.SYNC_ERROR} TEXT);`, []);
41
42
  }
43
+
44
+ // This is the function to insert POD_DOC type event in event table.
45
+ async insertPODDocEvent(dspID, syncType) {
46
+ await Database.executeQuery(`INSERT INTO ${EVENTS_TABLE}(${EVENTS_COLUMNS.DISPATCH_ID},${EVENTS_COLUMNS.SYNC_TYPE},${EVENTS_COLUMNS.PAYLOAD},${EVENTS_COLUMNS.DATA_LENGTH},${EVENTS_COLUMNS.META},${EVENTS_COLUMNS.SYNCED},${EVENTS_COLUMNS.CONFIG},${EVENTS_COLUMNS.SYNC_ERROR}) values (?,?,?,?,?,?,?,?)`, [dspID, syncType, '', 1, '', 0, '', '']);
47
+ }
42
48
  async insertEvent(sequence, payload, dspID, syncType, objectiveRef, config) {
43
49
  await Database.executeQuery(`INSERT INTO ${EVENTS_TABLE}(\
44
50
  ${EVENTS_COLUMNS.PAYLOAD},\
@@ -449,6 +455,12 @@ export default class ETEventsManager {
449
455
  SET \
450
456
  ${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`, [syncError, id]);
451
457
  }
458
+
459
+ // This function will actualy update the POD_DOC type of event as sync along with attempt count.
460
+ async markPODDocEventSynced(sync, attempt, podDocId) {
461
+ if (!podDocId) throw new TypeError('podDocId cannot be null');
462
+ await Database.executeQuery(`UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = ?, ${EVENTS_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${EVENTS_COLUMNS.SYNC_TYPE} = ?;`, [sync, attempt, podDocId]);
463
+ }
452
464
  async markEventSynced(id) {
453
465
  if (!id) throw new TypeError('Event ID cannot be null');
454
466
  await Database.executeQuery(`UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`, [id]);
@@ -487,18 +499,34 @@ export default class ETEventsManager {
487
499
  return sqlResult.rows._array;
488
500
  }
489
501
  async getBulkRowsToSync(id, dispatchId) {
490
- const query = `SELECT * FROM \
491
- (SELECT *, \
492
- (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \
493
- FROM ${EVENTS_TABLE} \
494
- WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 \
495
- ) total \
496
- FROM ${EVENTS_TABLE} t \
497
- ) q \
498
- WHERE total <= ${BULK_DATA_LIMIT} \
499
- ORDER BY ${EVENTS_COLUMNS.ID};`;
500
- const sqlResult = await Database.executeQuery(query, []);
501
- return sqlResult.rows._array;
502
+ // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.
503
+ if (PROCESS_MAX_RETRIED_ROWS) {
504
+ const query = `SELECT * FROM \
505
+ (SELECT *, \
506
+ (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \
507
+ FROM ${EVENTS_TABLE} \
508
+ WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 \
509
+ ) total \
510
+ FROM ${EVENTS_TABLE} t \
511
+ ) q \
512
+ WHERE total <= ${BULK_DATA_LIMIT} \
513
+ ORDER BY ${EVENTS_COLUMNS.ID};`;
514
+ const sqlResult = await Database.executeQuery(query, []);
515
+ return sqlResult.rows._array;
516
+ } else {
517
+ const query = `SELECT * FROM \
518
+ (SELECT *, \
519
+ (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \
520
+ FROM ${EVENTS_TABLE} \
521
+ WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \
522
+ ) total \
523
+ FROM ${EVENTS_TABLE} t \
524
+ ) q \
525
+ WHERE total <= ${BULK_DATA_LIMIT} \
526
+ ORDER BY ${EVENTS_COLUMNS.ID};`;
527
+ const sqlResult = await Database.executeQuery(query, []);
528
+ return sqlResult.rows._array;
529
+ }
502
530
  }
503
531
  }
504
532
  _class = ETEventsManager;
@@ -1 +1 @@
1
- {"version":3,"names":["isEmptyOrBlank","DispatchSyncType","EVENTS_COLUMNS","EVENTS_TABLE","Database","BaseError","BaseErrorCodes","InvalidArgumentsError","Logger","LOG_TYPE","BULK_DATA_LIMIT","DispatchExecutor","IDispatch","SyncType","ETEventsManager","constructor","_defineProperty","getInstance","instance","manager","init","executeQuery","ID","DISPATCH_ID","PAYLOAD","CONFIG","SYNC_TYPE","DATA_LENGTH","META","SYNCED","SYNC_ERROR","insertEvent","sequence","payload","dspID","syncType","objectiveRef","config","SEQUENCE","getWFIPayload","_bulkEventData","result","dispatchId","status","timestamp","code","attemptId","updatedBy","mergedObjectiveId","meta","outData","output","data","offset","jobMapping","getJobMapping","__unmerged","Object","keys","forEach","customETName","push","workflows","length","getCustodyPayload","getJobRemovalPayload","getDispatchUpdatePayload","_modifyEventData","CUSTODY_IN_SCAN","custodyInScans","action","CUSTODY_OUT_SCAN","custodyOutScans","WORKFLOW","map","_payload","_payload$workflows$0$","JOB_REMOVAL","_jobRemoval$success","_jobRemoval$failure","jobRemoval","success","failure","DISPATCH_UPDATE","DISPATCH_SUB_STATUS_UPDATE","DEFAULT","splitData","chunkSize","splitKey","splitArray","Array","isArray","i","chunk","key","hasOwnProperty","slice","insertQueueEvent","_eventData","args","values","queryData","_meta","JSON","stringify","query","join","executeBulkQuery","_retries","err","maxRetryCount","logEvent","toString","SDK_DEBUG","insertBulkEvent","syncManagerPayload","index","InvalidArgumentError","chunkedData","_evData","getAllEvents","dispatchID","resultSet","rows","_array","getAllUnsyncedEvents","deleteAllEvents","deleteEventsQuery","resetAutoIncrementSequence","updateError","id","syncError","TypeError","markEventSynced","getWorkflowUpdateEvents","sqlResultSet","getJobRemovalEvents","getCustodyBatch","sqlResult","getObjectiveDetails","rs","getRowToSync","getBulkRowsToSync","_class"],"sources":["ETEventsManager.ts"],"sourcesContent":["import { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BulkEvent,\n CustodyData,\n DispatchSyncType,\n EventETData,\n EventRow,\n EVENTS_COLUMNS,\n EVENTS_TABLE,\n SyncManagerPayload,\n ExecEngineSyncType,\n WFUpdateBulkEventData,\n WIUpdateOutputPayload,\n WORKFLOW_INSTANCE_COLUMNS,\n WORKFLOW_INSTANCE_TABLE,\n} from '../DBConfig';\nimport type { ExecQuery } from '../database';\nimport * as Database from '../database';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { BULK_DATA_LIMIT } from '../constants';\nimport Storage from '../../../utils/storage';\n\n// NEW CODE\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class ETEventsManager {\n private static instance: ETEventsManager;\n private maxRetryCount: number = 3;\n private _retries = 0;\n\n private constructor() {}\n\n public static async getInstance(): Promise<ETEventsManager> {\n if (!ETEventsManager.instance) {\n let manager = new ETEventsManager();\n await ETEventsManager.init();\n ETEventsManager.instance = manager;\n }\n return ETEventsManager.instance;\n }\n\n // NEED TO REMOVE SYNCED, CONFIG, OBJECTIVE_REF\n private static async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${EVENTS_TABLE} (\\\n ${EVENTS_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${EVENTS_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.PAYLOAD} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.CONFIG} TEXT,\\\n ${EVENTS_COLUMNS.SYNC_TYPE} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.DATA_LENGTH} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.META} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.SYNC_ERROR} TEXT);`,\n []\n );\n }\n\n async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SEQUENCE},\\\n ${EVENTS_COLUMNS.CONFIG},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values (?,?,?,?,?,?)`,\n [payload, dspID, sequence, config ?? null, syncType, objectiveRef]\n );\n }\n\n private async getWFIPayload(\n _bulkEventData: BulkEvent\n ): Promise<Array<WIUpdateOutputPayload>> {\n const result: Array<WIUpdateOutputPayload> = [];\n const dispatchId = _bulkEventData.dispatchId;\n const { status, timestamp, code, attemptId, updatedBy, mergedObjectiveId } =\n _bulkEventData.meta;\n const outData: any = {};\n const output: WFUpdateBulkEventData = _bulkEventData.data;\n\n let offset = 0;\n let jobMapping: Array<{ jobId: string; workflowInstanceId: string }> =\n await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n do {\n const __unmerged: Array<{ jobId: string; workflowInstanceId: string }> =\n jobMapping;\n\n Object.keys(output).forEach((customETName: string) => {\n outData[customETName] = output[customETName];\n });\n\n result.push({\n dispatchId,\n updatedBy,\n workflows: [\n {\n status,\n attemptId,\n timestamp,\n code,\n data: outData,\n __unmerged,\n meta: {},\n },\n ],\n });\n\n offset += BULK_DATA_LIMIT;\n jobMapping = await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n } while (jobMapping.length > 0);\n\n return result;\n }\n\n private getCustodyPayload(_bulkEventData: BulkEvent) {\n const data: Array<CustodyData> = _bulkEventData.data;\n return data;\n }\n\n private getJobRemovalPayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n return data;\n }\n\n private getDispatchUpdatePayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n const payload = data.payload;\n return payload;\n }\n\n private async _modifyEventData(\n _bulkEventData: BulkEvent\n ): Promise<Array<SyncManagerPayload>> {\n const syncType: ExecEngineSyncType | DispatchSyncType =\n _bulkEventData.syncType;\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n const custodyInScans = this.getCustodyPayload(_bulkEventData);\n return [\n {\n data: {\n action: SyncType.CUSTODY_IN_SCAN,\n payload: { output: custodyInScans },\n },\n length: custodyInScans.length,\n },\n ];\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n const custodyOutScans = this.getCustodyPayload(_bulkEventData);\n\n return [\n {\n data: {\n action: SyncType.CUSTODY_OUT_SCAN,\n payload: { output: custodyOutScans },\n },\n length: custodyOutScans.length,\n },\n ];\n }\n case SyncType.WORKFLOW: {\n const payload = await this.getWFIPayload(_bulkEventData);\n return payload.map((_payload) => ({\n data: { action: SyncType.WORKFLOW, payload: _payload },\n length: _payload.workflows[0].__unmerged?.length || 0,\n }));\n }\n case SyncType.JOB_REMOVAL: {\n const jobRemoval = this.getJobRemovalPayload(_bulkEventData);\n const length =\n jobRemoval?.success?.length + jobRemoval?.failure?.length;\n return [\n {\n data: {\n action: SyncType.JOB_REMOVAL,\n payload: jobRemoval,\n },\n length: length || 0,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n default: {\n return [\n {\n data: {\n action: DispatchSyncType.DEFAULT,\n payload: {},\n },\n length: 0,\n },\n ];\n }\n }\n }\n\n private splitData(data: any, chunkSize: number, splitKey: string): any[] {\n const result: any = [];\n const splitArray = data[splitKey];\n\n if (!splitArray || !Array.isArray(splitArray)) {\n return result;\n }\n\n for (let i = 0; i < splitArray.length; i += chunkSize) {\n const chunk: any = {};\n\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n chunk[key] =\n key === splitKey ? splitArray.slice(i, i + chunkSize) : data[key];\n }\n }\n\n result.push(chunk);\n }\n\n return result;\n }\n\n // NEW CODE\n async insertQueueEvent(_eventData: BulkEvent): Promise<void> {\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n try {\n values.push(`(?,?,?,?)`);\n const _meta = JSON.stringify(_eventData.meta);\n args.push(\n _eventData.data,\n _eventData.dispatchId,\n _eventData.syncType,\n _meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertQueueEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertQueueEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n\n\n // NEW CODE\n async insertBulkEvent(_eventData: BulkEvent): Promise<void> {\n try {\n const output: Array<SyncManagerPayload> = await this._modifyEventData(\n _eventData\n );\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n const _meta = JSON.stringify(_eventData.meta || {});\n\n if (\n _eventData.syncType === SyncType.WORKFLOW ||\n _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n _eventData.syncType === SyncType.CUSTODY_OUT_SCAN ||\n _eventData.syncType === DispatchSyncType.DISPATCH_UPDATE ||\n _eventData.syncType === DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE\n ) {\n output.forEach(\n (syncManagerPayload: SyncManagerPayload, index: number) => {\n const _payload = JSON.stringify(syncManagerPayload.data);\n if (\n isEmptyOrBlank(syncManagerPayload.data.action) ||\n isEmptyOrBlank(_payload)\n ) {\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n values.push(`(?,?,?,?,?)`);\n args.push(\n _payload,\n _eventData.dispatchId,\n _eventData.syncType,\n syncManagerPayload.length,\n _meta\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n }\n );\n\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n // else if (\n // _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n // _eventData.syncType === SyncType.CUSTODY_OUT_SCAN\n // ) {\n // output.forEach(\n // (syncManagerPayload: SyncManagerPayload, index: number) => {\n // const _payload = JSON.stringify(syncManagerPayload);\n // if (\n // isEmptyOrBlank(syncManagerPayload.action) ||\n // isEmptyOrBlank(_payload)\n // ) {\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n // }\n // values.push(`(?,?,?,?)`);\n // args.push(\n // _payload,\n // _eventData.dispatchId,\n // _eventData.syncType,\n // _meta\n // );\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // }\n // );\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } else if (_eventData.syncType === DispatchSyncType.DISPATCH_UPDATE) {\n // }\n else {\n const chunkedData = this.splitData(output, BULK_DATA_LIMIT, 'payload');\n\n chunkedData.forEach((_evData, index) => {\n const _payload = JSON.stringify(_evData.payload);\n if (isEmptyOrBlank(_evData.action) || isEmptyOrBlank(_payload))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n values.push(`(?,?,?,?,?)`);\n args.push(_evData, _eventData.dispatchId, _eventData.syncType, _meta);\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertBulkEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertBulkEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n // OLD CODE\n // async insertBulkEvent(_eventData: BulkEvent[]): Promise<void> {\n // try {\n // let args: any[] = [];\n // let values: any[] = [];\n // let queryData: ExecQuery[] = []; //final data to pass to db\n // let evIndex = 100;\n\n // _eventData.forEach((_evData, index) => {\n // if (\n // !_evData.sequence ||\n // isEmptyOrBlank(_evData.data) ||\n // isEmptyOrBlank(_evData.dispatchId) ||\n // isEmptyOrBlank(_evData.syncType)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n\n // values.push(`(?,?,?,?,?)`);\n // args.push(\n // _evData.data,\n // _evData.dispatchId,\n // // _evData.sequence,\n // _evData.config ? JSON.stringify(_evData.config) : null,\n // _evData.syncType,\n // _evData.meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n // );\n // if (index === evIndex || index === _eventData.length - 1) {\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.CONFIG},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // evIndex = evIndex + evIndex;\n // }\n // });\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } catch (err) {\n // if (this._retries < this.maxRetryCount) {\n // Logger.getInstance().logEvent(\n // 'insertBulkEvent ',\n // this._retries.toString(),\n // LOG_TYPE.SDK_DEBUG\n // );\n // this._retries++;\n // await this.insertBulkEvent(_eventData);\n // } else {\n // this._retries = 0;\n // throw err;\n // }\n // }\n // }\n\n async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n if (dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n async getAllUnsyncedEvents(): Promise<EventRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE} \\\n where ${EVENTS_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllEvents() {\n const deleteEventsQuery = {\n query: `DELETE FROM ${EVENTS_TABLE};`,\n args: [],\n };\n const resetAutoIncrementSequence = {\n query: `UPDATE sqlite_sequence SET seq = 0 WHERE name\n = '${EVENTS_TABLE}';`,\n args: [],\n };\n\n return Database.executeBulkQuery([\n deleteEventsQuery,\n resetAutoIncrementSequence,\n ]);\n }\n\n async updateError(id: number, syncError: string): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} \\\n SET \\\n ${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [syncError, id]\n );\n }\n\n async markEventSynced(id: number): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [id]\n );\n }\n\n async getWorkflowUpdateEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getJobRemovalEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getCustodyBatch(dispatchID: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0 and \\\n (${EVENTS_COLUMNS.SYNC_TYPE} = ? or ${EVENTS_COLUMNS.SYNC_TYPE} = ?) \\\n and ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [SyncType.CUSTODY_IN_SCAN, SyncType.CUSTODY_OUT_SCAN, dispatchID]\n );\n return sqlResult.rows._array;\n }\n async getObjectiveDetails(objectiveRef: string): Promise<EventRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE} WHERE ${EVENTS_COLUMNS.META} = ?;`,\n [objectiveRef]\n );\n return rs.rows._array;\n }\n\n async getRowToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.ID} = ? and \\\n ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [id, dispatchId]\n );\n return sqlResult.rows._array;\n }\n\n async getBulkRowsToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n\n return sqlResult.rows._array;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["isEmptyOrBlank","DispatchSyncType","EVENTS_COLUMNS","EVENTS_TABLE","Database","BaseError","BaseErrorCodes","InvalidArgumentsError","Logger","LOG_TYPE","BULK_DATA_LIMIT","MAX_RETRY_COUNT","PROCESS_MAX_RETRIED_ROWS","DispatchExecutor","IDispatch","SyncType","ETEventsManager","constructor","_defineProperty","getInstance","instance","manager","init","executeQuery","ID","DISPATCH_ID","PAYLOAD","CONFIG","SYNC_TYPE","DATA_LENGTH","META","SYNCED","ATTEMPT_COUNT","SYNC_ERROR","insertPODDocEvent","dspID","syncType","insertEvent","sequence","payload","objectiveRef","config","SEQUENCE","getWFIPayload","_bulkEventData","result","dispatchId","status","timestamp","code","attemptId","updatedBy","mergedObjectiveId","meta","outData","output","data","offset","jobMapping","getJobMapping","__unmerged","Object","keys","forEach","customETName","push","workflows","length","getCustodyPayload","getJobRemovalPayload","getDispatchUpdatePayload","_modifyEventData","CUSTODY_IN_SCAN","custodyInScans","action","CUSTODY_OUT_SCAN","custodyOutScans","WORKFLOW","map","_payload","_payload$workflows$0$","JOB_REMOVAL","_jobRemoval$success","_jobRemoval$failure","jobRemoval","success","failure","DISPATCH_UPDATE","DISPATCH_SUB_STATUS_UPDATE","DEFAULT","splitData","chunkSize","splitKey","splitArray","Array","isArray","i","chunk","key","hasOwnProperty","slice","insertQueueEvent","_eventData","args","values","queryData","_meta","JSON","stringify","query","join","executeBulkQuery","_retries","err","maxRetryCount","logEvent","toString","SDK_DEBUG","insertBulkEvent","syncManagerPayload","index","InvalidArgumentError","chunkedData","_evData","getAllEvents","dispatchID","resultSet","rows","_array","getAllUnsyncedEvents","deleteAllEvents","deleteEventsQuery","resetAutoIncrementSequence","updateError","id","syncError","TypeError","markPODDocEventSynced","sync","attempt","podDocId","markEventSynced","getWorkflowUpdateEvents","sqlResultSet","getJobRemovalEvents","getCustodyBatch","sqlResult","getObjectiveDetails","rs","getRowToSync","getBulkRowsToSync","_class"],"sources":["ETEventsManager.ts"],"sourcesContent":["import { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BulkEvent,\n CustodyData,\n DispatchSyncType,\n EventETData,\n EventRow,\n EVENTS_COLUMNS,\n EVENTS_TABLE,\n SyncManagerPayload,\n ExecEngineSyncType,\n WFUpdateBulkEventData,\n WIUpdateOutputPayload,\n WORKFLOW_INSTANCE_COLUMNS,\n WORKFLOW_INSTANCE_TABLE,\n} from '../DBConfig';\nimport type { ExecQuery } from '../database';\nimport * as Database from '../database';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { BULK_DATA_LIMIT, MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';\nimport Storage from '../../../utils/storage';\n\n// NEW CODE\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class ETEventsManager {\n private static instance: ETEventsManager;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n private constructor() {}\n\n public static async getInstance(): Promise<ETEventsManager> {\n if (!ETEventsManager.instance) {\n let manager = new ETEventsManager();\n await ETEventsManager.init();\n ETEventsManager.instance = manager;\n }\n return ETEventsManager.instance;\n }\n\n // NEED TO REMOVE SYNCED, CONFIG, OBJECTIVE_REF\n private static async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${EVENTS_TABLE} (\\\n ${EVENTS_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${EVENTS_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.PAYLOAD} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.CONFIG} TEXT,\\\n ${EVENTS_COLUMNS.SYNC_TYPE} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.DATA_LENGTH} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.META} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.SYNC_ERROR} TEXT);`,\n []\n );\n }\n\n // This is the function to insert POD_DOC type event in event table.\n async insertPODDocEvent(dspID: string, syncType: string): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(${EVENTS_COLUMNS.DISPATCH_ID},${EVENTS_COLUMNS.SYNC_TYPE},${EVENTS_COLUMNS.PAYLOAD},${EVENTS_COLUMNS.DATA_LENGTH},${EVENTS_COLUMNS.META},${EVENTS_COLUMNS.SYNCED},${EVENTS_COLUMNS.CONFIG},${EVENTS_COLUMNS.SYNC_ERROR}) values (?,?,?,?,?,?,?,?)`,\n [dspID, syncType, '', 1, '', 0, '', '']\n );\n }\n\n async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SEQUENCE},\\\n ${EVENTS_COLUMNS.CONFIG},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values (?,?,?,?,?,?)`,\n [payload, dspID, sequence, config ?? null, syncType, objectiveRef]\n );\n }\n\n private async getWFIPayload(\n _bulkEventData: BulkEvent\n ): Promise<Array<WIUpdateOutputPayload>> {\n const result: Array<WIUpdateOutputPayload> = [];\n const dispatchId = _bulkEventData.dispatchId;\n const { status, timestamp, code, attemptId, updatedBy, mergedObjectiveId } =\n _bulkEventData.meta;\n const outData: any = {};\n const output: WFUpdateBulkEventData = _bulkEventData.data;\n\n let offset = 0;\n let jobMapping: Array<{ jobId: string; workflowInstanceId: string }> =\n await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n do {\n const __unmerged: Array<{ jobId: string; workflowInstanceId: string }> =\n jobMapping;\n\n Object.keys(output).forEach((customETName: string) => {\n outData[customETName] = output[customETName];\n });\n\n result.push({\n dispatchId,\n updatedBy,\n workflows: [\n {\n status,\n attemptId,\n timestamp,\n code,\n data: outData,\n __unmerged,\n meta: {},\n },\n ],\n });\n\n offset += BULK_DATA_LIMIT;\n jobMapping = await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n } while (jobMapping.length > 0);\n\n return result;\n }\n\n private getCustodyPayload(_bulkEventData: BulkEvent) {\n const data: Array<CustodyData> = _bulkEventData.data;\n return data;\n }\n\n private getJobRemovalPayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n return data;\n }\n\n private getDispatchUpdatePayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n const payload = data.payload;\n return payload;\n }\n\n private async _modifyEventData(\n _bulkEventData: BulkEvent\n ): Promise<Array<SyncManagerPayload>> {\n const syncType: ExecEngineSyncType | DispatchSyncType =\n _bulkEventData.syncType;\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n const custodyInScans = this.getCustodyPayload(_bulkEventData);\n return [\n {\n data: {\n action: SyncType.CUSTODY_IN_SCAN,\n payload: { output: custodyInScans },\n },\n length: custodyInScans.length,\n },\n ];\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n const custodyOutScans = this.getCustodyPayload(_bulkEventData);\n\n return [\n {\n data: {\n action: SyncType.CUSTODY_OUT_SCAN,\n payload: { output: custodyOutScans },\n },\n length: custodyOutScans.length,\n },\n ];\n }\n case SyncType.WORKFLOW: {\n const payload = await this.getWFIPayload(_bulkEventData);\n return payload.map((_payload) => ({\n data: { action: SyncType.WORKFLOW, payload: _payload },\n length: _payload.workflows[0].__unmerged?.length || 0,\n }));\n }\n case SyncType.JOB_REMOVAL: {\n const jobRemoval = this.getJobRemovalPayload(_bulkEventData);\n const length =\n jobRemoval?.success?.length + jobRemoval?.failure?.length;\n return [\n {\n data: {\n action: SyncType.JOB_REMOVAL,\n payload: jobRemoval,\n },\n length: length || 0,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n default: {\n return [\n {\n data: {\n action: DispatchSyncType.DEFAULT,\n payload: {},\n },\n length: 0,\n },\n ];\n }\n }\n }\n\n private splitData(data: any, chunkSize: number, splitKey: string): any[] {\n const result: any = [];\n const splitArray = data[splitKey];\n\n if (!splitArray || !Array.isArray(splitArray)) {\n return result;\n }\n\n for (let i = 0; i < splitArray.length; i += chunkSize) {\n const chunk: any = {};\n\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n chunk[key] =\n key === splitKey ? splitArray.slice(i, i + chunkSize) : data[key];\n }\n }\n\n result.push(chunk);\n }\n\n return result;\n }\n\n // NEW CODE\n async insertQueueEvent(_eventData: BulkEvent): Promise<void> {\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n try {\n values.push(`(?,?,?,?)`);\n const _meta = JSON.stringify(_eventData.meta);\n args.push(\n _eventData.data,\n _eventData.dispatchId,\n _eventData.syncType,\n _meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertQueueEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertQueueEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n\n\n // NEW CODE\n async insertBulkEvent(_eventData: BulkEvent): Promise<void> {\n try {\n const output: Array<SyncManagerPayload> = await this._modifyEventData(\n _eventData\n );\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n const _meta = JSON.stringify(_eventData.meta || {});\n\n if (\n _eventData.syncType === SyncType.WORKFLOW ||\n _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n _eventData.syncType === SyncType.CUSTODY_OUT_SCAN ||\n _eventData.syncType === DispatchSyncType.DISPATCH_UPDATE ||\n _eventData.syncType === DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE\n ) {\n output.forEach(\n (syncManagerPayload: SyncManagerPayload, index: number) => {\n const _payload = JSON.stringify(syncManagerPayload.data);\n if (\n isEmptyOrBlank(syncManagerPayload.data.action) ||\n isEmptyOrBlank(_payload)\n ) {\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n values.push(`(?,?,?,?,?)`);\n args.push(\n _payload,\n _eventData.dispatchId,\n _eventData.syncType,\n syncManagerPayload.length,\n _meta\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n }\n );\n\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n // else if (\n // _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n // _eventData.syncType === SyncType.CUSTODY_OUT_SCAN\n // ) {\n // output.forEach(\n // (syncManagerPayload: SyncManagerPayload, index: number) => {\n // const _payload = JSON.stringify(syncManagerPayload);\n // if (\n // isEmptyOrBlank(syncManagerPayload.action) ||\n // isEmptyOrBlank(_payload)\n // ) {\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n // }\n // values.push(`(?,?,?,?)`);\n // args.push(\n // _payload,\n // _eventData.dispatchId,\n // _eventData.syncType,\n // _meta\n // );\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // }\n // );\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } else if (_eventData.syncType === DispatchSyncType.DISPATCH_UPDATE) {\n // }\n else {\n const chunkedData = this.splitData(output, BULK_DATA_LIMIT, 'payload');\n\n chunkedData.forEach((_evData, index) => {\n const _payload = JSON.stringify(_evData.payload);\n if (isEmptyOrBlank(_evData.action) || isEmptyOrBlank(_payload))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n values.push(`(?,?,?,?,?)`);\n args.push(_evData, _eventData.dispatchId, _eventData.syncType, _meta);\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertBulkEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertBulkEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n // OLD CODE\n // async insertBulkEvent(_eventData: BulkEvent[]): Promise<void> {\n // try {\n // let args: any[] = [];\n // let values: any[] = [];\n // let queryData: ExecQuery[] = []; //final data to pass to db\n // let evIndex = 100;\n\n // _eventData.forEach((_evData, index) => {\n // if (\n // !_evData.sequence ||\n // isEmptyOrBlank(_evData.data) ||\n // isEmptyOrBlank(_evData.dispatchId) ||\n // isEmptyOrBlank(_evData.syncType)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n\n // values.push(`(?,?,?,?,?)`);\n // args.push(\n // _evData.data,\n // _evData.dispatchId,\n // // _evData.sequence,\n // _evData.config ? JSON.stringify(_evData.config) : null,\n // _evData.syncType,\n // _evData.meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n // );\n // if (index === evIndex || index === _eventData.length - 1) {\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.CONFIG},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // evIndex = evIndex + evIndex;\n // }\n // });\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } catch (err) {\n // if (this._retries < this.maxRetryCount) {\n // Logger.getInstance().logEvent(\n // 'insertBulkEvent ',\n // this._retries.toString(),\n // LOG_TYPE.SDK_DEBUG\n // );\n // this._retries++;\n // await this.insertBulkEvent(_eventData);\n // } else {\n // this._retries = 0;\n // throw err;\n // }\n // }\n // }\n\n async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n if (dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n async getAllUnsyncedEvents(): Promise<EventRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE} \\\n where ${EVENTS_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllEvents() {\n const deleteEventsQuery = {\n query: `DELETE FROM ${EVENTS_TABLE};`,\n args: [],\n };\n const resetAutoIncrementSequence = {\n query: `UPDATE sqlite_sequence SET seq = 0 WHERE name\n = '${EVENTS_TABLE}';`,\n args: [],\n };\n\n return Database.executeBulkQuery([\n deleteEventsQuery,\n resetAutoIncrementSequence,\n ]);\n }\n\n async updateError(id: number, syncError: string): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} \\\n SET \\\n ${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [syncError, id]\n );\n }\n\n // This function will actualy update the POD_DOC type of event as sync along with attempt count.\n async markPODDocEventSynced(sync: number, attempt:number, podDocId: String): Promise<void> {\n if (!podDocId) throw new TypeError('podDocId cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = ?, ${EVENTS_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${EVENTS_COLUMNS.SYNC_TYPE} = ?;`,\n [sync,attempt,podDocId]\n );\n }\n\n async markEventSynced(id: number): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [id]\n );\n }\n\n async getWorkflowUpdateEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getJobRemovalEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getCustodyBatch(dispatchID: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0 and \\\n (${EVENTS_COLUMNS.SYNC_TYPE} = ? or ${EVENTS_COLUMNS.SYNC_TYPE} = ?) \\\n and ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [SyncType.CUSTODY_IN_SCAN, SyncType.CUSTODY_OUT_SCAN, dispatchID]\n );\n return sqlResult.rows._array;\n }\n async getObjectiveDetails(objectiveRef: string): Promise<EventRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE} WHERE ${EVENTS_COLUMNS.META} = ?;`,\n [objectiveRef]\n );\n return rs.rows._array;\n }\n\n async getRowToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.ID} = ? and \\\n ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [id, dispatchId]\n );\n return sqlResult.rows._array;\n }\n\n async getBulkRowsToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.\n if(PROCESS_MAX_RETRIED_ROWS){\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }else{\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }\n }\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
4
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
5
  import ETEventsManager from './ETEventsManager';
6
6
  import SyncHttpClient from './SyncHttpClient';
7
- import { isEmptyOrBlank } from '../../../utils/utils';
7
+ import { flattenObject, isEmptyOrBlank } from '../../../utils/utils';
8
8
  import { BaseError } from '../../../errors/BaseError';
9
9
  import BaseErrorCodes, { InvalidArgumentsError, InvalidBaseURL, SyncManagerNotInitialized } from '../../../errors/ErrorCodes';
10
10
  import NetworkUtil from '../../../utils/NetworkUtil';
@@ -13,7 +13,8 @@ import { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';
13
13
  const SyncType = IDispatch.SyncType;
14
14
  import DispatchSdkCache from '../../sdk/DispatchSdkCache';
15
15
  import Storage from '../../../utils/storage';
16
- import { LAST_SYNCED_EVENT_ID } from '../constants';
16
+ import { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT } from '../constants';
17
+ import { POD_DOC } from '../constants';
17
18
  const TAG = 'EventsSyncManager';
18
19
  export default class EventsSyncManager {
19
20
  get retries() {
@@ -27,7 +28,7 @@ export default class EventsSyncManager {
27
28
  _defineProperty(this, "inProgress", false);
28
29
  _defineProperty(this, "cScanInProgress", false);
29
30
  _defineProperty(this, "eventsManager", void 0);
30
- _defineProperty(this, "maxRetryCount", 3);
31
+ _defineProperty(this, "maxRetryCount", MAX_RETRY_COUNT);
31
32
  _defineProperty(this, "_retries", 0);
32
33
  }
33
34
  initSyncManager(baseURL, retryCount) {
@@ -55,10 +56,28 @@ export default class EventsSyncManager {
55
56
  const lastSyncedEventId = await Storage.getInstance().getSharedItem(LAST_SYNCED_EVENT_ID);
56
57
  const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(DispatchSdkCache.KEYS.DISPATCH_ID);
57
58
  const bulkEventRows = await this.eventsManager.getBulkRowsToSync(lastSyncedEventId, dspID ?? '');
58
- if (bulkEventRows.length) {
59
- await this.syncBulkEventToServer(bulkEventRows, lastSyncedEventId);
59
+ var arrEventsToSync = [];
60
+
61
+ // Filtering and removing those events which are type of POD_DOC
62
+ for (var index in bulkEventRows) {
63
+ let syncType = bulkEventRows[index].sync_type;
64
+ if (syncType.includes(POD_DOC)) {
65
+ break;
66
+ }
67
+ arrEventsToSync.push(bulkEventRows[index]);
68
+ }
69
+ if (arrEventsToSync.length) {
70
+ await this.syncBulkEventToServer(arrEventsToSync, lastSyncedEventId);
71
+ let extraParameters = {
72
+ bulkEventRows: arrEventsToSync.length
73
+ };
74
+ Logger.getInstance().logEvent('startSync-event-to-sync', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
60
75
  } else {
61
- Logger.getInstance().logEvent('startSync', 'No data to sync in Events Manager', LOG_TYPE.SDK_INFO);
76
+ let extraParameters = {
77
+ bulkEventRows: bulkEventRows.length,
78
+ arrEventsToSync: arrEventsToSync.length
79
+ };
80
+ Logger.getInstance().logEvent('startSync-no-event-to-sync', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
62
81
  }
63
82
 
64
83
  // OLD CODE
@@ -69,16 +88,31 @@ export default class EventsSyncManager {
69
88
  // ];
70
89
  // await Promise.all(promises);
71
90
  } else {
72
- Logger.getInstance().logEvent('startSync', 'NO NETWORK AVAILABLE!!', LOG_TYPE.SDK_INFO);
91
+ let extraParameters = {
92
+ network: hasNetwork
93
+ };
94
+ Logger.getInstance().logEvent('startSync-no network', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
73
95
  }
74
- } catch (error) {} finally {
96
+ } catch (error) {
97
+ Logger.getInstance().logEvent('startSync-error', flattenObject(error), LOG_TYPE.SDK_ERROR);
98
+ } finally {
75
99
  this.inProgress = false;
76
100
  if ((await this.isSyncPending()) && hasNetwork) {
77
101
  await this.startSync();
102
+ } else {
103
+ let extraParameters = {
104
+ hasNetwork: hasNetwork,
105
+ pending: this.isSyncPending()
106
+ };
107
+ Logger.getInstance().logEvent('startSync-inprogress-syncpending-hasnetwork', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
78
108
  }
79
109
  }
80
110
  } else {
81
- Logger.getInstance().logEvent('startSync', 'WORKFLOW/TASK ALREADY IN PROGRESS || Max Retries reached', LOG_TYPE.SDK_INFO);
111
+ let extraParameters = {
112
+ isProgress: this.inProgress,
113
+ retry: this._retries
114
+ };
115
+ Logger.getInstance().logEvent('startSync-inprogress-maxretries', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
82
116
  }
83
117
  }
84
118
 
@@ -164,7 +198,7 @@ export default class EventsSyncManager {
164
198
  try {
165
199
  promises.push(this.eventsManager.updateError(ev.id, errorString));
166
200
  } catch (err) {
167
- Logger.getInstance().logEvent('updateEventError', err.message, LOG_TYPE.SDK_WARNING);
201
+ Logger.getInstance().logEvent('updateEventError', flattenObject(err), LOG_TYPE.SDK_WARNING);
168
202
  }
169
203
  }
170
204
  await Promise.all(promises);
@@ -205,11 +239,20 @@ export default class EventsSyncManager {
205
239
  try {
206
240
  promises.push(await this.eventsManager.markEventSynced(ev.id));
207
241
  } catch (err) {
208
- Logger.getInstance().logEvent('markEventSynced', err.message, LOG_TYPE.SDK_WARNING);
242
+ Logger.getInstance().logEvent('markEventSynced', flattenObject(err), LOG_TYPE.SDK_WARNING);
209
243
  }
210
244
  }
211
245
  await Promise.all(promises);
212
246
  }
247
+
248
+ // This function will insert POD_DOC type of event in event table.
249
+ async insertPODDocEvent(dspID, syncType) {
250
+ if (isEmptyOrBlank(dspID) || isEmptyOrBlank(syncType)) throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);
251
+ if (!this.eventsManager) {
252
+ this.eventsManager = await ETEventsManager.getInstance();
253
+ }
254
+ await this.eventsManager.insertPODDocEvent(dspID, syncType);
255
+ }
213
256
  async insertEvent(sequence, payload, dspID, syncType, objectiveRef, config) {
214
257
  if (!sequence || isEmptyOrBlank(payload) || isEmptyOrBlank(dspID) || isEmptyOrBlank(syncType) || isEmptyOrBlank(objectiveRef)) throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);
215
258
  if (!this.eventsManager) {
@@ -286,50 +329,67 @@ export default class EventsSyncManager {
286
329
  }
287
330
  if (requiredPayload) return requiredPayload.data;else return null;
288
331
  } catch (err) {
289
- Logger.getInstance().logEvent('getObjectiveSummary', err.message, LOG_TYPE.SDK_WARNING);
332
+ Logger.getInstance().logEvent('getObjectiveSummary', flattenObject(err), LOG_TYPE.SDK_WARNING);
290
333
  return null;
291
334
  }
292
335
  }
293
- async syncEventToServer(eventRows, syncType) {
294
- try {
295
- var _this$syncHttpClient;
296
- const success = await ((_this$syncHttpClient = this.syncHttpClient) === null || _this$syncHttpClient === void 0 ? void 0 : _this$syncHttpClient.syncEvent(eventRows, syncType));
297
- if (success) {
298
- this._retries = 0;
299
- // NEW CODE
300
- const lastSyncedEventId = await Storage.getInstance().getSharedItem(LAST_SYNCED_EVENT_ID);
301
- const syncEventId = parseInt(lastSyncedEventId) + 1;
302
- await Storage.getInstance().setSharedItem(LAST_SYNCED_EVENT_ID, `${syncEventId}`);
303
336
 
304
- // OLD CODE
305
- await this.markEventSynced(eventRows);
306
- } else {
307
- this._retries++;
308
- /* Logger.getInstance().logEvent(
309
- 'syncEventToServer',
310
- `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)}`,
311
- LOG_TYPE.SDK_ERROR
312
- ); */
313
- await this.updateEventError(eventRows, 'Unexpected error');
314
- }
315
- } catch (error) {
316
- this._retries++;
317
- /* Logger.getInstance().logEvent(
318
- 'syncEventToServer',
319
- `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)} -: ${
320
- error.message
321
- }`,
322
- LOG_TYPE.SDK_ERROR
323
- ); */
324
- await this.updateEventError(eventRows, JSON.stringify({
325
- error
326
- }));
327
- }
328
- }
337
+ // private async syncEventToServer(
338
+ // eventRows: EventRow[],
339
+ // syncType: ExecEngineSyncType | DispatchSyncType
340
+ // ) {
341
+ // try {
342
+ // const success = await this.syncHttpClient?.syncEvent(eventRows, syncType);
343
+
344
+ // if (success) {
345
+ // this._retries = 0;
346
+ // // NEW CODE
347
+ // const lastSyncedEventId = await Storage.getInstance().getSharedItem(
348
+ // LAST_SYNCED_EVENT_ID
349
+ // );
350
+ // const syncEventId = parseInt(lastSyncedEventId) + 1;
351
+ // await Storage.getInstance().setSharedItem(
352
+ // LAST_SYNCED_EVENT_ID,
353
+ // `${syncEventId}`
354
+ // );
355
+
356
+ // // OLD CODE
357
+ // await this.markEventSynced(eventRows);
358
+ // } else {
359
+ // this._retries++;
360
+ // /* Logger.getInstance().logEvent(
361
+ // 'syncEventToServer',
362
+ // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)}`,
363
+ // LOG_TYPE.SDK_ERROR
364
+ // ); */
365
+ // await this.updateEventError(eventRows, 'Unexpected error');
366
+ // }
367
+ // } catch (error: any) {
368
+ // this._retries++;
369
+ // /* Logger.getInstance().logEvent(
370
+ // 'syncEventToServer',
371
+ // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)} -: ${
372
+ // error.message
373
+ // }`,
374
+ // LOG_TYPE.SDK_ERROR
375
+ // ); */
376
+ // await this.updateEventError(
377
+ // eventRows,
378
+ // JSON.stringify({
379
+ // error,
380
+ // })
381
+ // );
382
+ // }
383
+ // }
384
+
329
385
  async syncBulkEventToServer(eventRows, lastSyncedEventId) {
330
386
  try {
331
- var _this$syncHttpClient2;
332
- const success = await ((_this$syncHttpClient2 = this.syncHttpClient) === null || _this$syncHttpClient2 === void 0 ? void 0 : _this$syncHttpClient2.syncBulkEvent(eventRows));
387
+ var _this$syncHttpClient;
388
+ const success = await ((_this$syncHttpClient = this.syncHttpClient) === null || _this$syncHttpClient === void 0 ? void 0 : _this$syncHttpClient.syncBulkEvent(eventRows));
389
+ let extraParameters = {
390
+ success: success
391
+ };
392
+ Logger.getInstance().logEvent('syncBulkEventToServer-syncBulkEvent-success-true', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
333
393
  if (success) {
334
394
  this._retries = 0;
335
395
  // NEW CODE
@@ -339,24 +399,22 @@ export default class EventsSyncManager {
339
399
 
340
400
  // OLD CODE
341
401
  await this.markEventSynced(eventRows);
402
+ let extraParameters = {
403
+ retries: this._retries,
404
+ lastSyncEventId: syncEventId
405
+ };
406
+ Logger.getInstance().logEvent('syncBulkEventToServer-markEventSynced', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
342
407
  } else {
343
408
  this._retries++;
344
- /* Logger.getInstance().logEvent(
345
- 'syncEventToServer',
346
- `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)}`,
347
- LOG_TYPE.SDK_ERROR
348
- ); */
349
409
  await this.updateEventError(eventRows, 'Unexpected error');
410
+ let extraParameters = {
411
+ success: success
412
+ };
413
+ Logger.getInstance().logEvent('syncBulkEventToServer-syncBulkEvent-success-false', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
350
414
  }
351
415
  } catch (error) {
352
416
  this._retries++;
353
- /* Logger.getInstance().logEvent(
354
- 'syncEventToServer',
355
- `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)} -: ${
356
- error.message
357
- }`,
358
- LOG_TYPE.SDK_ERROR
359
- ); */
417
+ Logger.getInstance().logEvent('syncBulkEventToServer-error', flattenObject(error), LOG_TYPE.SDK_ERROR);
360
418
  await this.updateEventError(eventRows, JSON.stringify({
361
419
  error
362
420
  }));