@os1-platform/dispatch-mobile 3.1.6 → 3.1.8

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 (107) hide show
  1. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  2. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  3. package/android/build.gradle +4 -2
  4. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +38 -45
  5. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  6. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +121 -108
  7. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
  8. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +1 -0
  9. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  10. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +3 -5
  11. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  12. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +62 -57
  13. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  14. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +0 -1
  15. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  16. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +6 -56
  17. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  18. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +5 -6
  19. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  20. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js +2 -1
  21. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  22. package/lib/commonjs/network/client.js +8 -1
  23. package/lib/commonjs/network/client.js.map +1 -1
  24. package/lib/commonjs/ui/screens/CollectPaymentScreen.js +12 -18
  25. package/lib/commonjs/ui/screens/CollectPaymentScreen.js.map +1 -1
  26. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +3 -2
  27. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  28. package/lib/commonjs/ui/screens/DeliverScreen.js +13 -8
  29. package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
  30. package/lib/commonjs/ui/screens/DropCashScreen.js +14 -12
  31. package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
  32. package/lib/commonjs/ui/screens/ImageCaptureScreen.js +2 -2
  33. package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/PickupScreen.js +3 -8
  35. package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +2 -2
  37. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
  38. package/lib/commonjs/utils/Constants.js +1 -2
  39. package/lib/commonjs/utils/Constants.js.map +1 -1
  40. package/lib/commonjs/utils/Logger.js +20 -8
  41. package/lib/commonjs/utils/Logger.js.map +1 -1
  42. package/lib/commonjs/utils/SdkUtils.js +1 -0
  43. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  44. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +38 -45
  45. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  46. package/lib/module/manager/dispatch/DispatchStateContainer.js +121 -108
  47. package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
  48. package/lib/module/manager/sdk/DispatchSDKManager.js +1 -0
  49. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  50. package/lib/module/manager/syncmanager/AppSyncManager.js +3 -5
  51. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  52. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +62 -57
  53. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  54. package/lib/module/manager/syncmanager/document/DocumentManager.js +0 -1
  55. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  56. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +6 -56
  57. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  58. package/lib/module/manager/syncmanager/events/EventsSyncManager.js +5 -6
  59. package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  60. package/lib/module/manager/syncmanager/events/SyncHttpClient.js +2 -1
  61. package/lib/module/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  62. package/lib/module/network/client.js +8 -1
  63. package/lib/module/network/client.js.map +1 -1
  64. package/lib/module/ui/screens/CollectPaymentScreen.js +12 -18
  65. package/lib/module/ui/screens/CollectPaymentScreen.js.map +1 -1
  66. package/lib/module/ui/screens/CompleteObjectiveScreen.js +3 -2
  67. package/lib/module/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  68. package/lib/module/ui/screens/DeliverScreen.js +13 -8
  69. package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
  70. package/lib/module/ui/screens/DropCashScreen.js +13 -12
  71. package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
  72. package/lib/module/ui/screens/ImageCaptureScreen.js +2 -2
  73. package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
  74. package/lib/module/ui/screens/PickupScreen.js +3 -8
  75. package/lib/module/ui/screens/PickupScreen.js.map +1 -1
  76. package/lib/module/ui/screens/StartWorkFlowScreen.js +2 -2
  77. package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
  78. package/lib/module/utils/Constants.js +1 -2
  79. package/lib/module/utils/Constants.js.map +1 -1
  80. package/lib/module/utils/Logger.js +20 -8
  81. package/lib/module/utils/Logger.js.map +1 -1
  82. package/lib/module/utils/SdkUtils.js +1 -0
  83. package/lib/module/utils/SdkUtils.js.map +1 -1
  84. package/lib/typescript/network/client.d.ts +2 -1
  85. package/lib/typescript/utils/Constants.d.ts +1 -1
  86. package/lib/typescript/utils/Logger.d.ts +3 -1
  87. package/package.json +2 -2
  88. package/src/components/executiontasks/imageCapture/ImageCapture.tsx +43 -54
  89. package/src/manager/dispatch/DispatchStateContainer.tsx +158 -164
  90. package/src/manager/sdk/DispatchSDKManager.ts +2 -1
  91. package/src/manager/syncmanager/AppSyncManager.ts +3 -17
  92. package/src/manager/syncmanager/document/DocumentHttpClient.ts +90 -86
  93. package/src/manager/syncmanager/document/DocumentManager.ts +0 -1
  94. package/src/manager/syncmanager/document/DocumentSyncManager.ts +6 -76
  95. package/src/manager/syncmanager/events/EventsSyncManager.ts +8 -29
  96. package/src/manager/syncmanager/events/SyncHttpClient.ts +2 -5
  97. package/src/network/client.ts +12 -2
  98. package/src/ui/screens/CollectPaymentScreen.tsx +14 -33
  99. package/src/ui/screens/CompleteObjectiveScreen.tsx +3 -6
  100. package/src/ui/screens/DeliverScreen.tsx +16 -11
  101. package/src/ui/screens/DropCashScreen.tsx +10 -10
  102. package/src/ui/screens/ImageCaptureScreen.tsx +2 -2
  103. package/src/ui/screens/PickupScreen.tsx +5 -12
  104. package/src/ui/screens/StartWorkFlowScreen.tsx +1 -1
  105. package/src/utils/Constants.ts +1 -2
  106. package/src/utils/Logger.ts +26 -18
  107. package/src/utils/SdkUtils.ts +1 -0
@@ -147,6 +147,7 @@ export default class DispatchStateContainer {
147
147
  maxTaskReattempt,
148
148
  eventSyncBatchSize: BULK_DATA_LIMIT,
149
149
  });
150
+ Logger.getInstance().logCora("Info", `DispatchExecutor started with ID: ${dispatchID}`);
150
151
  }
151
152
 
152
153
  // NEW CODE
@@ -166,14 +167,9 @@ export default class DispatchStateContainer {
166
167
  statusFilter: IDispatchExecutor.ExecutionStatus[]
167
168
  ): Promise<IDispatch.IExecutionTaskQueryResponse[]> {
168
169
  if (!mergedObjectiveId) {
169
- Logger.getInstance().logEvent(
170
- 'queryNextET',
171
- 'CONSTRAINTS FAILED',
172
- LOG_TYPE.SDK_ERROR
173
- );
170
+ Logger.getInstance().logCora("Error", `Merged Objective ID is null`);
174
171
  throw new BaseError(ErrorCodes.MERGING_ERROR, 'CONSTRAINTS FAILED');
175
172
  }
176
-
177
173
  return await dispatchExecutor.getNextTask(
178
174
  mergedObjectiveId[0],
179
175
  statusFilter
@@ -185,36 +181,40 @@ export default class DispatchStateContainer {
185
181
  prefixedMergedObjectiveId: Array<string>,
186
182
  prefixKey: string
187
183
  ) {
188
- etOutput.mergedObjectiveIds = prefixedMergedObjectiveId;
189
- let storage = Storage.getInstance();
190
- const output = await storage.getSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT);
191
-
192
- if (output) {
193
- const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE =
194
- JSON.parse(output);
195
- let _scanETOutput: ScannerOutput = {};
196
- if (scanETOutput[prefixKey]) {
197
- _scanETOutput = scanETOutput[prefixKey];
184
+ try {
185
+ etOutput.mergedObjectiveIds = prefixedMergedObjectiveId;
186
+ let storage = Storage.getInstance();
187
+ const output = await storage.getSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT);
188
+
189
+ if (output) {
190
+ const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE =
191
+ JSON.parse(output);
192
+ let _scanETOutput: ScannerOutput = {};
193
+ if (scanETOutput[prefixKey]) {
194
+ _scanETOutput = scanETOutput[prefixKey];
195
+ }
196
+ prefixedMergedObjectiveId.forEach((mergedId: string) => {
197
+ _scanETOutput[mergedId] = etOutput;
198
+ });
199
+
200
+ // SAVE IN SHARED PREFERENCE
201
+ await storage.setSharedItem(
202
+ SHARED_PREFERENCE_SCAN_OUTPUT,
203
+ JSON.stringify({ ...scanETOutput, [prefixKey]: _scanETOutput })
204
+ );
205
+ } else {
206
+ const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE = {};
207
+ prefixedMergedObjectiveId.forEach((mergedId: string) => {
208
+ scanETOutput[mergedId] = etOutput;
209
+ });
210
+ // SAVE IN SHARED PREFERENCE
211
+ await storage.setSharedItem(
212
+ SHARED_PREFERENCE_SCAN_OUTPUT,
213
+ JSON.stringify({ [prefixKey]: scanETOutput })
214
+ );
198
215
  }
199
- prefixedMergedObjectiveId.forEach((mergedId: string) => {
200
- _scanETOutput[mergedId] = etOutput;
201
- });
202
-
203
- // SAVE IN SHARED PREFERENCE
204
- await storage.setSharedItem(
205
- SHARED_PREFERENCE_SCAN_OUTPUT,
206
- JSON.stringify({ ...scanETOutput, [prefixKey]: _scanETOutput })
207
- );
208
- } else {
209
- const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE = {};
210
- prefixedMergedObjectiveId.forEach((mergedId: string) => {
211
- scanETOutput[mergedId] = etOutput;
212
- });
213
- // SAVE IN SHARED PREFERENCE
214
- await storage.setSharedItem(
215
- SHARED_PREFERENCE_SCAN_OUTPUT,
216
- JSON.stringify({ [prefixKey]: scanETOutput })
217
- );
216
+ } catch (error: any) {
217
+ Logger.getInstance().logCora("Error", `updateScanETOutputSharedPreference: ${error}`);
218
218
  }
219
219
  }
220
220
 
@@ -223,28 +223,34 @@ export default class DispatchStateContainer {
223
223
  prefixedMergedObjectiveId: Array<string>,
224
224
  prefixKey: string
225
225
  ) {
226
- let storage = Storage.getInstance();
227
- const mergedIdOutput = await storage.getSharedItem(
228
- SCAN_MERGED_OBJ_ID_OUTPUT
229
- );
226
+ try {
230
227
 
231
- if (mergedIdOutput) {
232
- const mergedIds = JSON.parse(mergedIdOutput);
233
- const _mergedIds = mergedIds[prefixKey];
234
- if (_mergedIds) {
235
- if (eventType) {
236
- _mergedIds.success.push(...prefixedMergedObjectiveId);
237
- _mergedIds.pending = [];
238
- } else {
239
- _mergedIds.failure.push(...prefixedMergedObjectiveId);
240
- _mergedIds.pending = [];
241
- }
242
228
 
243
- await storage.setSharedItem(
244
- SCAN_MERGED_OBJ_ID_OUTPUT,
245
- JSON.stringify({ ...mergedIds, [prefixKey]: _mergedIds })
246
- );
229
+ let storage = Storage.getInstance();
230
+ const mergedIdOutput = await storage.getSharedItem(
231
+ SCAN_MERGED_OBJ_ID_OUTPUT
232
+ );
233
+
234
+ if (mergedIdOutput) {
235
+ const mergedIds = JSON.parse(mergedIdOutput);
236
+ const _mergedIds = mergedIds[prefixKey];
237
+ if (_mergedIds) {
238
+ if (eventType) {
239
+ _mergedIds.success.push(...prefixedMergedObjectiveId);
240
+ _mergedIds.pending = [];
241
+ } else {
242
+ _mergedIds.failure.push(...prefixedMergedObjectiveId);
243
+ _mergedIds.pending = [];
244
+ }
245
+
246
+ await storage.setSharedItem(
247
+ SCAN_MERGED_OBJ_ID_OUTPUT,
248
+ JSON.stringify({ ...mergedIds, [prefixKey]: _mergedIds })
249
+ );
250
+ }
247
251
  }
252
+ } catch (error: any) {
253
+ Logger.getInstance().logCora("Error", `updatePendingSharedPreference: ${error}`);
248
254
  }
249
255
  }
250
256
 
@@ -254,113 +260,117 @@ export default class DispatchStateContainer {
254
260
  states: any,
255
261
  isMergedObjectiveBasedOutput?: boolean
256
262
  ) {
257
- const mergedObjectiveIds =
258
- states[RouteParams.NEXT_STATES].mergedObjectiveIds;
259
- const taskName = states[RouteParams.NEXT_STATES].taskName;
260
- const taskID = states[RouteParams.NEXT_STATES].taskId;
261
- const input = states[RouteParams.NEXT_STATES].input;
262
- let lockTaskResponse: boolean = true;
263
-
264
- if (isMergedObjectiveBasedOutput) {
265
- // NEW CODE
266
- const output = etOutput;
267
- let promises: any = [];
268
-
269
- const prefixKey = this.findPrefixKey(
270
- mergedObjectiveIds,
271
- etOutput,
272
- states
273
- );
263
+ try {
264
+ const mergedObjectiveIds =
265
+ states[RouteParams.NEXT_STATES].mergedObjectiveIds;
266
+ const taskName = states[RouteParams.NEXT_STATES].taskName;
267
+ const taskID = states[RouteParams.NEXT_STATES].taskId;
268
+ const input = states[RouteParams.NEXT_STATES].input;
269
+ let lockTaskResponse: boolean = true;
270
+
271
+ if (isMergedObjectiveBasedOutput) {
272
+ // NEW CODE
273
+ const output = etOutput;
274
+ let promises: any = [];
275
+
276
+ const prefixKey = this.findPrefixKey(
277
+ mergedObjectiveIds,
278
+ etOutput,
279
+ states
280
+ );
274
281
 
275
- let defaultConfig: { index: number; success: boolean; output: any } = {
276
- index: -1,
277
- success: false,
278
- output: {},
279
- };
280
- let mergedIds: SCANNED_RECORD = {
281
- success: [],
282
- failure: [],
283
- pending: [prefixKey],
284
- };
285
- const filterIds = await getScanMergedObjectID();
286
- if (filterIds) {
287
- mergedIds = filterIds[prefixKey];
288
- }
282
+ let defaultConfig: { index: number; success: boolean; output: any } = {
283
+ index: -1,
284
+ success: false,
285
+ output: {},
286
+ };
287
+ let mergedIds: SCANNED_RECORD = {
288
+ success: [],
289
+ failure: [],
290
+ pending: [prefixKey],
291
+ };
292
+ const filterIds = await getScanMergedObjectID();
293
+ if (filterIds) {
294
+ mergedIds = filterIds[prefixKey];
295
+ }
289
296
 
290
- Object.keys(etOutput).forEach((mergedObjectiveId) => {
291
- const _output = output[mergedObjectiveId].output;
292
- // PREFIX_KEY
293
- if (mergedObjectiveId === 'default') {
294
- const defaultOutput = output.default.output;
295
- // DELIVER AT DIFF LOCATION
296
- if (defaultOutput.eventCode === REASON_NOT_USED) {
297
- // DO NOT SEND OUTPUT WHEN DELIVER AT DIFF LOCATION
298
- defaultOutput.eventCode = '';
299
- defaultOutput.reasonCode = '';
300
- lockTaskResponse = false;
297
+ Object.keys(etOutput).forEach((mergedObjectiveId) => {
298
+ const _output = output[mergedObjectiveId].output;
299
+ // PREFIX_KEY
300
+ if (mergedObjectiveId === 'default') {
301
+ const defaultOutput = output.default.output;
302
+ // DELIVER AT DIFF LOCATION
303
+ if (defaultOutput.eventCode === REASON_NOT_USED) {
304
+ // DO NOT SEND OUTPUT WHEN DELIVER AT DIFF LOCATION
305
+ defaultOutput.eventCode = '';
306
+ defaultOutput.reasonCode = '';
307
+ lockTaskResponse = false;
308
+ } else {
309
+ defaultConfig = {
310
+ index: promises.length,
311
+ success: defaultOutput.success,
312
+ output: output.default,
313
+ };
314
+
315
+ promises.push(
316
+ dispatchExecutor.saveTaskOutput(
317
+ mergedIds.pending,
318
+ taskName,
319
+ taskID,
320
+ {
321
+ input,
322
+ output: defaultOutput,
323
+ },
324
+ {
325
+ ec: defaultOutput.eventCode,
326
+ rc: defaultOutput.reasonCode || '',
327
+ }
328
+ )
329
+ );
330
+ }
301
331
  } else {
302
- defaultConfig = {
303
- index: promises.length,
304
- success: defaultOutput.success,
305
- output: output.default,
306
- };
307
-
308
332
  promises.push(
309
333
  dispatchExecutor.saveTaskOutput(
310
- mergedIds.pending,
334
+ [mergedObjectiveId],
311
335
  taskName,
312
336
  taskID,
313
337
  {
314
338
  input,
315
- output: defaultOutput,
316
- },
317
- {
318
- ec: defaultOutput.eventCode,
319
- rc: defaultOutput.reasonCode || '',
339
+ output: _output,
320
340
  }
321
341
  )
322
342
  );
323
343
  }
324
- } else {
325
- promises.push(
326
- dispatchExecutor.saveTaskOutput(
327
- [mergedObjectiveId],
328
- taskName,
329
- taskID,
330
- {
331
- input,
332
- output: _output,
333
- }
334
- )
335
- );
336
- }
337
- });
344
+ });
338
345
 
339
- const response = await Promise.all(promises);
346
+ const response = await Promise.all(promises);
340
347
 
341
- if (defaultConfig.index !== -1) {
342
- // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT
343
- this.updatePendingSharedPreference(
344
- defaultConfig.success,
345
- response[defaultConfig.index],
346
- prefixKey
347
- );
348
- this.updateScanETOutputSharedPreference(
349
- defaultConfig.output,
350
- response[defaultConfig.index],
351
- prefixKey
348
+ if (defaultConfig.index !== -1) {
349
+ // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT
350
+ this.updatePendingSharedPreference(
351
+ defaultConfig.success,
352
+ response[defaultConfig.index],
353
+ prefixKey
354
+ );
355
+ this.updateScanETOutputSharedPreference(
356
+ defaultConfig.output,
357
+ response[defaultConfig.index],
358
+ prefixKey
359
+ );
360
+ }
361
+ } else {
362
+ await dispatchExecutor.saveTaskOutput(
363
+ mergedObjectiveIds,
364
+ taskName,
365
+ taskID,
366
+ {
367
+ input,
368
+ output: etOutput,
369
+ }
352
370
  );
353
371
  }
354
- } else {
355
- await dispatchExecutor.saveTaskOutput(
356
- mergedObjectiveIds,
357
- taskName,
358
- taskID,
359
- {
360
- input,
361
- output: etOutput,
362
- }
363
- );
372
+ } catch (error: any) {
373
+ Logger.getInstance().logCora("Error", `sendETOutput: ${error}`);
364
374
  }
365
375
  }
366
376
 
@@ -422,11 +432,7 @@ export default class DispatchStateContainer {
422
432
  return response;
423
433
  } else return response;
424
434
  } catch (error: any) {
425
- Logger.getInstance().logEvent(
426
- 'getObjectiveSummary',
427
- error.message,
428
- LOG_TYPE.SDK_ERROR
429
- );
435
+ Logger.getInstance().logCora("Error", `getObjectiveSummary: ${error}`);
430
436
  return [];
431
437
  }
432
438
  }
@@ -626,11 +632,7 @@ export default class DispatchStateContainer {
626
632
  }
627
633
  } catch (error: any) {
628
634
  baseETProps.showProgress(false);
629
- Logger.getInstance().logEvent(
630
- 'navigateToNextTask',
631
- error.message,
632
- LOG_TYPE.SDK_ERROR
633
- );
635
+ Logger.getInstance().logCora("Error", `navigateToNextTask: ${error}`);
634
636
  }
635
637
  }
636
638
 
@@ -807,11 +809,7 @@ export default class DispatchStateContainer {
807
809
  }
808
810
  } catch (error: any) {
809
811
  baseETProps.showProgress(false);
810
- Logger.getInstance().logEvent(
811
- 'moveToNextET',
812
- error.message,
813
- LOG_TYPE.SDK_ERROR
814
- );
812
+ Logger.getInstance().logCora("Error", `moveToNextET: ${error}`);
815
813
  }
816
814
  }
817
815
 
@@ -834,11 +832,7 @@ export default class DispatchStateContainer {
834
832
  isLastTask
835
833
  );
836
834
  } catch (error: any) {
837
- Logger.getInstance().logEvent(
838
- 'saveAndProceed',
839
- error.message,
840
- LOG_TYPE.SDK_ERROR
841
- );
835
+ Logger.getInstance().logCora("Error", `saveAndProceedToNextET: ${error}`);
842
836
  baseETProps.showProgress(false);
843
837
  showToast(error.message);
844
838
  }
@@ -23,7 +23,7 @@ export class DispatchSDKManager {
23
23
  private cache: DispatchSdkCache = DispatchSdkCache.getInstance();
24
24
  private keys = DispatchSdkCache.KEYS;
25
25
 
26
- private constructor() {}
26
+ private constructor() { }
27
27
 
28
28
  public static getInstance(): DispatchSDKManager {
29
29
  if (!DispatchSDKManager.instance) {
@@ -104,6 +104,7 @@ export class DispatchSDKManager {
104
104
  sdkConfig.debugLevelLog ? 'debug' : 'emerg'
105
105
  );
106
106
  AppSyncManager.getInstance().startSDKSyncManager();
107
+ Logger.getInstance().logCora("Info", "Dispatch SDK Initialized");
107
108
  }
108
109
 
109
110
  public removeLocationUpdates() {
@@ -61,11 +61,7 @@ export default class AppSyncManager {
61
61
  ): AppSyncManager {
62
62
  // removing this check to allow tenant change in app due to this manager instance did't re-init and event and docs didn't sync
63
63
  // if (!AppSyncManager.instance) {
64
- Logger.getInstance().logEvent(
65
- 'initAppSync',
66
- 'CREATING NEW INSTANCE',
67
- LOG_TYPE.SDK_INFO
68
- );
64
+ Logger.getInstance().logCora("Info", `AppSyncManager initialized with ${tenantBaseURL}`);
69
65
  AppSyncManager.instance = new AppSyncManager(
70
66
  tenantBaseURL,
71
67
  syncRetryCount
@@ -108,11 +104,7 @@ export default class AppSyncManager {
108
104
  AppSyncManager.getInstance().isSyncActive = false;
109
105
  }
110
106
  } catch (error: any) {
111
- Logger.getInstance().logEvent(
112
- 'startAppSyncManager',
113
- `Unable to start App Sync Manager ${error.message}`,
114
- LOG_TYPE.SDK_WARNING
115
- );
107
+ Logger.getInstance().logCora("Error", `AppSyncManager startAppSyncManager: ${error}`);
116
108
  }
117
109
  }
118
110
 
@@ -176,13 +168,7 @@ export default class AppSyncManager {
176
168
  AppSyncManager.getInstance().startSDKSyncManager();
177
169
  return true;
178
170
  } catch (error: any) {
179
- Logger.getInstance().logEvent(
180
- 'pushToQueue ',
181
- JSON.stringify({
182
- errorMessage: error.message,
183
- }),
184
- LOG_TYPE.SDK_ERROR
185
- );
171
+ Logger.getInstance().logCora("Error", `AppSyncManager pushToQueue: ${error}`);
186
172
  return false;
187
173
  }
188
174
  }
@@ -18,100 +18,106 @@ export default class DocumentHttpClient extends HttpClient {
18
18
  constructor(baseURL: string) {
19
19
  super(baseURL);
20
20
  }
21
+
21
22
  public async uploadDocument(document: DocumentRow): Promise<string | null> {
22
- if (document.base64 && document.data != null) {
23
- const response = await this.uploadBase64File(document);
24
- let info = '';
25
- if (
26
- response &&
27
- response.data !== null &&
28
- response.data.body !== null &&
29
- response.status !== 202
30
- ) {
31
- let body = response.data.body;
32
- info = body.substring(40);
33
- } else {
34
- info = String(response.status);
35
- }
36
- let extraParameters = {
37
- response: info,
38
- fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4) : '',
39
- dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4) : '',
40
- dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9) : ''
41
- };
23
+ try {
24
+ if (document.base64 && document.data != null) {
25
+ const response = await this.uploadBase64File(document);
26
+ let info = '';
27
+ if (
28
+ response &&
29
+ response.data !== null &&
30
+ response.data.body !== null &&
31
+ response.status !== 202
32
+ ) {
33
+ let body = response.data.body;
34
+ info = body.substring(40);
35
+ } else {
36
+ info = String(response.status);
37
+ }
38
+ let extraParameters = {
39
+ response: info,
40
+ fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4) : '',
41
+ dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4) : '',
42
+ dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9) : ''
43
+ };
42
44
 
43
- fireEventWithScreenName({
44
- severityLevel: SeverityLevelValue.LOG,
45
- eventName: SentryEventNameSdkConstants.API_RESPONSE,
46
- screenName: 'uploadDocument:Upload_Base64_File_Response',
47
- extraParams: extraParameters,
48
- });
45
+ fireEventWithScreenName({
46
+ severityLevel: SeverityLevelValue.LOG,
47
+ eventName: SentryEventNameSdkConstants.API_RESPONSE,
48
+ screenName: 'uploadDocument:Upload_Base64_File_Response',
49
+ extraParams: extraParameters,
50
+ });
49
51
 
50
- Logger.getInstance().logEvent(
51
- 'uploadDocument:uploadBase64FileResponse',
52
- flattenObject(extraParameters),
53
- LOG_TYPE.SDK_ERROR
54
- );
55
- if (
56
- response &&
57
- response.data != null &&
58
- response.data.data != null &&
59
- response.data.data.id &&
60
- response.status === 202
61
- ) {
62
- return response.data.data.id;
63
- } else {
64
- return null;
65
- }
66
- } else {
67
- const uploadResponse = await this.uploadBinaryFile(document);
68
- let info = '';
69
- if (
70
- uploadResponse &&
71
- uploadResponse.body !== null &&
72
- uploadResponse.status !== 202
73
- ) {
74
- let body = uploadResponse.body;
75
- info = body.substring(40);
52
+ Logger.getInstance().logEvent(
53
+ 'uploadDocument:uploadBase64FileResponse',
54
+ flattenObject(extraParameters),
55
+ LOG_TYPE.SDK_ERROR
56
+ );
57
+ if (
58
+ response &&
59
+ response.data != null &&
60
+ response.data.data != null &&
61
+ response.data.data.id &&
62
+ response.status === 202
63
+ ) {
64
+ return response.data.data.id;
65
+ } else {
66
+ return null;
67
+ }
76
68
  } else {
77
- info = String(uploadResponse.status);
78
- }
79
- let extraParameters = {
80
- response: info,
81
- fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4) : '',
82
- dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4) : '',
83
- dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9) : ''
84
- };
69
+ const uploadResponse = await this.uploadBinaryFile(document);
70
+ let info = '';
71
+ if (
72
+ uploadResponse &&
73
+ uploadResponse.body !== null &&
74
+ uploadResponse.status !== 202
75
+ ) {
76
+ let body = uploadResponse.body;
77
+ info = body.substring(40);
78
+ } else {
79
+ info = String(uploadResponse.status);
80
+ }
81
+ let extraParameters = {
82
+ response: info,
83
+ fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4) : '',
84
+ dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4) : '',
85
+ dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9) : ''
86
+ };
85
87
 
86
- fireEventWithScreenName({
87
- severityLevel: SeverityLevelValue.LOG,
88
- eventName: SentryEventNameSdkConstants.API_RESPONSE,
89
- screenName: 'uploadDocument:Upload_Binary_File_Response',
90
- extraParams: extraParameters,
91
- });
92
- Logger.getInstance().logEvent(
93
- 'uploadDocument:uploadBinaryFileResponse',
94
- flattenObject(extraParameters),
95
- LOG_TYPE.SDK_ERROR
96
- );
97
- if (
98
- uploadResponse != null &&
99
- uploadResponse.status === 202 &&
100
- uploadResponse.body != null
101
- ) {
88
+ fireEventWithScreenName({
89
+ severityLevel: SeverityLevelValue.LOG,
90
+ eventName: SentryEventNameSdkConstants.API_RESPONSE,
91
+ screenName: 'uploadDocument:Upload_Binary_File_Response',
92
+ extraParams: extraParameters,
93
+ });
102
94
  Logger.getInstance().logEvent(
103
- 'uploadDocument:DeletingFiles',
95
+ 'uploadDocument:uploadBinaryFileResponse',
104
96
  flattenObject(extraParameters),
105
97
  LOG_TYPE.SDK_ERROR
106
98
  );
107
- FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE
108
- if (document?.processed_file_path != null && document?.processed_file_path != '') {
109
- FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE
99
+ if (
100
+ uploadResponse != null &&
101
+ uploadResponse.status === 202 &&
102
+ uploadResponse.body != null
103
+ ) {
104
+ Logger.getInstance().logEvent(
105
+ 'uploadDocument:DeletingFiles',
106
+ flattenObject(extraParameters),
107
+ LOG_TYPE.SDK_ERROR
108
+ );
109
+ FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE
110
+ if (document?.processed_file_path != null && document?.processed_file_path != '') {
111
+ FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE
112
+ }
113
+ return JSON.parse(uploadResponse.body)?.data?.id;
114
+ } else {
115
+ return null;
110
116
  }
111
- return JSON.parse(uploadResponse.body)?.data?.id;
112
- } else {
113
- return null;
114
117
  }
118
+ } catch (error: any) {
119
+ Logger.getInstance().logCora("Error", `DocumentHttpClient uploadDocument: ${error}`);
120
+ return null;
115
121
  }
116
122
  }
117
123
 
@@ -185,7 +191,6 @@ export default class DocumentHttpClient extends HttpClient {
185
191
  private async uploadBinaryFile(
186
192
  document: DocumentRow
187
193
  ): Promise<FileSystemUploadResult> {
188
-
189
194
  let sdkConfig = (await cache.getObjectFromCache(
190
195
  cacheKeys.SDK_CONFIG
191
196
  )) as DispatchSDKConfig;
@@ -203,8 +208,7 @@ export default class DocumentHttpClient extends HttpClient {
203
208
  }
204
209
  const fileStat = await RNFS.stat(filePathToUpload);
205
210
 
206
- const url =
207
- sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
211
+ const url = sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
208
212
 
209
213
  let extraParameters = {
210
214
  fSize: fileStat.size + " b",
@@ -57,7 +57,6 @@ export default class DocumentManager {
57
57
  processedFilePath?: string | null,
58
58
  priority?: number
59
59
  ): Promise<SQLResultSet> {
60
- console.log('insertDocument2:', fmsFolderID);
61
60
  return await Database.executeQuery(
62
61
  `INSERT INTO ${DOCUMENT_TABLE}(\
63
62
  ${DOCUMENT_COLUMNS.DATA},\