@os1-platform/dispatch-mobile 2.1.11 → 2.1.12
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 +15 -9
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +1 -0
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +36 -16
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +2 -1
- package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +25 -12
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/module/analytics/firebase/FirebaseLogging.js +15 -9
- package/lib/module/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +1 -0
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +36 -16
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/ETEventsManager.js +2 -1
- package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js +25 -12
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/module/utils/Logger.js.map +1 -1
- package/package.json +11 -11
- package/src/analytics/firebase/FirebaseLogging.ts +18 -12
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +5 -0
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +45 -20
- package/src/manager/syncmanager/events/ETEventsManager.ts +2 -1
- package/src/manager/syncmanager/events/EventsSyncManager.ts +37 -16
- package/src/utils/Logger.ts +2 -1
|
@@ -8,17 +8,23 @@ var _analytics = _interopRequireDefault(require("@react-native-firebase/analytic
|
|
|
8
8
|
var _SentrySdkConstants = require("../sentry/SentrySdkConstants");
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
async function fireFirebaseEvent(eventName, data) {
|
|
11
|
-
let strEventVal =
|
|
11
|
+
let strEventVal = eventName;
|
|
12
12
|
console.log('fireFirebaseEvent:eventName', eventName);
|
|
13
13
|
console.log('fireFirebaseEvent:data', data.extra);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
try {
|
|
15
|
+
if (eventName === _SentrySdkConstants.SentryEventNameSdkConstants.API_CALL || eventName === _SentrySdkConstants.SentryEventNameSdkConstants.API_RESPONSE || eventName === _SentrySdkConstants.SentryEventNameSdkConstants.API_ERROR || eventName === _SentrySdkConstants.SentryEventNameSdkConstants.APP_LOG) {
|
|
16
|
+
if (data !== null && data !== void 0 && data.extra) {
|
|
17
|
+
strEventVal = JSON.stringify(data === null || data === void 0 ? void 0 : data.extra);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
console.log('fireFirebaseEvent:strEventVal', strEventVal);
|
|
21
|
+
(0, _analytics.default)().logEvent(eventName, {
|
|
22
|
+
eventNameData: strEventVal
|
|
23
|
+
});
|
|
24
|
+
} catch (error) {
|
|
25
|
+
(0, _analytics.default)().logEvent(eventName, {
|
|
26
|
+
eventNameData: 'fireFirebaseEvent error'
|
|
27
|
+
});
|
|
18
28
|
}
|
|
19
|
-
console.log('fireFirebaseEvent:strEventVal', strEventVal);
|
|
20
|
-
(0, _analytics.default)().logEvent(eventName, {
|
|
21
|
-
eventNameData: strEventVal
|
|
22
|
-
});
|
|
23
29
|
}
|
|
24
30
|
//# sourceMappingURL=FirebaseLogging.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_analytics","_interopRequireDefault","require","_SentrySdkConstants","obj","__esModule","default","fireFirebaseEvent","eventName","data","strEventVal","console","log","extra","SentryEventNameSdkConstants","API_CALL","API_RESPONSE","API_ERROR","JSON","stringify","analytics","logEvent","eventNameData"],"sources":["FirebaseLogging.ts"],"sourcesContent":["import analytics from '@react-native-firebase/analytics';\nimport {\n createObjectWithoutNullValues,\n flattenObject,\n} from '../../utils/utils';\nimport { Event } from '@sentry/types';\nimport { SentryEventNameSdkConstants } from '../sentry/SentrySdkConstants';\n\nexport async function fireFirebaseEvent(eventName: string, data: Event) {\n let strEventVal =
|
|
1
|
+
{"version":3,"names":["_analytics","_interopRequireDefault","require","_SentrySdkConstants","obj","__esModule","default","fireFirebaseEvent","eventName","data","strEventVal","console","log","extra","SentryEventNameSdkConstants","API_CALL","API_RESPONSE","API_ERROR","APP_LOG","JSON","stringify","analytics","logEvent","eventNameData","error"],"sources":["FirebaseLogging.ts"],"sourcesContent":["import analytics from '@react-native-firebase/analytics';\nimport {\n createObjectWithoutNullValues,\n flattenObject,\n} from '../../utils/utils';\nimport { Event } from '@sentry/types';\nimport { SentryEventNameSdkConstants } from '../sentry/SentrySdkConstants';\nimport crashlytics from '@react-native-firebase/crashlytics';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\n\nexport async function fireFirebaseEvent(eventName: string, data: Event) {\n let strEventVal = eventName;\n console.log('fireFirebaseEvent:eventName', eventName);\n console.log('fireFirebaseEvent:data', data.extra);\n try {\n if (\n eventName === SentryEventNameSdkConstants.API_CALL ||\n eventName === SentryEventNameSdkConstants.API_RESPONSE || \n eventName === SentryEventNameSdkConstants.API_ERROR ||\n eventName === SentryEventNameSdkConstants.APP_LOG\n ) {\n if(data?.extra){\n strEventVal = JSON.stringify(data?.extra);\n }\n }\n console.log('fireFirebaseEvent:strEventVal', strEventVal);\n analytics().logEvent(eventName, { eventNameData: strEventVal });\n } catch (error: any) {\n analytics().logEvent(eventName, { eventNameData: 'fireFirebaseEvent error' });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,mBAAA,GAAAD,OAAA;AAA2E,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAIpE,eAAeG,iBAAiBA,CAACC,SAAiB,EAAEC,IAAW,EAAE;EACtE,IAAIC,WAAW,GAAGF,SAAS;EAC3BG,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAEJ,SAAS,CAAC;EACrDG,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEH,IAAI,CAACI,KAAK,CAAC;EACjD,IAAI;IACF,IACEL,SAAS,KAAKM,+CAA2B,CAACC,QAAQ,IAClDP,SAAS,KAAKM,+CAA2B,CAACE,YAAY,IACtDR,SAAS,KAAKM,+CAA2B,CAACG,SAAS,IACnDT,SAAS,KAAKM,+CAA2B,CAACI,OAAO,EACjD;MACA,IAAGT,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEI,KAAK,EAAC;QACbH,WAAW,GAAGS,IAAI,CAACC,SAAS,CAACX,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,KAAK,CAAC;MAC3C;IACF;IACAF,OAAO,CAACC,GAAG,CAAC,+BAA+B,EAAEF,WAAW,CAAC;IACzD,IAAAW,kBAAS,EAAC,CAAC,CAACC,QAAQ,CAACd,SAAS,EAAE;MAAEe,aAAa,EAAEb;IAAY,CAAC,CAAC;EACjE,CAAC,CAAC,OAAOc,KAAU,EAAE;IACnB,IAAAH,kBAAS,EAAC,CAAC,CAACC,QAAQ,CAACd,SAAS,EAAE;MAAEe,aAAa,EAAE;IAA0B,CAAC,CAAC;EAC/E;AACF"}
|
|
@@ -75,6 +75,7 @@ class DocumentHttpClient extends _client.default {
|
|
|
75
75
|
_Logger.default.getInstance().logEvent('uploadDocument:uploadBinaryFileResponse', (0, _utils.flattenObject)(extraParameters), _Logger.LOG_TYPE.SDK_ERROR);
|
|
76
76
|
if (uploadResponse != null && uploadResponse.status === 202 && uploadResponse.body != null) {
|
|
77
77
|
var _JSON$parse;
|
|
78
|
+
_Logger.default.getInstance().logEvent('uploadDocument:DeletingFiles', (0, _utils.flattenObject)(extraParameters), _Logger.LOG_TYPE.SDK_ERROR);
|
|
78
79
|
FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE
|
|
79
80
|
FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE
|
|
80
81
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_client","_interopRequireDefault","require","_expoFileSystem","_interopRequireWildcard","FileSystem","_DispatchSdkCache","_Logger","_reactNativeFs","_SentrySdkConstants","_SentryAnalyticsUtils","_utils","_callbacksHandler","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","cache","DispatchSdkCache","getInstance","cacheKeys","KEYS","DocumentHttpClient","HttpClient","constructor","baseURL","uploadDocument","document","base64","data","response","uploadBase64File","info","body","status","substring","String","extraParameters","fName","file_name","length","dName","fms_folder_id","dispId","dispatch_id","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","API_RESPONSE","screenName","extraParams","Logger","logEvent","flattenObject","LOG_TYPE","SDK_ERROR","id","uploadResponse","uploadBinaryFile","_JSON$parse","deleteAsync","file_path","then","catch","processed_file_path","JSON","parse","dataToUpload","undefined","requestBody","stringify","file","type","description","desc","tags","key","value","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","isTokenExpired","accessToken","callbackHandler","refresheAndUpdateToken","API_CALL","instance","post","headers","tenantID","filePathToUpload","processedFileExist","RNFS","exists","url","tenantBaseURL","uploadAsync","httpMethod","uploadType","FileSystemUploadType","MULTIPART","fieldName","parameters","exports"],"sources":["DocumentHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport type { DocumentRow } from '../DBConfig';\nimport type { AxiosResponse } from 'axios';\nimport * as FileSystem from 'expo-file-system';\nimport { FileSystemUploadResult, FileSystemUploadType } from 'expo-file-system';\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { DispatchSDKConfig } from '../../../models/sdk';\nimport RNFS from 'react-native-fs';\nimport { stat } from 'react-native-fs';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport { flattenObject, isTokenExpired } from '../../../utils/utils';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst cache = DispatchSdkCache.getInstance();\nconst cacheKeys = DispatchSdkCache.KEYS;\nexport default class DocumentHttpClient extends HttpClient {\n constructor(baseURL: string) {\n super(baseURL);\n }\n public async uploadDocument(document: DocumentRow): Promise<string | null> {\n if (document.base64 && document.data != null) {\n const response = await this.uploadBase64File(document);\n let info = '';\n if (\n response &&\n response.data !== null &&\n response.data.body !== null &&\n response.status !== 202\n ) {\n let body = response.data.body;\n info = body.substring(40);\n } else {\n info = String(response.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Base64_File_Response',\n extraParams: extraParameters,\n });\n\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBase64FileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n response &&\n response.data != null &&\n response.data.data != null &&\n response.data.data.id &&\n response.status === 202\n ) {\n return response.data.data.id;\n }else{\n return null;\n }\n } else {\n const uploadResponse = await this.uploadBinaryFile(document);\n let info = '';\n if (\n uploadResponse &&\n uploadResponse.body !== null &&\n uploadResponse.status !== 202\n ) {\n let body = uploadResponse.body;\n info = body.substring(40);\n } else {\n info = String(uploadResponse.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Binary_File_Response',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBinaryFileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n uploadResponse != null &&\n uploadResponse.status === 202 &&\n uploadResponse.body != null\n ) {\n FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE\n FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE\n\n return JSON.parse(uploadResponse.body)?.data?.id;\n }else{\n return null;\n }\n }\n }\n\n // This function will upload processed base64 data (overlayed base64 data ) if exist otherwise will uplaod original base 64 data for pod signature.\n public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {\n let dataToUpload = document.data;\n if (\n document.processed_file_path !== null &&\n document.processed_file_path !== undefined &&\n document.processed_file_path !== ''\n ) {\n dataToUpload = document.processed_file_path;\n }\n let requestBody = JSON.stringify({\n file: {\n type: 'FILE',\n data: dataToUpload,\n },\n description: document.desc,\n tags: [\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ],\n fileName: document.file_name,\n });\n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Base64_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBase64FileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return this.instance.post(\n `/api/folders/${document.fms_folder_id}/files`,\n requestBody,\n {\n headers: {\n 'accept': 'application/json',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'Content-Type': 'application/json',\n },\n }\n );\n }\n\n // This function will upload processed (overlayed file) if exist otherwise will uplaod original file for pod images.\n private async uploadBinaryFile(\n document: DocumentRow\n ): Promise<FileSystemUploadResult> {\n \n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n\n let filePathToUpload = document.file_path;\n let processedFileExist = await RNFS.exists(document.processed_file_path);\n if (processedFileExist) {\n filePathToUpload = document.processed_file_path;\n }\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n \n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Binary_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return FileSystem.uploadAsync(url, filePathToUpload, {\n headers: {\n 'accept': 'application/json',\n 'Content-Type': 'multipart/form-data',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n },\n httpMethod: 'POST',\n uploadType: FileSystemUploadType.MULTIPART,\n fieldName: 'file',\n parameters: {\n tags: JSON.stringify([\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ]),\n },\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_client","_interopRequireDefault","require","_expoFileSystem","_interopRequireWildcard","FileSystem","_DispatchSdkCache","_Logger","_reactNativeFs","_SentrySdkConstants","_SentryAnalyticsUtils","_utils","_callbacksHandler","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","cache","DispatchSdkCache","getInstance","cacheKeys","KEYS","DocumentHttpClient","HttpClient","constructor","baseURL","uploadDocument","document","base64","data","response","uploadBase64File","info","body","status","substring","String","extraParameters","fName","file_name","length","dName","fms_folder_id","dispId","dispatch_id","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","API_RESPONSE","screenName","extraParams","Logger","logEvent","flattenObject","LOG_TYPE","SDK_ERROR","id","uploadResponse","uploadBinaryFile","_JSON$parse","deleteAsync","file_path","then","catch","processed_file_path","JSON","parse","dataToUpload","undefined","requestBody","stringify","file","type","description","desc","tags","key","value","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","isTokenExpired","accessToken","callbackHandler","refresheAndUpdateToken","API_CALL","instance","post","headers","tenantID","filePathToUpload","processedFileExist","RNFS","exists","url","tenantBaseURL","uploadAsync","httpMethod","uploadType","FileSystemUploadType","MULTIPART","fieldName","parameters","exports"],"sources":["DocumentHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport type { DocumentRow } from '../DBConfig';\nimport type { AxiosResponse } from 'axios';\nimport * as FileSystem from 'expo-file-system';\nimport { FileSystemUploadResult, FileSystemUploadType } from 'expo-file-system';\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { DispatchSDKConfig } from '../../../models/sdk';\nimport RNFS from 'react-native-fs';\nimport { stat } from 'react-native-fs';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport { flattenObject, isTokenExpired } from '../../../utils/utils';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst cache = DispatchSdkCache.getInstance();\nconst cacheKeys = DispatchSdkCache.KEYS;\nexport default class DocumentHttpClient extends HttpClient {\n constructor(baseURL: string) {\n super(baseURL);\n }\n public async uploadDocument(document: DocumentRow): Promise<string | null> {\n if (document.base64 && document.data != null) {\n const response = await this.uploadBase64File(document);\n let info = '';\n if (\n response &&\n response.data !== null &&\n response.data.body !== null &&\n response.status !== 202\n ) {\n let body = response.data.body;\n info = body.substring(40);\n } else {\n info = String(response.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Base64_File_Response',\n extraParams: extraParameters,\n });\n\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBase64FileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n response &&\n response.data != null &&\n response.data.data != null &&\n response.data.data.id &&\n response.status === 202\n ) {\n return response.data.data.id;\n }else{\n return null;\n }\n } else {\n const uploadResponse = await this.uploadBinaryFile(document);\n let info = '';\n if (\n uploadResponse &&\n uploadResponse.body !== null &&\n uploadResponse.status !== 202\n ) {\n let body = uploadResponse.body;\n info = body.substring(40);\n } else {\n info = String(uploadResponse.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Binary_File_Response',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBinaryFileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n uploadResponse != null &&\n uploadResponse.status === 202 &&\n uploadResponse.body != null\n ) {\n Logger.getInstance().logEvent(\n 'uploadDocument:DeletingFiles',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE\n FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE\n\n return JSON.parse(uploadResponse.body)?.data?.id;\n }else{\n return null;\n }\n }\n }\n\n // This function will upload processed base64 data (overlayed base64 data ) if exist otherwise will uplaod original base 64 data for pod signature.\n public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {\n let dataToUpload = document.data;\n if (\n document.processed_file_path !== null &&\n document.processed_file_path !== undefined &&\n document.processed_file_path !== ''\n ) {\n dataToUpload = document.processed_file_path;\n }\n let requestBody = JSON.stringify({\n file: {\n type: 'FILE',\n data: dataToUpload,\n },\n description: document.desc,\n tags: [\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ],\n fileName: document.file_name,\n });\n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Base64_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBase64FileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return this.instance.post(\n `/api/folders/${document.fms_folder_id}/files`,\n requestBody,\n {\n headers: {\n 'accept': 'application/json',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'Content-Type': 'application/json',\n },\n }\n );\n }\n\n // This function will upload processed (overlayed file) if exist otherwise will uplaod original file for pod images.\n private async uploadBinaryFile(\n document: DocumentRow\n ): Promise<FileSystemUploadResult> {\n \n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n\n let filePathToUpload = document.file_path;\n let processedFileExist = await RNFS.exists(document.processed_file_path);\n if (processedFileExist) {\n filePathToUpload = document.processed_file_path;\n }\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n \n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Binary_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return FileSystem.uploadAsync(url, filePathToUpload, {\n headers: {\n 'accept': 'application/json',\n 'Content-Type': 'multipart/form-data',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n },\n httpMethod: 'POST',\n uploadType: FileSystemUploadType.MULTIPART,\n fieldName: 'file',\n parameters: {\n tags: JSON.stringify([\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ]),\n },\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -66,6 +66,17 @@ class DocumentSyncManager {
|
|
|
66
66
|
let documentRows = await this.docManager.getUnsyncedDocument();
|
|
67
67
|
if ((documentRows === null || documentRows === void 0 ? void 0 : documentRows.length) > 0) {
|
|
68
68
|
await this.uploadDocToServer(documentRows[0]);
|
|
69
|
+
let cta = 'startDocumentSync-DataAvailable';
|
|
70
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
71
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
72
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.APP_LOG,
|
|
73
|
+
screenName: cta,
|
|
74
|
+
cta: cta,
|
|
75
|
+
extraParams: {
|
|
76
|
+
msg: JSON.stringify(documentRows[0])
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
_Logger.default.getInstance().logEvent(cta, JSON.stringify(documentRows[0]), _Logger.LOG_TYPE.SDK_ERROR);
|
|
69
80
|
} else {
|
|
70
81
|
let cta = 'startDocumentSync-NoData';
|
|
71
82
|
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
@@ -109,8 +120,7 @@ class DocumentSyncManager {
|
|
|
109
120
|
let syncPending = await this.isSyncPending();
|
|
110
121
|
if (syncPending && hasNetwork) {
|
|
111
122
|
await this.startDocumentSync();
|
|
112
|
-
|
|
113
|
-
let cta = 'startDocumentSync-error';
|
|
123
|
+
let cta = 'startDocumentSync-finally-sync-pending';
|
|
114
124
|
let extraParameters = {
|
|
115
125
|
hasNetwork: hasNetwork,
|
|
116
126
|
pending: syncPending
|
|
@@ -128,7 +138,7 @@ class DocumentSyncManager {
|
|
|
128
138
|
}
|
|
129
139
|
}
|
|
130
140
|
} else {
|
|
131
|
-
let cta = 'startDocumentSync';
|
|
141
|
+
let cta = 'startDocumentSync-max-count-reach-in-progress';
|
|
132
142
|
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
133
143
|
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
134
144
|
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.APP_LOG,
|
|
@@ -157,17 +167,6 @@ class DocumentSyncManager {
|
|
|
157
167
|
(0, _utils.isEmptyOrBlank)(fileType) || (0, _utils.isEmptyOrBlank)(fileName) || base64 && (0, _utils.isEmptyOrBlank)(data) || !base64 && (0, _utils.isEmptyOrBlank)(filePath)) throw new _BaseError.BaseError(_ErrorCodes.default.InvalidArgumentError, _ErrorCodes.InvalidArgumentsError);else {
|
|
158
168
|
var _this$docManager;
|
|
159
169
|
if (!this.docManager) {
|
|
160
|
-
let cta = 'insertDocument';
|
|
161
|
-
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
162
|
-
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
163
|
-
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.APP_LOG,
|
|
164
|
-
screenName: cta,
|
|
165
|
-
cta: cta,
|
|
166
|
-
extraParams: {
|
|
167
|
-
msg: 'INIT DOC SYNC AGAIN'
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
_Logger.default.getInstance().logEvent(cta, 'INIT DOC SYNC AGAIN', _Logger.LOG_TYPE.SDK_ERROR);
|
|
171
170
|
this.docManager = await _DocumentManager.default.getInstance();
|
|
172
171
|
}
|
|
173
172
|
console.log('insertDocument1:', fmsFolderID);
|
|
@@ -175,6 +174,17 @@ class DocumentSyncManager {
|
|
|
175
174
|
// jobID,
|
|
176
175
|
// objRef,
|
|
177
176
|
base64, fileName, fileType, data, filePath, geoTimeStamp, processedFilePath, priority));
|
|
177
|
+
let cta = 'insertDocument';
|
|
178
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
179
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
180
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.APP_LOG,
|
|
181
|
+
screenName: cta,
|
|
182
|
+
cta: cta,
|
|
183
|
+
extraParams: {
|
|
184
|
+
msg: 'INIT DOC SYNC AGAIN'
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
_Logger.default.getInstance().logEvent(cta, 'INIT DOC SYNC AGAIN', _Logger.LOG_TYPE.SDK_ERROR);
|
|
178
188
|
return insertResponse;
|
|
179
189
|
}
|
|
180
190
|
}
|
|
@@ -212,7 +222,17 @@ class DocumentSyncManager {
|
|
|
212
222
|
let extraParameters = {
|
|
213
223
|
podId: podId
|
|
214
224
|
};
|
|
215
|
-
|
|
225
|
+
let cta = 'updateDocumentWithAttempt-success';
|
|
226
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
227
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
228
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.APP_LOG,
|
|
229
|
+
screenName: cta,
|
|
230
|
+
cta: cta,
|
|
231
|
+
extraParams: {
|
|
232
|
+
msg: (0, _utils.flattenObject)(extraParameters)
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
_Logger.default.getInstance().logEvent(cta, (0, _utils.flattenObject)(extraParameters), _Logger.LOG_TYPE.SDK_ERROR);
|
|
216
236
|
// Calling update method for attempt count and sync to update event row of type POD_DOC
|
|
217
237
|
await eventsManager.markPODDocEventSynced(sync, attempt, podId);
|
|
218
238
|
if (sync == 1) {
|
|
@@ -580,7 +600,7 @@ class DocumentSyncManager {
|
|
|
580
600
|
cta: cta,
|
|
581
601
|
extraParams: extraParameters ? extraParameters : error
|
|
582
602
|
});
|
|
583
|
-
_Logger.default.getInstance().logEvent(cta, extraParameters ? (0, _utils.flattenObject)(extraParameters) : error, _Logger.LOG_TYPE.SDK_ERROR);
|
|
603
|
+
_Logger.default.getInstance().logEvent(cta, extraParameters ? (0, _utils.flattenObject)(extraParameters) : (0, _utils.flattenObject)(error), _Logger.LOG_TYPE.SDK_ERROR);
|
|
584
604
|
if (!this.docManager) {
|
|
585
605
|
this.docManager = await _DocumentManager.default.getInstance();
|
|
586
606
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_DocumentManager","_interopRequireDefault","require","_DocumentHttpClient","_utils","_BaseError","_ErrorCodes","_interopRequireWildcard","_Logger","_NetworkUtil","_ETEventsManager","_constants","_EventsSyncManager","_reactNativeImageMarker","_reactNativeFs","_storage","_reactNative","_SentrySdkConstants","_SentryAnalyticsUtils","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","latlngToDms","DocumentSyncManager","retries","_retries","constructor","MAX_RETRY_COUNT","init","baseURL","retryCount","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidBaseURL","maxRetryCount","documentHttpClient","DocumentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","NetworkUtil","isAvailableAsync","checkForInitialization","docManager","DocumentManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","APP_LOG","screenName","extraParams","msg","Logger","logEvent","LOG_TYPE","SDK_ERROR","error","flattenObject","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","arguments","InvalidArgumentError","InvalidArgumentsError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","ETEventsManager","podId","POD_DOC","markPODDocEventSynced","lastSyncedEventId","Storage","getSharedItem","LAST_SYNCED_EVENT_ID","syncEventId","parseInt","setSharedItem","EventsSyncManager","startSync","err","SDK_WARNING","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","ERROR","APP_ERROR","updateDocError","uploadError","updateDocSyncError","SyncManagerNotInitialized","processImageData","processed_file_path","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","Platform","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","Position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","TextBackgroundType","none","quality","filename","saveFormat","ImageFormat","jpg","Marker","markText","completeFilePath","includes","processBase64Data","imagePath","RNFS","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","geoStampAvailable","uploadDocument","startSyncAfterMaxRetry","_error$response","_error$response2","API_ERROR","stringify","message","response","status","updateDocPriority","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","exports"],"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 ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\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 = MAX_RETRY_COUNT;\n private _retries = 0;\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 let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:'No data to sync'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No data to sync',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n let cta = 'startDocumentSync-error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(error)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n }else{\n let cta = 'startDocumentSync-error'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\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 let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:'INIT DOC SYNC AGAIN'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_ERROR\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 // let eventsManager = await ETEventsManager.getInstance();\n // let podId = POD_DOC + '_' + documentRow.id;\n // await eventsManager.markPODDocEventSynced(1, 1, podId);\n // EventsSyncManager.getInstance().startSync();\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 will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n let extraParameters = {\n podId: podId,\n };\n Logger.getInstance().logEvent(\n 'updateDocumentWithAttempt-success',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if(sync == 1){\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n let cta = 'updateDocumentWithAttempt'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\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 let cta = 'updateDocument-updateDocumentProcessedPath'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\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 let cta = 'updateDocError'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\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 cta = 'processImageData-started';\n let extra = {\n msg: 'processImageData-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4): '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4): '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\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 let cta = 'processImageData-completed';\n let extra = {\n msg: 'processImageData-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4): '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4): '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\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 cta = 'processBase64Data-started';\n let extra = {\n msg: 'processBase64Data-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4): '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4): '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\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 let cta = 'processBase64Data-completed';\n let extra = {\n msg: 'processBase64Data-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4): '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4): '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\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 = documentRow;\n let cta = 'uploadDocToServer-geoStamp';\n let geoStampAvailable = false\n if(documentRow.geo_timestamp && documentRow.geo_timestamp.length != 0){\n geoStampAvailable = true;\n docRow = await this.processPODData(documentRow);\n }\n let extra = {\n msg: geoStampAvailable ? \"geoStamp availale\" : 'geoStamp not availale',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4): '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4): '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n console.log('uploadDocToServer999:', docRow);\n let fmsID = await this.documentHttpClient?.uploadDocument(docRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4): '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4): '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9): ''\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n // Calling function updating document row along with attempt count and sync as true.\n await this.updateDocumentWithAttempt(\n documentRow,\n fmsID,\n this._retries + 1,\n 1\n );\n this._retries = 0;\n // await this.updateDocument(docRow, fmsID);\n } else {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n this._retries++;\n let cta = 'uploadDocToServer-empty-fms-id'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n this.startSyncAfterMaxRetry(extraParameters, null);\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\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: flattenObject(error),\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n this._retries++;\n this.startSyncAfterMaxRetry(null, error);\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 private async startSyncAfterMaxRetry(extraParameters:any, error:any){\n if(this.retries >= this.maxRetryCount){\n let cta = 'startSyncAfterMaxRetry-max-retry-reached'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters ? extraParameters : error,\n });\n Logger.getInstance().logEvent(\n cta,\n extraParameters ? flattenObject(extraParameters) : error,\n LOG_TYPE.SDK_ERROR\n );\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.docManager.updateDocPriority(documentRows[0].id, documentRows[0].priority + 1);\n this._retries = 0;\n this.startDocumentSync();\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","_interopRequireDefault","require","_DocumentHttpClient","_utils","_BaseError","_ErrorCodes","_interopRequireWildcard","_Logger","_NetworkUtil","_ETEventsManager","_constants","_EventsSyncManager","_reactNativeImageMarker","_reactNativeFs","_storage","_reactNative","_SentrySdkConstants","_SentryAnalyticsUtils","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","latlngToDms","DocumentSyncManager","retries","_retries","constructor","MAX_RETRY_COUNT","init","baseURL","retryCount","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidBaseURL","maxRetryCount","documentHttpClient","DocumentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","NetworkUtil","isAvailableAsync","checkForInitialization","docManager","DocumentManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","APP_LOG","screenName","extraParams","msg","JSON","stringify","Logger","logEvent","LOG_TYPE","SDK_ERROR","error","flattenObject","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","arguments","InvalidArgumentError","InvalidArgumentsError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","ETEventsManager","podId","POD_DOC","markPODDocEventSynced","lastSyncedEventId","Storage","getSharedItem","LAST_SYNCED_EVENT_ID","syncEventId","parseInt","setSharedItem","EventsSyncManager","startSync","err","SDK_WARNING","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","ERROR","APP_ERROR","updateDocError","uploadError","updateDocSyncError","SyncManagerNotInitialized","processImageData","processed_file_path","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","Platform","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","Position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","TextBackgroundType","none","quality","filename","saveFormat","ImageFormat","jpg","Marker","markText","completeFilePath","includes","processBase64Data","imagePath","RNFS","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","geoStampAvailable","uploadDocument","startSyncAfterMaxRetry","_error$response","_error$response2","API_ERROR","message","response","status","updateDocPriority","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","exports"],"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 ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\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 = MAX_RETRY_COUNT;\n private _retries = 0;\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 let cta = 'startDocumentSync-DataAvailable'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: JSON.stringify(documentRows[0])\n },\n });\n Logger.getInstance().logEvent(\n cta,\n JSON.stringify(documentRows[0]),\n LOG_TYPE.SDK_ERROR\n );\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:'No data to sync'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No data to sync',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n let cta = 'startDocumentSync-error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(error)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\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 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 let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:'INIT DOC SYNC AGAIN'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_ERROR\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 // let eventsManager = await ETEventsManager.getInstance();\n // let podId = POD_DOC + '_' + documentRow.id;\n // await eventsManager.markPODDocEventSynced(1, 1, podId);\n // EventsSyncManager.getInstance().startSync();\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 will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if(sync == 1){\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n let cta = 'updateDocumentWithAttempt'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\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 let cta = 'updateDocument-updateDocumentProcessedPath'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\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 let cta = 'updateDocError'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg:flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\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 cta = 'processImageData-started';\n let extra = {\n msg: 'processImageData-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4): '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4): '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\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 let cta = 'processImageData-completed';\n let extra = {\n msg: 'processImageData-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4): '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4): '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\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 cta = 'processBase64Data-started';\n let extra = {\n msg: 'processBase64Data-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4): '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4): '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\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 let cta = 'processBase64Data-completed';\n let extra = {\n msg: 'processBase64Data-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4): '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4): '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\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 = documentRow;\n let cta = 'uploadDocToServer-geoStamp';\n let geoStampAvailable = false\n if(documentRow.geo_timestamp && documentRow.geo_timestamp.length != 0){\n geoStampAvailable = true;\n docRow = await this.processPODData(documentRow);\n }\n let extra = {\n msg: geoStampAvailable ? \"geoStamp availale\" : 'geoStamp not availale',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4): '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4): '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9): ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n console.log('uploadDocToServer999:', docRow);\n let fmsID = await this.documentHttpClient?.uploadDocument(docRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4): '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4): '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9): ''\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n // Calling function updating document row along with attempt count and sync as true.\n await this.updateDocumentWithAttempt(\n documentRow,\n fmsID,\n this._retries + 1,\n 1\n );\n this._retries = 0;\n // await this.updateDocument(docRow, fmsID);\n } else {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n this._retries++;\n let cta = 'uploadDocToServer-empty-fms-id'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n this.startSyncAfterMaxRetry(extraParameters, null);\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\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: flattenObject(error),\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n this._retries++;\n this.startSyncAfterMaxRetry(null, error);\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 private async startSyncAfterMaxRetry(extraParameters:any, error:any){\n if(this.retries >= this.maxRetryCount){\n let cta = 'startSyncAfterMaxRetry-max-retry-reached'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters ? extraParameters : error,\n });\n Logger.getInstance().logEvent(\n cta,\n extraParameters ? flattenObject(extraParameters) : flattenObject((error)),\n LOG_TYPE.SDK_ERROR\n );\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.docManager.updateDocPriority(documentRows[0].id, documentRows[0].priority + 1);\n this._retries = 0;\n this.startDocumentSync();\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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"}
|
|
@@ -501,7 +501,8 @@ class ETEventsManager {
|
|
|
501
501
|
async getRowToSync(id, dispatchId) {
|
|
502
502
|
const sqlResult = await Database.executeQuery(`SELECT * from ${_DBConfig.EVENTS_TABLE}\
|
|
503
503
|
WHERE ${_DBConfig.EVENTS_COLUMNS.ID} = ? and \
|
|
504
|
-
${_DBConfig.EVENTS_COLUMNS.DISPATCH_ID} = ? \
|
|
504
|
+
${_DBConfig.EVENTS_COLUMNS.DISPATCH_ID} = ? and \
|
|
505
|
+
${_DBConfig.EVENTS_COLUMNS.SYNCED} = 0 \
|
|
505
506
|
ORDER BY ${_DBConfig.EVENTS_COLUMNS.ID} ASC;`, [id, dispatchId]);
|
|
506
507
|
return sqlResult.rows._array;
|
|
507
508
|
}
|