@os1-platform/dispatch-mobile 2.1.6 → 2.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.
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js +11 -2
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +6 -2
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js +3 -0
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js.map +1 -1
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +8 -1
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +14 -16
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +9 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager/location/LocationManager.js +9 -2
- package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +3 -3
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js +8 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/DBConfig.js +3 -1
- package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +77 -3
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +17 -3
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +194 -6
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/models/sdk.js.map +1 -1
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/SyncManagerUtils.js +12 -2
- package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
- package/lib/commonjs/utils/utils.js +24 -0
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/module/analytics/firebase/FirebaseLogging.js +11 -2
- package/lib/module/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js +6 -2
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
- package/lib/module/analytics/sentry/SentrySdkConstants.js +3 -0
- package/lib/module/analytics/sentry/SentrySdkConstants.js.map +1 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js +8 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +14 -16
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +9 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager/location/LocationManager.js +9 -2
- package/lib/module/manager/location/LocationManager.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +3 -3
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/sdk/callbacksHandler.js +8 -1
- package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/module/manager/syncmanager/DBConfig.js +3 -1
- package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +77 -3
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js +17 -3
- package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +195 -7
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/models/sdk.js.map +1 -1
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/SyncManagerUtils.js +12 -2
- package/lib/module/utils/SyncManagerUtils.js.map +1 -1
- package/lib/module/utils/utils.js +22 -0
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/typescript/analytics/sentry/SentrySdkConstants.d.ts +3 -0
- package/lib/typescript/components/executiontasks/imageCapture/CaptureSchema.d.ts +4 -0
- package/lib/typescript/components/executiontasks/imageCapture/CaptureUtils.d.ts +7 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/manager/location/LocationManager.d.ts +1 -0
- package/lib/typescript/manager/sdk/callbacksHandler.d.ts +3 -1
- package/lib/typescript/manager/syncmanager/DBConfig.d.ts +4 -0
- package/lib/typescript/manager/syncmanager/document/DocumentManager.d.ts +3 -1
- package/lib/typescript/manager/syncmanager/document/DocumentSyncManager.d.ts +5 -1
- package/lib/typescript/models/sdk.d.ts +1 -0
- package/lib/typescript/utils/SyncManagerUtils.d.ts +1 -1
- package/lib/typescript/utils/utils.d.ts +4 -0
- package/package.json +6 -5
- package/src/analytics/firebase/FirebaseLogging.ts +22 -10
- package/src/analytics/sentry/SentryAnalyticsUtils.ts +8 -2
- package/src/analytics/sentry/SentrySdkConstants.ts +3 -0
- package/src/components/executiontasks/doodle/SignatureET.tsx +14 -1
- package/src/components/executiontasks/imageCapture/CaptureSchema.ts +4 -0
- package/src/components/executiontasks/imageCapture/CaptureUtils.ts +32 -18
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +10 -2
- package/src/index.tsx +2 -0
- package/src/manager/location/LocationManager.ts +8 -1
- package/src/manager/sdk/DispatchSDKManager.ts +8 -2
- package/src/manager/sdk/callbacksHandler.ts +12 -1
- package/src/manager/syncmanager/DBConfig.ts +4 -0
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +105 -5
- package/src/manager/syncmanager/document/DocumentManager.ts +28 -2
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +220 -5
- package/src/models/sdk.ts +1 -0
- package/src/utils/ExecTaskUtils.ts +1 -1
- package/src/utils/SyncManagerUtils.ts +20 -2
- package/src/utils/utils.ts +23 -0
|
@@ -4,11 +4,17 @@ 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 DocumentManager from './DocumentManager';
|
|
6
6
|
import DocumentHttpClient from './DocumentHttpClient';
|
|
7
|
-
import { isEmptyOrBlank } from '../../../utils/utils';
|
|
7
|
+
import { isEmptyOrBlank, flattenObject } from '../../../utils/utils';
|
|
8
8
|
import { BaseError } from '../../../errors/BaseError';
|
|
9
9
|
import BaseErrorCodes, { InvalidArgumentsError, InvalidBaseURL, SyncManagerNotInitialized } from '../../../errors/ErrorCodes';
|
|
10
10
|
import Logger, { LOG_TYPE } from '../../../utils/Logger';
|
|
11
11
|
import NetworkUtil from '../../../utils/NetworkUtil';
|
|
12
|
+
import Marker, { Position, TextBackgroundType, ImageFormat } from 'react-native-image-marker';
|
|
13
|
+
import RNFS from 'react-native-fs';
|
|
14
|
+
import { Platform } from 'react-native';
|
|
15
|
+
import { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';
|
|
16
|
+
import { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';
|
|
17
|
+
const latlngToDms = require('latlng-to-dms');
|
|
12
18
|
export default class DocumentSyncManager {
|
|
13
19
|
get retries() {
|
|
14
20
|
return this._retries;
|
|
@@ -71,8 +77,8 @@ export default class DocumentSyncManager {
|
|
|
71
77
|
async insertDocument(fmsFolderID, data, base64, desc, dspID,
|
|
72
78
|
// jobID: string,
|
|
73
79
|
// objRef: string,
|
|
74
|
-
filePath, fileType, fileName) {
|
|
75
|
-
let priority = arguments.length >
|
|
80
|
+
filePath, fileType, fileName, geoTimeStamp, processedFilePath) {
|
|
81
|
+
let priority = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : 1;
|
|
76
82
|
if (isEmptyOrBlank(desc) || isEmptyOrBlank(dspID) ||
|
|
77
83
|
// isEmptyOrBlank(jobID) ||
|
|
78
84
|
// isEmptyOrBlank(objRef) ||
|
|
@@ -82,10 +88,11 @@ export default class DocumentSyncManager {
|
|
|
82
88
|
Logger.getInstance().logEvent('insertDocument', 'INIT DOC SYNC AGAIN', LOG_TYPE.SDK_INFO);
|
|
83
89
|
this.docManager = await DocumentManager.getInstance();
|
|
84
90
|
}
|
|
91
|
+
console.log('insertDocument1:', fmsFolderID);
|
|
85
92
|
let insertResponse = await ((_this$docManager = this.docManager) === null || _this$docManager === void 0 ? void 0 : _this$docManager.insertDocument(fmsFolderID, desc, dspID,
|
|
86
93
|
// jobID,
|
|
87
94
|
// objRef,
|
|
88
|
-
base64, fileName, fileType, data, filePath, priority));
|
|
95
|
+
base64, fileName, fileType, data, filePath, geoTimeStamp, processedFilePath, priority));
|
|
89
96
|
return insertResponse;
|
|
90
97
|
}
|
|
91
98
|
}
|
|
@@ -102,6 +109,16 @@ export default class DocumentSyncManager {
|
|
|
102
109
|
Logger.getInstance().logEvent('updateDocument', err.message, LOG_TYPE.SDK_WARNING);
|
|
103
110
|
}
|
|
104
111
|
}
|
|
112
|
+
|
|
113
|
+
// This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.
|
|
114
|
+
async updateDocumentProcessedPath(documentRow, origialFilePath, processedPath) {
|
|
115
|
+
if (!this.docManager) this.docManager = await DocumentManager.getInstance();
|
|
116
|
+
try {
|
|
117
|
+
await this.docManager.updateProcesedFilePath(documentRow.id, origialFilePath, processedPath);
|
|
118
|
+
} catch (err) {
|
|
119
|
+
Logger.getInstance().logEvent('updateDocument', err.message, LOG_TYPE.SDK_WARNING);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
105
122
|
async updateDocError(documentRow, uploadError) {
|
|
106
123
|
if (!this.docManager) this.docManager = await DocumentManager.getInstance();
|
|
107
124
|
try {
|
|
@@ -115,21 +132,192 @@ export default class DocumentSyncManager {
|
|
|
115
132
|
throw new BaseError(BaseErrorCodes.SyncManagerNotInitialized, SyncManagerNotInitialized);
|
|
116
133
|
}
|
|
117
134
|
}
|
|
135
|
+
|
|
136
|
+
// This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.
|
|
137
|
+
async processImageData(documentRow) {
|
|
138
|
+
// If processed_file_path of overlayed image already existing then do not generate it again.
|
|
139
|
+
if (documentRow.processed_file_path === null || documentRow.processed_file_path === '') {
|
|
140
|
+
let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.
|
|
141
|
+
let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string
|
|
142
|
+
let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object
|
|
143
|
+
let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format
|
|
144
|
+
let lat = objGeoStamp.lat; // Latitide
|
|
145
|
+
let lng = objGeoStamp.lng; // Longitude
|
|
146
|
+
let accuracy = objGeoStamp.accuracy; // Location accuracy
|
|
147
|
+
let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format
|
|
148
|
+
let strDMSWithAccuracy = strDMS;
|
|
149
|
+
if (accuracy !== '') {
|
|
150
|
+
strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
let fontSize = 14;
|
|
154
|
+
if (Platform.OS !== 'android') {
|
|
155
|
+
fontSize = 28;
|
|
156
|
+
}
|
|
157
|
+
const options = {
|
|
158
|
+
backgroundImage: {
|
|
159
|
+
// Image for overlay
|
|
160
|
+
src: documentRow.file_path,
|
|
161
|
+
scale: 1
|
|
162
|
+
},
|
|
163
|
+
watermarkTexts: [{
|
|
164
|
+
text: `${dateTime}\n${strDMSWithAccuracy}`,
|
|
165
|
+
//Overlay text
|
|
166
|
+
position: {
|
|
167
|
+
position: Position.topLeft // Overlay text position
|
|
168
|
+
},
|
|
169
|
+
|
|
170
|
+
style: {
|
|
171
|
+
// Style for overlay
|
|
172
|
+
color: '#ffffff',
|
|
173
|
+
fontSize: fontSize,
|
|
174
|
+
fontName: 'Arial',
|
|
175
|
+
textBackgroundStyle: {
|
|
176
|
+
padding: '1% 1%',
|
|
177
|
+
type: TextBackgroundType.none,
|
|
178
|
+
color: '#444444CC'
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}],
|
|
182
|
+
scale: 0,
|
|
183
|
+
quality: 100,
|
|
184
|
+
filename: pFilePath,
|
|
185
|
+
saveFormat: ImageFormat.jpg // Saving in jpeg format
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
let processedFilePath = await Marker.markText(options); // Generating overlay image
|
|
189
|
+
if (processedFilePath !== null && processedFilePath !== '') {
|
|
190
|
+
let completeFilePath = processedFilePath;
|
|
191
|
+
// If processd image file path does not have prefix file:// then we are addding manually
|
|
192
|
+
if (!processedFilePath.includes('file')) {
|
|
193
|
+
completeFilePath = 'file://' + processedFilePath;
|
|
194
|
+
}
|
|
195
|
+
// Updating document document table with overlayed image path
|
|
196
|
+
this.updateDocumentProcessedPath(documentRow, documentRow.file_path,
|
|
197
|
+
//original file path catprued from camera
|
|
198
|
+
completeFilePath // completeFilePath is the path with file:// of processed file
|
|
199
|
+
);
|
|
200
|
+
|
|
201
|
+
documentRow.processed_file_path = completeFilePath;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return documentRow;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.
|
|
208
|
+
async processBase64Data(documentRow) {
|
|
209
|
+
// If base64 overlayed data already existing then do not generate it again.
|
|
210
|
+
if (documentRow.processed_file_path === null || documentRow.processed_file_path === '') {
|
|
211
|
+
let filePath = '';
|
|
212
|
+
// If templrary base 64 file already exist then do not create again
|
|
213
|
+
if (documentRow.file_path === null || documentRow.file_path === '') {
|
|
214
|
+
const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;
|
|
215
|
+
await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location
|
|
216
|
+
filePath = imagePath;
|
|
217
|
+
// If file generated frommbase64 data does not have file:// then we are adding manually.
|
|
218
|
+
if (!imagePath.includes('file')) {
|
|
219
|
+
filePath = `file://${imagePath}`;
|
|
220
|
+
}
|
|
221
|
+
documentRow.file_path = filePath;
|
|
222
|
+
} else {
|
|
223
|
+
filePath = documentRow.file_path;
|
|
224
|
+
}
|
|
225
|
+
let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.
|
|
226
|
+
let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string
|
|
227
|
+
let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object
|
|
228
|
+
let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format
|
|
229
|
+
let lat = objGeoStamp.lat; // Latitide
|
|
230
|
+
let lng = objGeoStamp.lng; // Longitude
|
|
231
|
+
let accuracy = objGeoStamp.accuracy; // Location accuracy
|
|
232
|
+
let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format
|
|
233
|
+
let strDMSWithAccuracy = strDMS;
|
|
234
|
+
if (accuracy !== '') {
|
|
235
|
+
strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
const options = {
|
|
239
|
+
backgroundImage: {
|
|
240
|
+
src: filePath,
|
|
241
|
+
// Image for overlay
|
|
242
|
+
scale: 1
|
|
243
|
+
},
|
|
244
|
+
watermarkTexts: [{
|
|
245
|
+
text: `${dateTime}\n${strDMSWithAccuracy}`,
|
|
246
|
+
// Ooverlay text
|
|
247
|
+
position: {
|
|
248
|
+
position: Position.topLeft // Overlay text position
|
|
249
|
+
},
|
|
250
|
+
|
|
251
|
+
style: {
|
|
252
|
+
// Style for overlay
|
|
253
|
+
color: '#ffffff',
|
|
254
|
+
fontSize: 14,
|
|
255
|
+
fontName: 'Arial',
|
|
256
|
+
textBackgroundStyle: {
|
|
257
|
+
padding: '1% 1%',
|
|
258
|
+
type: TextBackgroundType.none,
|
|
259
|
+
color: '#444444CC'
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}],
|
|
263
|
+
scale: 1,
|
|
264
|
+
quality: 100,
|
|
265
|
+
filename: pFilePath,
|
|
266
|
+
saveFormat: ImageFormat.base64 // Saving in base6 format
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
let processedBase64 = await Marker.markText(options); // Generating overlay image
|
|
270
|
+
if (processedBase64 !== null && processedBase64 !== '') {
|
|
271
|
+
// Fetching base64 data from processed data.
|
|
272
|
+
var splittedDase64Data = processedBase64.split('data:image/png;base64,');
|
|
273
|
+
// Updating document document table with overlayed base64 data
|
|
274
|
+
await this.updateDocumentProcessedPath(documentRow, filePath, splittedDase64Data[1]);
|
|
275
|
+
documentRow.processed_file_path = splittedDase64Data[1];
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return documentRow;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).
|
|
282
|
+
async processPODData(documentRow) {
|
|
283
|
+
if (documentRow.base64 && documentRow.data != null) {
|
|
284
|
+
return await this.processBase64Data(documentRow);
|
|
285
|
+
} else {
|
|
286
|
+
return await this.processImageData(documentRow);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
118
289
|
async uploadDocToServer(documentRow) {
|
|
119
290
|
try {
|
|
120
291
|
var _this$documentHttpCli;
|
|
292
|
+
let docRow = await this.processPODData(documentRow);
|
|
293
|
+
console.log('uploadDocToServer999:', docRow);
|
|
121
294
|
let fmsID = await ((_this$documentHttpCli = this.documentHttpClient) === null || _this$documentHttpCli === void 0 ? void 0 : _this$documentHttpCli.uploadDocument(documentRow));
|
|
295
|
+
let extraParameters = {
|
|
296
|
+
fmsID: fmsID ?? '',
|
|
297
|
+
fileName: docRow.file_name,
|
|
298
|
+
folderName: docRow.fms_folder_id
|
|
299
|
+
};
|
|
122
300
|
// TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202
|
|
123
301
|
if (fmsID) {
|
|
124
302
|
this._retries = 0;
|
|
125
|
-
await this.updateDocument(
|
|
303
|
+
await this.updateDocument(docRow, fmsID);
|
|
126
304
|
} else {
|
|
127
305
|
this._retries++;
|
|
128
|
-
Logger.getInstance().logEvent('uploadDocToServer-
|
|
129
|
-
await this.updateDocError(
|
|
306
|
+
Logger.getInstance().logEvent('uploadDocToServer-empty-fms-id', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
|
|
307
|
+
await this.updateDocError(docRow, 'Unexpected Error');
|
|
130
308
|
}
|
|
131
309
|
} catch (error) {
|
|
132
310
|
var _error$response, _error$response2;
|
|
311
|
+
const cta = 'uploadDocToServer-error';
|
|
312
|
+
fireEventWithScreenName({
|
|
313
|
+
severityLevel: SeverityLevelValue.ERROR,
|
|
314
|
+
eventName: SentryEventNameSdkConstants.API_ERROR,
|
|
315
|
+
screenName: cta,
|
|
316
|
+
cta: cta,
|
|
317
|
+
extraParams: {
|
|
318
|
+
error: error.message
|
|
319
|
+
}
|
|
320
|
+
});
|
|
133
321
|
this._retries++;
|
|
134
322
|
Logger.getInstance().logEvent('uploadDocToServer-sync-error', error.message, LOG_TYPE.SDK_ERROR);
|
|
135
323
|
await this.updateDocError(documentRow, JSON.stringify({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","logEvent","SDK_INFO","error","isSyncPending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","priority","arguments","undefined","InvalidArgumentError","_this$docManager","insertResponse","forceDocumentSync","updateDocument","documentRow","fmsID","markDocumentSynced","id","err","message","SDK_WARNING","updateDocError","uploadError","updateDocSyncError","_this$documentHttpCli","uploadDocument","SDK_ERROR","_error$response","_error$response2","JSON","stringify","response","status","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","_class"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = 3;\n private _retries = 0;\n\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() {}\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No data to sync',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No Network',\n LOG_TYPE.SDK_INFO\n );\n }\n } catch (error: any) {\n } finally {\n this.inProgress = false;\n if ((await this.isSyncPending()) && hasNetwork) {\n await this.startDocumentSync();\n }\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'sync already in progress ',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n // jobID: string,\n // objRef: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(jobID) ||\n // isEmptyOrBlank(objRef) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n else {\n if (!this.docManager) {\n Logger.getInstance().logEvent(\n 'insertDocument',\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_INFO\n );\n this.docManager = await DocumentManager.getInstance();\n }\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n // jobID,\n // objRef,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n priority\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n private async updateDocument(documentRow: DocumentRow, fmsID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.markDocumentSynced(documentRow.id, fmsID);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocError',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let fmsID = await this.documentHttpClient?.uploadDocument(documentRow);\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n this._retries = 0;\n await this.updateDocument(documentRow, fmsID);\n } else {\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-sync-error',\n 'Unexpected Error',\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(documentRow, 'Unexpected Error');\n }\n } catch (error: any) {\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-sync-error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","Marker","Position","TextBackgroundType","ImageFormat","RNFS","Platform","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","latlngToDms","require","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","logEvent","SDK_INFO","error","isSyncPending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","arguments","undefined","InvalidArgumentError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocument","documentRow","fmsID","markDocumentSynced","id","err","message","SDK_WARNING","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","updateDocError","uploadError","updateDocSyncError","processImageData","processed_file_path","pFilePath","file_name","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","none","quality","filename","saveFormat","jpg","markText","completeFilePath","includes","processBase64Data","imagePath","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","uploadDocument","extraParameters","folderName","fms_folder_id","SDK_ERROR","_error$response","_error$response2","cta","severityLevel","ERROR","eventName","API_ERROR","screenName","extraParams","stringify","response","status","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","_class"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport Marker, {\n Position,\n TextBackgroundType,\n ImageFormat,\n} from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = 3;\n private _retries = 0;\n\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() {}\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No data to sync',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No Network',\n LOG_TYPE.SDK_INFO\n );\n }\n } catch (error: any) {\n } finally {\n this.inProgress = false;\n if ((await this.isSyncPending()) && hasNetwork) {\n await this.startDocumentSync();\n }\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'sync already in progress ',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n // jobID: string,\n // objRef: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(jobID) ||\n // isEmptyOrBlank(objRef) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n else {\n if (!this.docManager) {\n Logger.getInstance().logEvent(\n 'insertDocument',\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_INFO\n );\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:',fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n // jobID,\n // objRef,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n private async updateDocument(documentRow: DocumentRow, fmsID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.markDocumentSynced(documentRow.id, fmsID);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocError',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [ \n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100, \n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath; \n }\n }\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n // If base64 overlayed data already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = await this.processPODData(documentRow);\n console.log('uploadDocToServer999:', docRow);\n let fmsID = await this.documentHttpClient?.uploadDocument(documentRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fileName: docRow.file_name,\n folderName: docRow.fms_folder_id\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n this._retries = 0;\n await this.updateDocument(docRow, fmsID);\n } else {\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-empty-fms-id',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n const cta = 'uploadDocToServer-error';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.API_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n error: error.message,\n },\n });\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-sync-error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ENVIRONMENT"],"sources":["sdk.ts"],"sourcesContent":["import type { EventCodes } from './ReasonCodes';\n\nexport interface DispatchSDKConfig {\n tenantID: string;\n userID: string;\n userName: string;\n tenantBaseURL: string;\n headers?: { [key: string]: any };\n enableLogging?: boolean;\n syncRetryCount?: number;\n accessToken: string;\n sentry?: {\n env: ENVIRONMENT;\n enabled: boolean;\n dsn?: string;\n };\n notificationConfig?: {\n title: string;\n description: string;\n interval: number;\n };\n eventMapping?: EventCodes[];\n debugLevelLog?: Boolean;\n callbacks?: {\n fetchPhoneNumbersCallback?: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>;\n };\n}\n\nexport enum ENVIRONMENT {\n DEV = 'dev',\n PRE_PROD = 'preprod',\n PROD = 'prod',\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["ENVIRONMENT"],"sources":["sdk.ts"],"sourcesContent":["import type { EventCodes } from './ReasonCodes';\n\nexport interface DispatchSDKConfig {\n tenantID: string;\n userID: string;\n userName: string;\n tenantBaseURL: string;\n headers?: { [key: string]: any };\n enableLogging?: boolean;\n syncRetryCount?: number;\n accessToken: string;\n sentry?: {\n env: ENVIRONMENT;\n enabled: boolean;\n dsn?: string;\n };\n notificationConfig?: {\n title: string;\n description: string;\n interval: number;\n };\n eventMapping?: EventCodes[];\n debugLevelLog?: Boolean;\n callbacks?: {\n fetchPhoneNumbersCallback?: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>;\n fetchDateTimeCallback?: () => Promise<string>;\n };\n}\n\nexport enum ENVIRONMENT {\n DEV = 'dev',\n PRE_PROD = 'preprod',\n PROD = 'prod',\n}\n"],"mappings":"AA+BA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LocationManager","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","CAPTURE_INPUT","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","arguments","length","undefined","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","isLeafData","value","isDynamicValue","charAt","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","map","val"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log(\"getBaseETResponse:startLocation:\",startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation:{\n latitude:startLocation.latitude,\n longitude:startLocation.longitude\n },\n endLocation:{\n latitude:lastLocation.latitude,\n longitude:lastLocation.longitude\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log(\"getBaseETResponse:baseResponse:\",JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude\n }\n console.log(\"onTaskStart:lastLocation:\",location)\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n\n\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n"],"mappings":"AACA,OAAOA,eAAe,MAAM,qCAAqC;AACjE,OAAOC,gBAAgB,MAAM,iCAAiC;AAE9D,SAASC,UAAU,EAAEC,eAAe,QAAQ,8BAA8B;AAG1E,OAAOC,aAAa,MAAM,2BAA2B;AAErD,SAASC,QAAQ,QAAQ,eAAe;AAIxC,OAAO,eAAeC,iBAAiBA,CACrCC,UAAkB,EAClBC,OAAgB,EAChBC,SAAiB,EACjBC,UAAkB,EAClBC,kBAAiC,EACjCC,MAAuB,EACE;EAC1B,IAAIC,YAAY,GAAGb,eAAe,CAACc,WAAW,CAAC,CAAC,CAACC,eAAe,CAAC,CAAC;EAClEC,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAACC,IAAI,CAACC,SAAS,CAACN,YAAY,CAAC,CAAC;EAE1E,IAAIO,KAAK,GAAGnB,gBAAgB,CAACa,WAAW,CAAC,CAAC;EAC1C,MAAMO,SAAS,GAAI,MAAMD,KAAK,CAACE,kBAAkB,CAC/CrB,gBAAgB,CAACsB,IAAI,CAACC,UACxB,CAAuB;EACvB,MAAMC,SAAS,GAAG,MAAML,KAAK,CAACE,kBAAkB,CAC9CrB,gBAAgB,CAACsB,IAAI,CAACG,eACxB,CAAC;EACD,MAAMC,aAAa,GAAG,MAAMP,KAAK,CAACE,kBAAkB,CAClDrB,gBAAgB,CAACsB,IAAI,CAACK,mBACxB,CAAC;EACDZ,OAAO,CAACC,GAAG,CAAC,kCAAkC,EAACU,aAAa,CAAC;EAC7D,IAAIE,YAA4B,GAAG;IACjCtB,UAAU,EAAEA,UAAU;IACtBC,OAAO,EAAEA,OAAO;IAChBC,SAAS,EAAEA,SAAS;IACpBC,UAAU,EAAEA,UAAU;IACtBoB,EAAE,EAAElB,MAAM;IACVmB,IAAI,EAAE;MACJJ,aAAa,EAAC;QACZK,QAAQ,EAACL,aAAa,CAACK,QAAQ;QAC/BC,SAAS,EAACN,aAAa,CAACM;MAC1B,CAAC;MACDC,WAAW,EAAC;QACVF,QAAQ,EAACnB,YAAY,CAACmB,QAAQ;QAC9BC,SAAS,EAACpB,YAAY,CAACoB;MACzB,CAAC;MACD;MACA;MACA;MACA;MACAE,WAAW,EAAE;QACXL,EAAE,EAAE,CAAAT,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEe,MAAM,KAAI,EAAE;QAC3BC,IAAI,EAAE,CAAAhB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEiB,QAAQ,KAAI;MAC/B,CAAC;MACDb,SAAS,EAAEA,SAAS,GAAGc,QAAQ,CAACd,SAAS,CAAC,GAAGe,IAAI,CAACC,GAAG,CAAC,CAAC;MACvDC,OAAO,EAAEF,IAAI,CAACC,GAAG,CAAC;IACpB,CAAC;IACD9B;EACF,CAAC;EACDK,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAACC,IAAI,CAACC,SAAS,CAACU,YAAY,CAAC,CAAC;EAE3E,OAAOA,YAAY;AACrB;AAEA,OAAO,eAAec,wBAAwBA,CAC5CpC,UAAkB,EAClBC,OAAgB,EAChBC,SAAiB,EACjBC,UAAkB,EAClBkC,iBAAgC,EAChChC,MAAuB,EACvB;EACA,IAAIiC,gBAAqC,GAAG;IAC1C,IAAI,MAAMvC,iBAAiB,CACzBC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVkC,iBAAiB,EACjBhC,MACF,CAAC;EACH,CAAC;EACD,OAAOiC,gBAAgB;AACzB;AACA,OAAO,SAASC,iBAAiBA,CAACC,IAAY,EAAU;EACtD,QAAQA,IAAI;IACV,KAAK5C,eAAe,CAAC6C,aAAa;MAChC,OAAO9C,UAAU,CAAC8C,aAAa;IACjC,KAAK7C,eAAe,CAAC8C,aAAa;MAChC,OAAO/C,UAAU,CAAC+C,aAAa;IACjC,KAAK9C,eAAe,CAAC+C,OAAO;MAC1B,OAAOhD,UAAU,CAACgD,OAAO;IAC3B,KAAK/C,eAAe,CAACgD,MAAM;MACzB,OAAOjD,UAAU,CAACiD,MAAM;IAC1B,KAAKhD,eAAe,CAACiD,KAAK;MACxB,OAAOlD,UAAU,CAACkD,KAAK;IACzB,KAAKjD,eAAe,CAACkD,IAAI;MACvB,OAAOnD,UAAU,CAACmD,IAAI;IACxB,KAAKlD,eAAe,CAACmD,OAAO;MAC1B,OAAOpD,UAAU,CAACoD,OAAO;IAC3B,KAAKnD,eAAe,CAACoD,MAAM;MACzB,OAAOrD,UAAU,CAACqD,MAAM;IAC1B,KAAKpD,eAAe,CAACqD,cAAc;MACjC,OAAOtD,UAAU,CAACsD,cAAc;IAClC,KAAKrD,eAAe,CAACsD,eAAe;MAClC,OAAOvD,UAAU,CAACuD,eAAe;IACnC,KAAKtD,eAAe,CAACuD,iBAAiB;MACpC,OAAOxD,UAAU,CAACwD,iBAAiB;IACrC,KAAKvD,eAAe,CAACwD,iBAAiB;MACpC,OAAOzD,UAAU,CAACyD,iBAAiB;IACrC,KAAKxD,eAAe,CAACyD,YAAY;MAC/B,OAAO1D,UAAU,CAAC0D,YAAY;IAChC,KAAKzD,eAAe,CAAC0D,eAAe;MAClC,OAAO3D,UAAU,CAAC2D,eAAe;IACnC,KAAK1D,eAAe,CAAC2D,gBAAgB;MACnC,OAAO5D,UAAU,CAAC4D,gBAAgB;IACpC,KAAK3D,eAAe,CAAC4D,YAAY;MAC/B,OAAO7D,UAAU,CAAC6D,YAAY;IAChC,KAAK5D,eAAe,CAAC6D,YAAY;MAC/B,OAAO9D,UAAU,CAAC8D,YAAY;IAChC,KAAK7D,eAAe,CAAC8D,eAAe;MAClC,OAAO/D,UAAU,CAAC+D,eAAe;IACnC;MACE,OAAO,sBAAsB;EACjC;AACF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO,SAASC,WAAWA,CACzBC,SAAgD,EAChDC,UAAe,EAEf;EAAA,IADAC,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAEnB,MAAMG,IAAI,GAAGxE,gBAAgB,CAACsB,IAAI;EAClC,MAAMH,KAAK,GAAGnB,gBAAgB,CAACa,WAAW,CAAC,CAAC;EAC5C,CAAC,YAAY;IACX,IAAID,YAAY,GAAGb,eAAe,CAACc,WAAW,CAAC,CAAC,CAACC,eAAe,CAAC,CAAC;IAClE,IAAI2D,QAAQ,GAAG;MACb1C,QAAQ,EAAEnB,YAAY,CAACmB,QAAQ;MAC/BC,SAAS,EAAEpB,YAAY,CAACoB;IAC1B,CAAC;IACDjB,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAACyD,QAAQ,CAAC;IACjD,MAAMtD,KAAK,CAACuD,aAAa,CAACF,IAAI,CAAC/C,eAAe,EAAEc,IAAI,CAACC,GAAG,CAAC,CAAC,CAACmC,QAAQ,CAAC,CAAC,CAAC;IACtE,MAAMxD,KAAK,CAACuD,aAAa,CAACF,IAAI,CAACI,uBAAuB,EAAEV,SAAS,CAACvD,MAAM,CAAC;IACzE,MAAMQ,KAAK,CAAC0D,gBAAgB,CAACL,IAAI,CAAC7C,mBAAmB,EAAE8C,QAAQ,CAAC;EAGlE,CAAC,EAAE,CAAC;EACJ,IAAIL,YAAY,EAAE;IAChB,MAAMU,YAAY,GAAGZ,SAAS,CAACa,QAAQ;IACvC,MAAMC,eAA2B,GAAG;MAClCC,MAAM,EAAEf,SAAS,CAACgB,KAAK;MACvBvE,MAAM,EAAEuD,SAAS,CAACvD,MAAM;MACxBwE,SAAS,EAAE5C,IAAI,CAACC,GAAG,CAAC,CAAC;MACrB2B;IACF,CAAC;IACD;AACJ;AACA;;IAEI;AACJ;AACA;AACA;AACA;AACA;AACA;IACIhE,aAAa,CAAC,OAAO,EAAE2E,YAAY,EAAEE,eAAe,CAAC;EACvD;AACF;AAEA,MAAMI,UAAU,GAAIC,KAAU,IAAK;EACjC,QAAQ,OAAOA,KAAK;IAClB,KAAK,SAAS;IACd,KAAK,QAAQ;MACX,OAAO,IAAI;IACb;MACE,OAAO,KAAK;EAChB;AACF,CAAC;AACD,MAAMC,cAAc,GAAG,SAAAA,CAAUJ,KAAa,EAAE;EAC9C,IACEA,KAAK,CAACK,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IACvBL,KAAK,CAACK,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IACvBL,KAAK,CAACK,MAAM,CAACL,KAAK,CAACZ,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,IACtCY,KAAK,CAACK,MAAM,CAACL,KAAK,CAACZ,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAEtC,OAAO,IAAI,CAAC,KACT,OAAO,KAAK;AACnB,CAAC;AAED,OAAO,SAASkB,mBAAmBA,CAACC,SAAc,EAAEC,QAAa,EAAE;EACjE,KAAK,MAAMC,GAAG,IAAIF,SAAS,EAAE;IAC3B,IAAIJ,KAAK,GAAGI,SAAS,CAACE,GAAG,CAAC;IAC1B,IAAI,CAACP,UAAU,CAACC,KAAK,CAAC,EAAE;MACtB,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIC,cAAc,CAACD,KAAK,CAAC,EAAE;QAC/D,MAAMO,IAAI,GAAGP,KAAK,CAACQ,SAAS,CAAC,CAAC,EAAER,KAAK,CAACf,MAAM,GAAG,CAAC,CAAC;QACjD,MAAMwB,MAAM,GAAG1F,QAAQ,CAAC;UACtB2F,IAAI,EAAEL,QAAQ;UACdE;QACF,CAAC,CAAC;QACF,MAAMI,UAAU,GAAGF,MAAM,CAACG,GAAG,CAAC,CAAC;QAC/B,IAAID,UAAU,EAAEP,SAAS,CAACE,GAAG,CAAC,GAAGK,UAAU;MAC7C,CAAC,MAAM,IAAI,OAAOX,KAAK,KAAK,QAAQ,EAAE;QACpC,IAAIa,KAAK,CAACC,OAAO,CAACd,KAAK,CAAC,EAAE;UACxB,IAAI,OAAOA,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YAChC,MAAMe,UAAU,GAAGf,KAAK,CAACgB,MAAM,CAAEC,IAAI,IAAKhB,cAAc,CAACgB,IAAI,CAAC,CAAC;YAC/D,IAAIF,UAAU,CAAC9B,MAAM,EAAE;cACrB,MAAMsB,IAAI,GAAGQ,UAAU,CAAC,CAAC,CAAC,CAACP,SAAS,CAAC,CAAC,EAAEO,UAAU,CAAC,CAAC,CAAC,CAAC9B,MAAM,GAAG,CAAC,CAAC;cACjE,MAAMwB,MAAM,GAAG1F,QAAQ,CAAC;gBACtB2F,IAAI,EAAEL,QAAQ;gBACdE;cACF,CAAC,CAAC;cACF,MAAMI,UAAU,GAAGF,MAAM,CAACG,GAAG,CAAC,CAAC;cAC/B,IAAID,UAAU,EAAEP,SAAS,CAACE,GAAG,CAAC,GAAGK,UAAU;YAC7C;UACF,CAAC,MAAM,IAAI,OAAOX,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACvCI,SAAS,CAACE,GAAG,CAAC,GAAGN,KAAK,CAACkB,GAAG,CAAEC,GAAG,IAAK;cAClCA,GAAG,GAAGhB,mBAAmB,CAACgB,GAAG,EAAEd,QAAQ,CAAC;cACxC,OAAOc,GAAG;YACZ,CAAC,CAAC;UACJ;QACF,CAAC,MAAMhB,mBAAmB,CAACH,KAAK,EAAEK,QAAQ,CAAC;MAC7C;IACF;EACF;EACA,OAAOD,SAAS;AAClB"}
|
|
1
|
+
{"version":3,"names":["LocationManager","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","CAPTURE_INPUT","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","arguments","length","undefined","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","isLeafData","value","isDynamicValue","charAt","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","map","val"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log(\"getBaseETResponse:startLocation:\",startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation:{\n latitude:startLocation.latitude,\n longitude:startLocation.longitude\n },\n endLocation:{\n latitude:lastLocation.latitude,\n longitude:lastLocation.longitude\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log(\"getBaseETResponse:baseResponse:\",JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n console.log(\"onTaskStart:lastLocation:\",location)\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n\n\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n"],"mappings":"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"}
|
|
@@ -91,13 +91,23 @@ export async function clearCache(dspID) {
|
|
|
91
91
|
export async function insertDocumentInDB(fileName, fmsFolderName,
|
|
92
92
|
// jobID: string,
|
|
93
93
|
// objRef: string,
|
|
94
|
-
base64Image, imageDesc, filePath) {
|
|
94
|
+
base64Image, imageDesc, filePath, dateTime, lat, lng, accuracy) {
|
|
95
|
+
let geoTimeStamp = {
|
|
96
|
+
dateTime: dateTime,
|
|
97
|
+
lat: lat,
|
|
98
|
+
lng: lng,
|
|
99
|
+
accuracy: accuracy
|
|
100
|
+
};
|
|
101
|
+
let geoTimeStampStr = JSON.stringify(geoTimeStamp);
|
|
102
|
+
console.log('geoTimeStampStr:', geoTimeStampStr);
|
|
103
|
+
console.log('insertDocumentInDB1:', fmsFolderName);
|
|
104
|
+
let processedFilePath = '';
|
|
95
105
|
try {
|
|
96
106
|
const dspID = await cache.getKeyFromCache(keys.DISPATCH_ID);
|
|
97
107
|
let response = await DocumentSyncManager.getInstance().insertDocument(fmsFolderName, base64Image, base64Image != null, imageDesc, dspID ?? 'NULL',
|
|
98
108
|
// jobID,
|
|
99
109
|
// objRef,
|
|
100
|
-
filePath, 'image', fileName);
|
|
110
|
+
filePath, 'image', fileName, geoTimeStampStr, processedFilePath);
|
|
101
111
|
AppSyncManager.getInstance().startSDKSyncManager();
|
|
102
112
|
return response.insertId;
|
|
103
113
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EventsSyncManager","IDispatch","SyncType","Logger","LOG_TYPE","DispatchSdkCache","DocumentSyncManager","isEmptyOrBlank","BaseError","ErrorCodes","GraphQLClient","AppSyncManager","Storage","keys","KEYS","cache","getInstance","TAG","pushEventForSync","syncType","dspID","data","config","sequence","meta","insertEvent","jobId","objectiveReference","JSON","stringify","startSDKSyncManager","error","logEvent","errorMessage","message","SDK_ERROR","pushBulkEventForSync","pushData","insertBulkEvent","clearCache","prevDspID","getKeyFromCache","DISPATCH_ID","clearSyncedDocs","then","catch","clearEventsDB","clearShared","SDK_WARNING","insertDocumentInDB","fileName","fmsFolderName","base64Image","imageDesc","filePath","response","insertDocument","insertId","undefined","createFmsFolder","dispatchID","folderName","Date","toISOString","slice","split","join","fmsFolder","FMS_FOLDER","_response$data","createFolder","id","SDK_INFO","setKeyInCache","FMS_FOLDER_CREATION_ERROR","_error$graphQLErrors$","graphQLErrors","length","code","FMS_GRAPHQL_API_ERROR"],"sources":["SyncManagerUtils.ts"],"sourcesContent":["import EventsSyncManager from '../manager/syncmanager/events/EventsSyncManager';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\nimport Logger, { LOG_TYPE } from './Logger';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport DocumentSyncManager from '../manager/syncmanager/document/DocumentSyncManager';\nimport { isEmptyOrBlank } from './utils';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\nimport GraphQLClient from '../network/GraphQLClient';\nimport AppSyncManager from '../manager/syncmanager/AppSyncManager';\nimport type {\n BulkEvent,\n ExecEngineSyncType,\n} from '../manager/syncmanager/DBConfig';\nimport Storage from './storage';\n\nconst keys = DispatchSdkCache.KEYS;\nconst cache = DispatchSdkCache.getInstance();\n\nconst TAG = 'SaveEventDB';\n\nexport async function pushEventForSync(\n syncType: ExecEngineSyncType,\n dspID: string,\n data: string,\n config: any,\n sequence: number,\n meta?: any\n): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertEvent(\n sequence,\n data,\n dspID,\n syncType,\n meta ? meta.jobId + meta.objectiveReference : 'NO_REF_FOUND',\n JSON.stringify(config)\n );\n\n /* Logger.getInstance().logEvent(\n TAG,\n `Event Inserted ${syncType} ${JSON.stringify(data)}`,\n LOG_TYPE.SDK_ERROR\n ); */\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushEventForSync ' + syncType,\n JSON.stringify({\n errorMessage: error.message,\n data: `Event Inserted ${syncType} ${JSON.stringify(data)}`,\n dspID: dspID,\n config: config,\n meta: meta,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n}\n\n// NEW CODE\nexport async function pushBulkEventForSync(\n pushData: BulkEvent\n): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushEventForSync ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n}\n\n// OLD CODE\n// export async function pushBulkEventForSync(\n// pushData: BulkEvent[]\n// ): Promise<boolean> {\n// try {\n// await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n// AppSyncManager.getInstance().startSDKSyncManager();\n// return true;\n// } catch (error: any) {\n// Logger.getInstance().logEvent(\n// 'pushEventForSync ',\n// JSON.stringify({\n// errorMessage: error.message,\n// }),\n// LOG_TYPE.SDK_ERROR\n// );\n// return false;\n// }\n// }\n\n/**\n * clears synced events from Sync & Document manager\n * @param dspID\n * @private\n */\nexport async function clearCache(dspID: string) {\n try {\n let prevDspID = await cache.getKeyFromCache(keys.DISPATCH_ID);\n if (prevDspID != null && prevDspID !== dspID) {\n DocumentSyncManager.getInstance()\n .clearSyncedDocs(prevDspID)\n .then()\n .catch();\n EventsSyncManager.getInstance().clearEventsDB().then().catch();\n await Storage.getInstance().clearShared();\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'clearCache',\n error.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n}\n\nexport async function insertDocumentInDB(\n fileName: string,\n fmsFolderName: string,\n // jobID: string,\n // objRef: string,\n base64Image: string | null,\n imageDesc: string,\n filePath: string | null\n): Promise<number | undefined> {\n try {\n const dspID = await cache.getKeyFromCache(keys.DISPATCH_ID);\n let response = await DocumentSyncManager.getInstance().insertDocument(\n fmsFolderName,\n base64Image,\n base64Image != null,\n imageDesc,\n dspID ?? 'NULL',\n // jobID,\n // objRef,\n filePath,\n 'image',\n fileName\n );\n AppSyncManager.getInstance().startSDKSyncManager();\n return response.insertId;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'insertDocumentInDB',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return undefined;\n }\n}\n\nexport async function createFmsFolder(dispatchID: string) {\n const folderName = `dsp_${new Date()\n .toISOString()\n .slice(0, 10)\n .split('-')\n .join('')}`;\n let fmsFolder = await cache.getKeyFromCache(keys.FMS_FOLDER);\n const dspID = await cache.getKeyFromCache(keys.DISPATCH_ID);\n if (!isEmptyOrBlank(fmsFolder) && dspID != null && dspID === dispatchID) {\n return;\n } else {\n try {\n const response = await GraphQLClient.getInstance().createFmsFolder(\n folderName,\n `${dispatchID}`\n );\n if (!isEmptyOrBlank(response?.data?.createFolder?.id)) {\n Logger.getInstance().logEvent(\n 'createFmsFolder',\n 'Folder creation success!',\n LOG_TYPE.SDK_INFO\n );\n await cache.setKeyInCache(keys.FMS_FOLDER, folderName);\n } else {\n /* Logger.getInstance().logEvent(\n 'createFmsFolder',\n JSON.stringify(response?.data),\n LOG_TYPE.SDK_ERROR\n ); */\n throw new BaseError(\n ErrorCodes.FMS_FOLDER_CREATION_ERROR,\n JSON.stringify(response?.data)\n );\n }\n } catch (error: any) {\n if (\n error &&\n error.graphQLErrors &&\n error.graphQLErrors.length > 0 &&\n error.graphQLErrors[0]?.code === '100010213009'\n ) {\n await cache.setKeyInCache(keys.FMS_FOLDER, folderName);\n Logger.getInstance().logEvent(\n 'createFmsFolder',\n 'Folder already exists',\n LOG_TYPE.SDK_INFO\n );\n } else {\n Logger.getInstance().logEvent(\n 'createFmsFolder',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(ErrorCodes.FMS_GRAPHQL_API_ERROR, error.message);\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["EventsSyncManager","IDispatch","SyncType","Logger","LOG_TYPE","DispatchSdkCache","DocumentSyncManager","isEmptyOrBlank","BaseError","ErrorCodes","GraphQLClient","AppSyncManager","Storage","keys","KEYS","cache","getInstance","TAG","pushEventForSync","syncType","dspID","data","config","sequence","meta","insertEvent","jobId","objectiveReference","JSON","stringify","startSDKSyncManager","error","logEvent","errorMessage","message","SDK_ERROR","pushBulkEventForSync","pushData","insertBulkEvent","clearCache","prevDspID","getKeyFromCache","DISPATCH_ID","clearSyncedDocs","then","catch","clearEventsDB","clearShared","SDK_WARNING","insertDocumentInDB","fileName","fmsFolderName","base64Image","imageDesc","filePath","dateTime","lat","lng","accuracy","geoTimeStamp","geoTimeStampStr","console","log","processedFilePath","response","insertDocument","insertId","undefined","createFmsFolder","dispatchID","folderName","Date","toISOString","slice","split","join","fmsFolder","FMS_FOLDER","_response$data","createFolder","id","SDK_INFO","setKeyInCache","FMS_FOLDER_CREATION_ERROR","_error$graphQLErrors$","graphQLErrors","length","code","FMS_GRAPHQL_API_ERROR"],"sources":["SyncManagerUtils.ts"],"sourcesContent":["import EventsSyncManager from '../manager/syncmanager/events/EventsSyncManager';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\nimport Logger, { LOG_TYPE } from './Logger';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport DocumentSyncManager from '../manager/syncmanager/document/DocumentSyncManager';\nimport { isEmptyOrBlank } from './utils';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\nimport GraphQLClient from '../network/GraphQLClient';\nimport AppSyncManager from '../manager/syncmanager/AppSyncManager';\nimport type {\n BulkEvent,\n ExecEngineSyncType,\n} from '../manager/syncmanager/DBConfig';\nimport Storage from './storage';\nimport LocationManager from '../manager/location/LocationManager';\n\nconst keys = DispatchSdkCache.KEYS;\nconst cache = DispatchSdkCache.getInstance();\n\nconst TAG = 'SaveEventDB';\n\nexport async function pushEventForSync(\n syncType: ExecEngineSyncType,\n dspID: string,\n data: string,\n config: any,\n sequence: number,\n meta?: any\n): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertEvent(\n sequence,\n data,\n dspID,\n syncType,\n meta ? meta.jobId + meta.objectiveReference : 'NO_REF_FOUND',\n JSON.stringify(config)\n );\n\n /* Logger.getInstance().logEvent(\n TAG,\n `Event Inserted ${syncType} ${JSON.stringify(data)}`,\n LOG_TYPE.SDK_ERROR\n ); */\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushEventForSync ' + syncType,\n JSON.stringify({\n errorMessage: error.message,\n data: `Event Inserted ${syncType} ${JSON.stringify(data)}`,\n dspID: dspID,\n config: config,\n meta: meta,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n}\n\n// NEW CODE\nexport async function pushBulkEventForSync(\n pushData: BulkEvent\n): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushEventForSync ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n}\n\n// OLD CODE\n// export async function pushBulkEventForSync(\n// pushData: BulkEvent[]\n// ): Promise<boolean> {\n// try {\n// await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n// AppSyncManager.getInstance().startSDKSyncManager();\n// return true;\n// } catch (error: any) {\n// Logger.getInstance().logEvent(\n// 'pushEventForSync ',\n// JSON.stringify({\n// errorMessage: error.message,\n// }),\n// LOG_TYPE.SDK_ERROR\n// );\n// return false;\n// }\n// }\n\n/**\n * clears synced events from Sync & Document manager\n * @param dspID\n * @private\n */\nexport async function clearCache(dspID: string) {\n try {\n let prevDspID = await cache.getKeyFromCache(keys.DISPATCH_ID);\n if (prevDspID != null && prevDspID !== dspID) {\n DocumentSyncManager.getInstance()\n .clearSyncedDocs(prevDspID)\n .then()\n .catch();\n EventsSyncManager.getInstance().clearEventsDB().then().catch();\n await Storage.getInstance().clearShared();\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'clearCache',\n error.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n}\n\nexport async function insertDocumentInDB(\n fileName: string,\n fmsFolderName: string,\n // jobID: string,\n // objRef: string,\n base64Image: string | null,\n imageDesc: string,\n filePath: string | null,\n dateTime: string | null,\n lat: string,\n lng: string,\n accuracy: string\n): Promise<number | undefined> {\n let geoTimeStamp = {\n dateTime: dateTime,\n lat: lat,\n lng: lng,\n accuracy: accuracy,\n };\n let geoTimeStampStr = JSON.stringify(geoTimeStamp);\n console.log('geoTimeStampStr:', geoTimeStampStr);\n console.log('insertDocumentInDB1:', fmsFolderName);\n\n let processedFilePath = '';\n try {\n const dspID = await cache.getKeyFromCache(keys.DISPATCH_ID);\n let response = await DocumentSyncManager.getInstance().insertDocument(\n fmsFolderName,\n base64Image,\n base64Image != null,\n imageDesc,\n dspID ?? 'NULL',\n // jobID,\n // objRef,\n filePath,\n 'image',\n fileName,\n geoTimeStampStr,\n processedFilePath\n );\n AppSyncManager.getInstance().startSDKSyncManager();\n return response.insertId;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'insertDocumentInDB',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return undefined;\n }\n}\n\nexport async function createFmsFolder(dispatchID: string) {\n const folderName = `dsp_${new Date()\n .toISOString()\n .slice(0, 10)\n .split('-')\n .join('')}`;\n let fmsFolder = await cache.getKeyFromCache(keys.FMS_FOLDER);\n const dspID = await cache.getKeyFromCache(keys.DISPATCH_ID);\n if (!isEmptyOrBlank(fmsFolder) && dspID != null && dspID === dispatchID) {\n return;\n } else {\n try {\n const response = await GraphQLClient.getInstance().createFmsFolder(\n folderName,\n `${dispatchID}`\n );\n if (!isEmptyOrBlank(response?.data?.createFolder?.id)) {\n Logger.getInstance().logEvent(\n 'createFmsFolder',\n 'Folder creation success!',\n LOG_TYPE.SDK_INFO\n );\n await cache.setKeyInCache(keys.FMS_FOLDER, folderName);\n } else {\n /* Logger.getInstance().logEvent(\n 'createFmsFolder',\n JSON.stringify(response?.data),\n LOG_TYPE.SDK_ERROR\n ); */\n throw new BaseError(\n ErrorCodes.FMS_FOLDER_CREATION_ERROR,\n JSON.stringify(response?.data)\n );\n }\n } catch (error: any) {\n if (\n error &&\n error.graphQLErrors &&\n error.graphQLErrors.length > 0 &&\n error.graphQLErrors[0]?.code === '100010213009'\n ) {\n await cache.setKeyInCache(keys.FMS_FOLDER, folderName);\n Logger.getInstance().logEvent(\n 'createFmsFolder',\n 'Folder already exists',\n LOG_TYPE.SDK_INFO\n );\n } else {\n Logger.getInstance().logEvent(\n 'createFmsFolder',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(ErrorCodes.FMS_GRAPHQL_API_ERROR, error.message);\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -23,4 +23,26 @@ export function isTokenExpired(accessToken) {
|
|
|
23
23
|
let decodedData = jwtDecode(accessToken);
|
|
24
24
|
return !(decodedData && decodedData.exp * 1000 > Date.now());
|
|
25
25
|
}
|
|
26
|
+
export function flattenObject(obj) {
|
|
27
|
+
let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
28
|
+
return JSON.stringify(obj);
|
|
29
|
+
// return Object.keys(obj).reduce((acc, key) => {
|
|
30
|
+
// const flatKey = prefix ? `${prefix}.${key}` : key;
|
|
31
|
+
// if (typeof obj[key] === 'object' && !Array.isArray(obj[key])) {
|
|
32
|
+
// return acc ?? '' + flattenObject(obj[key], flatKey);
|
|
33
|
+
// } else {
|
|
34
|
+
// return acc ?? '' + `${flatKey}: ${JSON.stringify(obj[key])}\n`;
|
|
35
|
+
// }
|
|
36
|
+
// }, '');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function createObjectWithoutNullValues(obj) {
|
|
40
|
+
const newObj = {};
|
|
41
|
+
for (const key in obj) {
|
|
42
|
+
if (Object.prototype.hasOwnProperty.call(obj, key) && obj[key] !== null && obj[key] !== 'request' && obj[key] !== 'headers') {
|
|
43
|
+
newObj[key] = obj[key];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return newObj;
|
|
47
|
+
}
|
|
26
48
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jwtDecode","isEmptyOrBlank","str","length","test","isMandatoryKeysPresent","obj","keys","i","undefined","isTokenExpired","accessToken","decodedData","exp","Date","now"],"sources":["utils.ts"],"sourcesContent":["import jwtDecode from 'jwt-decode';\n\nexport function isEmptyOrBlank(str: string | null | undefined) {\n return !str || str.length === 0 || /^\\s*$/.test(str);\n}\n\nexport function isMandatoryKeysPresent(obj: object, keys: string[]): boolean {\n if (!obj) return false;\n if (keys?.length === 0) return true;\n for (let i = 0; i < keys.length; i++) {\n // @ts-ignore\n if (\n // @ts-ignore\n !(keys[i] in obj) ||\n // @ts-ignore\n obj[keys[i]] === null ||\n // @ts-ignore\n obj[keys[i]] === undefined ||\n // @ts-ignore\n obj[keys[i]] === ''\n )\n return false;\n }\n return true;\n}\n\nexport function isTokenExpired(accessToken: string) {\n let decodedData: any = jwtDecode(accessToken);\n return !(decodedData && decodedData.exp * 1000 > Date.now());\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAElC,OAAO,SAASC,cAAcA,CAACC,GAA8B,EAAE;EAC7D,OAAO,CAACA,GAAG,IAAIA,GAAG,CAACC,MAAM,KAAK,CAAC,IAAI,OAAO,CAACC,IAAI,CAACF,GAAG,CAAC;AACtD;AAEA,OAAO,SAASG,sBAAsBA,CAACC,GAAW,EAAEC,IAAc,EAAW;EAC3E,IAAI,CAACD,GAAG,EAAE,OAAO,KAAK;EACtB,IAAI,CAAAC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEJ,MAAM,MAAK,CAAC,EAAE,OAAO,IAAI;EACnC,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,IAAI,CAACJ,MAAM,EAAEK,CAAC,EAAE,EAAE;IACpC;IACA;IACE;IACA,EAAED,IAAI,CAACC,CAAC,CAAC,IAAIF,GAAG,CAAC;IACjB;IACAA,GAAG,CAACC,IAAI,CAACC,CAAC,CAAC,CAAC,KAAK,IAAI;IACrB;IACAF,GAAG,CAACC,IAAI,CAACC,CAAC,CAAC,CAAC,KAAKC,SAAS;IAC1B;IACAH,GAAG,CAACC,IAAI,CAACC,CAAC,CAAC,CAAC,KAAK,EAAE,EAEnB,OAAO,KAAK;EAChB;EACA,OAAO,IAAI;AACb;AAEA,OAAO,SAASE,cAAcA,CAACC,WAAmB,EAAE;EAClD,IAAIC,WAAgB,GAAGZ,SAAS,CAACW,WAAW,CAAC;EAC7C,OAAO,EAAEC,WAAW,IAAIA,WAAW,CAACC,GAAG,GAAG,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;AAC9D"}
|
|
1
|
+
{"version":3,"names":["jwtDecode","isEmptyOrBlank","str","length","test","isMandatoryKeysPresent","obj","keys","i","undefined","isTokenExpired","accessToken","decodedData","exp","Date","now","flattenObject","prefix","arguments","JSON","stringify","createObjectWithoutNullValues","newObj","key","Object","prototype","hasOwnProperty","call"],"sources":["utils.ts"],"sourcesContent":["import jwtDecode from 'jwt-decode';\n\nexport function isEmptyOrBlank(str: string | null | undefined) {\n return !str || str.length === 0 || /^\\s*$/.test(str);\n}\n\nexport function isMandatoryKeysPresent(obj: object, keys: string[]): boolean {\n if (!obj) return false;\n if (keys?.length === 0) return true;\n for (let i = 0; i < keys.length; i++) {\n // @ts-ignore\n if (\n // @ts-ignore\n !(keys[i] in obj) ||\n // @ts-ignore\n obj[keys[i]] === null ||\n // @ts-ignore\n obj[keys[i]] === undefined ||\n // @ts-ignore\n obj[keys[i]] === ''\n )\n return false;\n }\n return true;\n}\n\nexport function isTokenExpired(accessToken: string) {\n let decodedData: any = jwtDecode(accessToken);\n return !(decodedData && decodedData.exp * 1000 > Date.now());\n}\n\nexport function flattenObject(obj: Record<string, any>, prefix = ''): string {\n return JSON.stringify(obj);\n // return Object.keys(obj).reduce((acc, key) => {\n // const flatKey = prefix ? `${prefix}.${key}` : key;\n // if (typeof obj[key] === 'object' && !Array.isArray(obj[key])) {\n // return acc ?? '' + flattenObject(obj[key], flatKey);\n // } else {\n // return acc ?? '' + `${flatKey}: ${JSON.stringify(obj[key])}\\n`;\n // }\n // }, '');\n}\n\n\nexport function createObjectWithoutNullValues<T extends { [key: string]: any }>(obj: T): Partial<T> {\n const newObj: Partial<T> = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && obj[key] !== null && obj[key] !== 'request' && obj[key] !== 'headers') {\n newObj[key] = obj[key];\n }\n }\n return newObj;\n}"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAElC,OAAO,SAASC,cAAcA,CAACC,GAA8B,EAAE;EAC7D,OAAO,CAACA,GAAG,IAAIA,GAAG,CAACC,MAAM,KAAK,CAAC,IAAI,OAAO,CAACC,IAAI,CAACF,GAAG,CAAC;AACtD;AAEA,OAAO,SAASG,sBAAsBA,CAACC,GAAW,EAAEC,IAAc,EAAW;EAC3E,IAAI,CAACD,GAAG,EAAE,OAAO,KAAK;EACtB,IAAI,CAAAC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEJ,MAAM,MAAK,CAAC,EAAE,OAAO,IAAI;EACnC,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,IAAI,CAACJ,MAAM,EAAEK,CAAC,EAAE,EAAE;IACpC;IACA;IACE;IACA,EAAED,IAAI,CAACC,CAAC,CAAC,IAAIF,GAAG,CAAC;IACjB;IACAA,GAAG,CAACC,IAAI,CAACC,CAAC,CAAC,CAAC,KAAK,IAAI;IACrB;IACAF,GAAG,CAACC,IAAI,CAACC,CAAC,CAAC,CAAC,KAAKC,SAAS;IAC1B;IACAH,GAAG,CAACC,IAAI,CAACC,CAAC,CAAC,CAAC,KAAK,EAAE,EAEnB,OAAO,KAAK;EAChB;EACA,OAAO,IAAI;AACb;AAEA,OAAO,SAASE,cAAcA,CAACC,WAAmB,EAAE;EAClD,IAAIC,WAAgB,GAAGZ,SAAS,CAACW,WAAW,CAAC;EAC7C,OAAO,EAAEC,WAAW,IAAIA,WAAW,CAACC,GAAG,GAAG,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;AAC9D;AAEA,OAAO,SAASC,aAAaA,CAACV,GAAwB,EAAuB;EAAA,IAArBW,MAAM,GAAAC,SAAA,CAAAf,MAAA,QAAAe,SAAA,QAAAT,SAAA,GAAAS,SAAA,MAAG,EAAE;EACjE,OAAOC,IAAI,CAACC,SAAS,CAACd,GAAG,CAAC;EAC1B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACF;;AAGA,OAAO,SAASe,6BAA6BA,CAAmCf,GAAM,EAAc;EAClG,MAAMgB,MAAkB,GAAG,CAAC,CAAC;EAC7B,KAAK,MAAMC,GAAG,IAAIjB,GAAG,EAAE;IACnB,IAAIkB,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACrB,GAAG,EAAEiB,GAAG,CAAC,IAAIjB,GAAG,CAACiB,GAAG,CAAC,KAAK,IAAI,IAAIjB,GAAG,CAACiB,GAAG,CAAC,KAAK,SAAS,IAAIjB,GAAG,CAACiB,GAAG,CAAC,KAAK,SAAS,EAAE;MACzHD,MAAM,CAACC,GAAG,CAAC,GAAGjB,GAAG,CAACiB,GAAG,CAAC;IAC1B;EACJ;EACA,OAAOD,MAAM;AACf"}
|
|
@@ -37,6 +37,9 @@ export declare enum ScreenNameSdkConstants {
|
|
|
37
37
|
API_ERROR = "API_ERROR "
|
|
38
38
|
}
|
|
39
39
|
export declare enum SentryEventNameSdkConstants {
|
|
40
|
+
API_CALL = "API_CALL",
|
|
41
|
+
API_RESPONSE = "API_RESPONSE",
|
|
42
|
+
API_ERROR = "API_ERROR",
|
|
40
43
|
BUTTON_CLICKED = "BUTTON_CLICKED",
|
|
41
44
|
SDK_INIT_STARTED = "SDK_INIT_STARTED",
|
|
42
45
|
SDK_INIT_DONE = "SDK_INIT_DONE",
|