@os1-platform/dispatch-mobile 3.1.6 → 3.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
- package/android/build.gradle +4 -2
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +38 -45
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +121 -108
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +1 -0
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/AppSyncManager.js +3 -5
- package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +62 -57
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +0 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +6 -56
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +5 -6
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js +2 -1
- package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
- package/lib/commonjs/network/client.js +8 -1
- package/lib/commonjs/network/client.js.map +1 -1
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js +12 -18
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +3 -2
- package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DeliverScreen.js +13 -8
- package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DropCashScreen.js +14 -12
- package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ImageCaptureScreen.js +2 -2
- package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PickupScreen.js +3 -8
- package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +2 -2
- package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
- package/lib/commonjs/utils/Constants.js +1 -2
- package/lib/commonjs/utils/Constants.js.map +1 -1
- package/lib/commonjs/utils/Logger.js +20 -8
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/commonjs/utils/SdkUtils.js +1 -0
- package/lib/commonjs/utils/SdkUtils.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +38 -45
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/manager/dispatch/DispatchStateContainer.js +121 -108
- package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +1 -0
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/syncmanager/AppSyncManager.js +3 -5
- package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +62 -57
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js +0 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +6 -56
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js +5 -6
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/SyncHttpClient.js +2 -1
- package/lib/module/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
- package/lib/module/network/client.js +8 -1
- package/lib/module/network/client.js.map +1 -1
- package/lib/module/ui/screens/CollectPaymentScreen.js +12 -18
- package/lib/module/ui/screens/CollectPaymentScreen.js.map +1 -1
- package/lib/module/ui/screens/CompleteObjectiveScreen.js +3 -2
- package/lib/module/ui/screens/CompleteObjectiveScreen.js.map +1 -1
- package/lib/module/ui/screens/DeliverScreen.js +13 -8
- package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
- package/lib/module/ui/screens/DropCashScreen.js +13 -12
- package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/module/ui/screens/ImageCaptureScreen.js +2 -2
- package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
- package/lib/module/ui/screens/PickupScreen.js +3 -8
- package/lib/module/ui/screens/PickupScreen.js.map +1 -1
- package/lib/module/ui/screens/StartWorkFlowScreen.js +2 -2
- package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
- package/lib/module/utils/Constants.js +1 -2
- package/lib/module/utils/Constants.js.map +1 -1
- package/lib/module/utils/Logger.js +20 -8
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/module/utils/SdkUtils.js +1 -0
- package/lib/module/utils/SdkUtils.js.map +1 -1
- package/lib/typescript/network/client.d.ts +2 -1
- package/lib/typescript/utils/Constants.d.ts +1 -1
- package/lib/typescript/utils/Logger.d.ts +3 -1
- package/package.json +2 -2
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +43 -54
- package/src/manager/dispatch/DispatchStateContainer.tsx +158 -164
- package/src/manager/sdk/DispatchSDKManager.ts +2 -1
- package/src/manager/syncmanager/AppSyncManager.ts +3 -17
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +90 -86
- package/src/manager/syncmanager/document/DocumentManager.ts +0 -1
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +6 -76
- package/src/manager/syncmanager/events/EventsSyncManager.ts +8 -29
- package/src/manager/syncmanager/events/SyncHttpClient.ts +2 -5
- package/src/network/client.ts +12 -2
- package/src/ui/screens/CollectPaymentScreen.tsx +14 -33
- package/src/ui/screens/CompleteObjectiveScreen.tsx +3 -6
- package/src/ui/screens/DeliverScreen.tsx +16 -11
- package/src/ui/screens/DropCashScreen.tsx +10 -10
- package/src/ui/screens/ImageCaptureScreen.tsx +2 -2
- package/src/ui/screens/PickupScreen.tsx +5 -12
- package/src/ui/screens/StartWorkFlowScreen.tsx +1 -1
- package/src/utils/Constants.ts +1 -2
- package/src/utils/Logger.ts +26 -18
- 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().
|
|
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
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
-
|
|
200
|
-
|
|
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
|
-
|
|
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
|
-
|
|
244
|
-
|
|
245
|
-
|
|
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
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
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
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
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
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
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
|
-
|
|
334
|
+
[mergedObjectiveId],
|
|
311
335
|
taskName,
|
|
312
336
|
taskID,
|
|
313
337
|
{
|
|
314
338
|
input,
|
|
315
|
-
output:
|
|
316
|
-
},
|
|
317
|
-
{
|
|
318
|
-
ec: defaultOutput.eventCode,
|
|
319
|
-
rc: defaultOutput.reasonCode || '',
|
|
339
|
+
output: _output,
|
|
320
340
|
}
|
|
321
341
|
)
|
|
322
342
|
);
|
|
323
343
|
}
|
|
324
|
-
}
|
|
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
|
-
|
|
346
|
+
const response = await Promise.all(promises);
|
|
340
347
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
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
|
-
}
|
|
355
|
-
|
|
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().
|
|
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().
|
|
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().
|
|
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().
|
|
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().
|
|
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().
|
|
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().
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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:
|
|
95
|
+
'uploadDocument:uploadBinaryFileResponse',
|
|
104
96
|
flattenObject(extraParameters),
|
|
105
97
|
LOG_TYPE.SDK_ERROR
|
|
106
98
|
);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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},\
|