@os1-platform/dispatch-mobile 2.1.6 → 2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +16 -15
- 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 +206 -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 +16 -15
- 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 +207 -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 -17
- 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 +230 -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
|
@@ -9,6 +9,10 @@ var _expoFileSystem = _interopRequireWildcard(require("expo-file-system"));
|
|
|
9
9
|
var FileSystem = _expoFileSystem;
|
|
10
10
|
var _DispatchSdkCache = _interopRequireDefault(require("../../sdk/DispatchSdkCache"));
|
|
11
11
|
var _Logger = _interopRequireWildcard(require("../../../utils/Logger"));
|
|
12
|
+
var _reactNativeFs = _interopRequireDefault(require("react-native-fs"));
|
|
13
|
+
var _SentrySdkConstants = require("../../../analytics/sentry/SentrySdkConstants");
|
|
14
|
+
var _SentryAnalyticsUtils = require("../../../analytics/sentry/SentryAnalyticsUtils");
|
|
15
|
+
var _utils = require("../../../utils/utils");
|
|
12
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -21,6 +25,23 @@ class DocumentHttpClient extends _client.default {
|
|
|
21
25
|
async uploadDocument(document) {
|
|
22
26
|
if (document.base64 && document.data != null) {
|
|
23
27
|
const response = await this.uploadBase64File(document);
|
|
28
|
+
let info = '';
|
|
29
|
+
if (response && response.data !== null && response.data.body !== null && response.status !== 202) {
|
|
30
|
+
let body = response.data.body;
|
|
31
|
+
info = body.substring(40);
|
|
32
|
+
} else {
|
|
33
|
+
info = String(response.status);
|
|
34
|
+
}
|
|
35
|
+
let extraParameters = {
|
|
36
|
+
response: info
|
|
37
|
+
};
|
|
38
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
39
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
40
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.API_RESPONSE,
|
|
41
|
+
screenName: 'Upload_Base64_File_Response',
|
|
42
|
+
extraParams: extraParameters
|
|
43
|
+
});
|
|
44
|
+
_Logger.default.getInstance().logEvent('uploadBase64FileResponse', (0, _utils.flattenObject)(extraParameters), _Logger.LOG_TYPE.SDK_ERROR);
|
|
24
45
|
if (response && response.data != null && response.data.data != null && response.data.data.id && response.status === 202) {
|
|
25
46
|
return response.data.data.id;
|
|
26
47
|
} else {
|
|
@@ -28,21 +49,45 @@ class DocumentHttpClient extends _client.default {
|
|
|
28
49
|
}
|
|
29
50
|
} else {
|
|
30
51
|
const uploadResponse = await this.uploadBinaryFile(document);
|
|
31
|
-
|
|
52
|
+
let info = '';
|
|
53
|
+
if (uploadResponse && uploadResponse.body !== null && uploadResponse.status !== 202) {
|
|
54
|
+
let body = uploadResponse.body;
|
|
55
|
+
info = body.substring(40);
|
|
56
|
+
} else {
|
|
57
|
+
info = String(uploadResponse.status);
|
|
58
|
+
}
|
|
59
|
+
let extraParams = {
|
|
60
|
+
response: info
|
|
61
|
+
};
|
|
62
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
63
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
64
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.API_RESPONSE,
|
|
65
|
+
screenName: 'Upload_Binary_File_Response',
|
|
66
|
+
extraParams: extraParams
|
|
67
|
+
});
|
|
68
|
+
_Logger.default.getInstance().logEvent('uploadBinaryFileResponse', (0, _utils.flattenObject)(extraParams), _Logger.LOG_TYPE.SDK_ERROR);
|
|
32
69
|
if (uploadResponse != null && uploadResponse.status === 202 && uploadResponse.body != null) {
|
|
33
70
|
var _JSON$parse;
|
|
34
71
|
FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE
|
|
72
|
+
FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE
|
|
73
|
+
|
|
35
74
|
return (_JSON$parse = JSON.parse(uploadResponse.body)) === null || _JSON$parse === void 0 || (_JSON$parse = _JSON$parse.data) === null || _JSON$parse === void 0 ? void 0 : _JSON$parse.id;
|
|
36
75
|
} else {
|
|
37
76
|
return null;
|
|
38
77
|
}
|
|
39
78
|
}
|
|
40
79
|
}
|
|
80
|
+
|
|
81
|
+
// This function will upload processed base64 data (overlayed base64 data ) if exist otherwise will uplaod original base 64 data for pod signature.
|
|
41
82
|
async uploadBase64File(document) {
|
|
83
|
+
let dataToUpload = document.data;
|
|
84
|
+
if (document.processed_file_path !== null && document.processed_file_path !== undefined && document.processed_file_path !== '') {
|
|
85
|
+
dataToUpload = document.processed_file_path;
|
|
86
|
+
}
|
|
42
87
|
let requestBody = JSON.stringify({
|
|
43
88
|
file: {
|
|
44
89
|
type: 'FILE',
|
|
45
|
-
data:
|
|
90
|
+
data: dataToUpload
|
|
46
91
|
},
|
|
47
92
|
description: document.desc,
|
|
48
93
|
tags: [{
|
|
@@ -58,6 +103,17 @@ class DocumentHttpClient extends _client.default {
|
|
|
58
103
|
fileName: document.file_name
|
|
59
104
|
});
|
|
60
105
|
const sdkConfig = await cache.getObjectFromCache(cacheKeys.SDK_CONFIG);
|
|
106
|
+
let extraParams = {
|
|
107
|
+
fileName: document.file_name,
|
|
108
|
+
folderName: document.fms_folder_id
|
|
109
|
+
};
|
|
110
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
111
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
112
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.API_CALL,
|
|
113
|
+
screenName: 'Upload_Base64_File_Request',
|
|
114
|
+
extraParams: extraParams
|
|
115
|
+
});
|
|
116
|
+
_Logger.default.getInstance().logEvent('uploadBase64FileRequest', (0, _utils.flattenObject)(extraParams), _Logger.LOG_TYPE.SDK_ERROR);
|
|
61
117
|
return this.instance.post(`/api/folders/${document.fms_folder_id}/files`, requestBody, {
|
|
62
118
|
headers: {
|
|
63
119
|
'accept': 'application/json',
|
|
@@ -68,10 +124,28 @@ class DocumentHttpClient extends _client.default {
|
|
|
68
124
|
}
|
|
69
125
|
});
|
|
70
126
|
}
|
|
127
|
+
|
|
128
|
+
// This function will upload processed (overlayed file) if exist otherwise will uplaod original file for pod images.
|
|
71
129
|
async uploadBinaryFile(document) {
|
|
72
130
|
const sdkConfig = await cache.getObjectFromCache(cacheKeys.SDK_CONFIG);
|
|
131
|
+
let filePathToUpload = document.file_path;
|
|
132
|
+
let processedFileExist = await _reactNativeFs.default.exists(document.processed_file_path);
|
|
133
|
+
if (processedFileExist) {
|
|
134
|
+
filePathToUpload = document.processed_file_path;
|
|
135
|
+
}
|
|
73
136
|
const url = sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
|
|
74
|
-
|
|
137
|
+
let extraParams = {
|
|
138
|
+
fileName: document.file_name,
|
|
139
|
+
folderName: document.fms_folder_id
|
|
140
|
+
};
|
|
141
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
142
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
143
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.API_CALL,
|
|
144
|
+
screenName: 'Upload_Binary_File_Request',
|
|
145
|
+
extraParams: extraParams
|
|
146
|
+
});
|
|
147
|
+
_Logger.default.getInstance().logEvent('uploadBinaryFileRequest', (0, _utils.flattenObject)(extraParams), _Logger.LOG_TYPE.SDK_ERROR);
|
|
148
|
+
return FileSystem.uploadAsync(url, filePathToUpload, {
|
|
75
149
|
headers: {
|
|
76
150
|
'accept': 'application/json',
|
|
77
151
|
'Content-Type': 'multipart/form-data',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_client","_interopRequireDefault","require","_expoFileSystem","_interopRequireWildcard","FileSystem","_DispatchSdkCache","_Logger","_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","id","status","uploadResponse","uploadBinaryFile","Logger","logEvent","JSON","stringify","LOG_TYPE","SDK_INFO","body","_JSON$parse","deleteAsync","file_path","then","catch","parse","requestBody","file","type","description","desc","tags","key","value","dispatch_id","file_name","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","instance","post","fms_folder_id","headers","accessToken","tenantID","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';\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 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 Logger.getInstance().logEvent(\n 'uploadDocument',\n JSON.stringify(uploadResponse),\n LOG_TYPE.SDK_INFO\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 return JSON.parse(uploadResponse.body)?.data?.id;\n } else {\n return null;\n }\n }\n }\n\n public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {\n let requestBody = JSON.stringify({\n file: {\n type: 'FILE',\n data: document.data,\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 const sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\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 private async uploadBinaryFile(\n document: DocumentRow\n ): Promise<FileSystemUploadResult> {\n const sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n return FileSystem.uploadAsync(url, document.file_path, {\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","_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","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","dispatch_id","file_name","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","folderName","fms_folder_id","API_CALL","instance","post","headers","accessToken","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 } from '../../../utils/utils';\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\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 = { response: info };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'Upload_Base64_File_Response',\n extraParams: extraParameters,\n });\n\n Logger.getInstance().logEvent(\n '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 extraParams = { response: info };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'Upload_Binary_File_Response',\n extraParams: extraParams,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileResponse',\n flattenObject(extraParams),\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 const sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n let extraParams = {\n fileName: document.file_name,\n folderName: document.fms_folder_id,\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Base64_File_Request',\n extraParams: extraParams,\n });\n Logger.getInstance().logEvent(\n 'uploadBase64FileRequest',\n flattenObject(extraParams),\n LOG_TYPE.SDK_ERROR\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 const sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\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 let extraParams = {\n fileName: document.file_name,\n folderName: document.fms_folder_id,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Binary_File_Request',\n extraParams: extraParams,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileRequest',\n flattenObject(extraParams),\n LOG_TYPE.SDK_ERROR\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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"}
|
|
@@ -36,12 +36,18 @@ class DocumentManager {
|
|
|
36
36
|
${_DBConfig.DOCUMENT_COLUMNS.FMS_FOLDER_ID} TEXT,\
|
|
37
37
|
${_DBConfig.DOCUMENT_COLUMNS.PRIORITY} INTEGER NOT NULL DEFAULT 1,\
|
|
38
38
|
${_DBConfig.DOCUMENT_COLUMNS.SYNC_ERROR} TEXT,\
|
|
39
|
+
${_DBConfig.DOCUMENT_COLUMNS.GEO_TIMESTAMP} TEXT,\
|
|
40
|
+
${_DBConfig.DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} TEXT,\
|
|
39
41
|
${_DBConfig.DOCUMENT_COLUMNS.DESCRIPTION} TEXT);`, []);
|
|
40
42
|
}
|
|
43
|
+
async truncateDocumentTable() {
|
|
44
|
+
await Database.executeQuery(`DELETE FROM ${_DBConfig.DOCUMENT_TABLE};`, []);
|
|
45
|
+
}
|
|
41
46
|
async insertDocument(fmsFolderID, desc, dspID,
|
|
42
47
|
// jobID: string,
|
|
43
48
|
// objectiveRef: string,
|
|
44
|
-
base64, fileName, fileType, data, filePath, priority) {
|
|
49
|
+
base64, fileName, fileType, data, filePath, geoTimeStamp, processedFilePath, priority) {
|
|
50
|
+
console.log('insertDocument2:', fmsFolderID);
|
|
45
51
|
return await Database.executeQuery(`INSERT INTO ${_DBConfig.DOCUMENT_TABLE}(\
|
|
46
52
|
${_DBConfig.DOCUMENT_COLUMNS.DATA},\
|
|
47
53
|
${_DBConfig.DOCUMENT_COLUMNS.DISPATCH_ID},\
|
|
@@ -51,8 +57,10 @@ class DocumentManager {
|
|
|
51
57
|
${_DBConfig.DOCUMENT_COLUMNS.FILE_NAME},\
|
|
52
58
|
${_DBConfig.DOCUMENT_COLUMNS.FILE_TYPE},\
|
|
53
59
|
${_DBConfig.DOCUMENT_COLUMNS.DESCRIPTION},\
|
|
54
|
-
${_DBConfig.DOCUMENT_COLUMNS.PRIORITY}
|
|
55
|
-
|
|
60
|
+
${_DBConfig.DOCUMENT_COLUMNS.PRIORITY},\
|
|
61
|
+
${_DBConfig.DOCUMENT_COLUMNS.GEO_TIMESTAMP},\
|
|
62
|
+
${_DBConfig.DOCUMENT_COLUMNS.PROCESSED_FILE_PATH}) \
|
|
63
|
+
values (?,?,?,?,?,?,?,?,?,?,?)`, [data, dspID, fmsFolderID, base64, filePath, fileName, fileType, desc, priority ? priority : 1, geoTimeStamp, processedFilePath]);
|
|
56
64
|
}
|
|
57
65
|
async getAllDocuments(dispatchID) {
|
|
58
66
|
if (!dispatchID) {
|
|
@@ -77,6 +85,12 @@ class DocumentManager {
|
|
|
77
85
|
if (!id || !fmsID) return;
|
|
78
86
|
await Database.executeQuery(`UPDATE ${_DBConfig.DOCUMENT_TABLE} SET ${_DBConfig.DOCUMENT_COLUMNS.SYNCED} = 1,${_DBConfig.DOCUMENT_COLUMNS.FMS_ID} = ? WHERE ${_DBConfig.DOCUMENT_COLUMNS.ID} = ?;`, [fmsID, id]);
|
|
79
87
|
}
|
|
88
|
+
|
|
89
|
+
// 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.
|
|
90
|
+
async updateProcesedFilePath(id, origialFilePath, processedFilePath) {
|
|
91
|
+
if (!id || !processedFilePath) return;
|
|
92
|
+
await Database.executeQuery(`UPDATE ${_DBConfig.DOCUMENT_TABLE} SET ${_DBConfig.DOCUMENT_COLUMNS.FILE_PATH} = ?, ${_DBConfig.DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} = ? WHERE ${_DBConfig.DOCUMENT_COLUMNS.ID} = ?;`, [origialFilePath, processedFilePath, id]);
|
|
93
|
+
}
|
|
80
94
|
async updateDocSyncError(id, uploadError) {
|
|
81
95
|
if (!id) throw new TypeError('Document ID cannot be null');
|
|
82
96
|
await Database.executeQuery(`UPDATE ${_DBConfig.DOCUMENT_TABLE}\
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_DBConfig","require","Database","_interopRequireWildcard","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_defineProperty","obj","key","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DocumentManager","constructor","getInstance","instance","managerInstance","init","executeQuery","DOCUMENT_TABLE","DOCUMENT_COLUMNS","ID","DATA","BASE64","FILE_PATH","DISPATCH_ID","FILE_NAME","FILE_TYPE","SYNCED","FMS_ID","FMS_FOLDER_ID","PRIORITY","SYNC_ERROR","DESCRIPTION","insertDocument","fmsFolderID","desc","dspID","base64","fileName","fileType","data","filePath","priority","getAllDocuments","dispatchID","resultSet","rows","_array","getAllUnsyncedDocs","deleteAllSyncedDocuments","markDocumentSynced","id","fmsID","updateDocSyncError","uploadError","getUnsyncedDocument","rs","exports"],"sources":["DocumentManager.ts"],"sourcesContent":["import { DOCUMENT_COLUMNS, DOCUMENT_TABLE, DocumentRow } from '../DBConfig';\nimport * as Database from '../database';\nimport type { SQLResultSet } from 'expo-sqlite';\n\nexport default class DocumentManager {\n private static instance: DocumentManager;\n\n private constructor() {}\n\n public static async getInstance(): Promise<DocumentManager> {\n if (!DocumentManager.instance) {\n let managerInstance = new DocumentManager();\n await managerInstance.init();\n DocumentManager.instance = managerInstance;\n }\n return DocumentManager.instance;\n }\n\n public async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${DOCUMENT_TABLE} (\\\n ${DOCUMENT_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${DOCUMENT_COLUMNS.DATA} TEXT,\\\n ${DOCUMENT_COLUMNS.BASE64} INTEGER NOT NULL DEFAULT 0,\\\n ${DOCUMENT_COLUMNS.FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${DOCUMENT_COLUMNS.FILE_NAME} TEXT,\\\n ${DOCUMENT_COLUMNS.FILE_TYPE} TEXT,\\\n ${DOCUMENT_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${DOCUMENT_COLUMNS.FMS_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.PRIORITY} INTEGER NOT NULL DEFAULT 1,\\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} TEXT,\\\n ${DOCUMENT_COLUMNS.DESCRIPTION} TEXT);`,\n []\n );\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n desc: string,\n dspID: string,\n // jobID: string,\n // objectiveRef: string,\n base64: boolean,\n fileName: string,\n fileType: string,\n data?: string | null,\n filePath?: string | null,\n priority?: number\n ): Promise<SQLResultSet> {\n return await Database.executeQuery(\n `INSERT INTO ${DOCUMENT_TABLE}(\\\n ${DOCUMENT_COLUMNS.DATA},\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID},\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID},\\\n ${DOCUMENT_COLUMNS.BASE64},\\\n ${DOCUMENT_COLUMNS.FILE_PATH},\\\n ${DOCUMENT_COLUMNS.FILE_NAME},\\\n ${DOCUMENT_COLUMNS.FILE_TYPE},\\\n ${DOCUMENT_COLUMNS.DESCRIPTION},\\\n ${DOCUMENT_COLUMNS.PRIORITY}) \\\n values (?,?,?,?,?,?,?,?,?)`,\n [\n data,\n dspID,\n fmsFolderID,\n base64,\n filePath,\n fileName,\n fileType,\n desc,\n priority ? priority : 1,\n ]\n );\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE};`,\n []\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.DISPATCH_ID} =?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n }\n }\n\n public async getAllUnsyncedDocs(): Promise<DocumentRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE} \\\n where ${DOCUMENT_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllSyncedDocuments(dispatchID: string) {\n return Database.executeQuery(\n `DELETE FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 1 and ${DOCUMENT_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n }\n\n public async markDocumentSynced(id: number, fmsID: string): Promise<void> {\n if (!id || !fmsID) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = 1,${DOCUMENT_COLUMNS.FMS_ID} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [fmsID, id]\n );\n }\n\n public async updateDocSyncError(\n id: number,\n uploadError: string\n ): Promise<void> {\n if (!id) throw new TypeError('Document ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE}\\\n SET \\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} = ?\\\n WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [uploadError, id]\n );\n }\n\n public async getUnsyncedDocument(): Promise<DocumentRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${DOCUMENT_COLUMNS.PRIORITY} ASC LIMIT 1;`,\n []\n );\n return rs.rows._array;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_DBConfig","require","Database","_interopRequireWildcard","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_defineProperty","obj","key","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DocumentManager","constructor","getInstance","instance","managerInstance","init","executeQuery","DOCUMENT_TABLE","DOCUMENT_COLUMNS","ID","DATA","BASE64","FILE_PATH","DISPATCH_ID","FILE_NAME","FILE_TYPE","SYNCED","FMS_ID","FMS_FOLDER_ID","PRIORITY","SYNC_ERROR","GEO_TIMESTAMP","PROCESSED_FILE_PATH","DESCRIPTION","truncateDocumentTable","insertDocument","fmsFolderID","desc","dspID","base64","fileName","fileType","data","filePath","geoTimeStamp","processedFilePath","priority","console","log","getAllDocuments","dispatchID","resultSet","rows","_array","getAllUnsyncedDocs","deleteAllSyncedDocuments","markDocumentSynced","id","fmsID","updateProcesedFilePath","origialFilePath","updateDocSyncError","uploadError","getUnsyncedDocument","rs","exports"],"sources":["DocumentManager.ts"],"sourcesContent":["import { DOCUMENT_COLUMNS, DOCUMENT_TABLE, DocumentRow } from '../DBConfig';\nimport * as Database from '../database';\nimport type { SQLResultSet } from 'expo-sqlite';\n\nexport default class DocumentManager {\n private static instance: DocumentManager;\n\n private constructor() {}\n\n public static async getInstance(): Promise<DocumentManager> {\n if (!DocumentManager.instance) {\n let managerInstance = new DocumentManager();\n await managerInstance.init();\n DocumentManager.instance = managerInstance;\n }\n return DocumentManager.instance;\n }\n\n public async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${DOCUMENT_TABLE} (\\\n ${DOCUMENT_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${DOCUMENT_COLUMNS.DATA} TEXT,\\\n ${DOCUMENT_COLUMNS.BASE64} INTEGER NOT NULL DEFAULT 0,\\\n ${DOCUMENT_COLUMNS.FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${DOCUMENT_COLUMNS.FILE_NAME} TEXT,\\\n ${DOCUMENT_COLUMNS.FILE_TYPE} TEXT,\\\n ${DOCUMENT_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${DOCUMENT_COLUMNS.FMS_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.PRIORITY} INTEGER NOT NULL DEFAULT 1,\\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} TEXT,\\\n ${DOCUMENT_COLUMNS.GEO_TIMESTAMP} TEXT,\\\n ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DESCRIPTION} TEXT);`,\n []\n );\n }\n\n public async truncateDocumentTable(): Promise<void> {\n await Database.executeQuery(`DELETE FROM ${DOCUMENT_TABLE};`, []);\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n desc: string,\n dspID: string,\n // jobID: string,\n // objectiveRef: string,\n base64: boolean,\n fileName: string,\n fileType: string,\n data?: string | null,\n filePath?: string | null,\n geoTimeStamp?: string | null,\n processedFilePath?: string | null,\n priority?: number\n ): Promise<SQLResultSet> {\n console.log('insertDocument2:', fmsFolderID);\n return await Database.executeQuery(\n `INSERT INTO ${DOCUMENT_TABLE}(\\\n ${DOCUMENT_COLUMNS.DATA},\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID},\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID},\\\n ${DOCUMENT_COLUMNS.BASE64},\\\n ${DOCUMENT_COLUMNS.FILE_PATH},\\\n ${DOCUMENT_COLUMNS.FILE_NAME},\\\n ${DOCUMENT_COLUMNS.FILE_TYPE},\\\n ${DOCUMENT_COLUMNS.DESCRIPTION},\\\n ${DOCUMENT_COLUMNS.PRIORITY},\\\n ${DOCUMENT_COLUMNS.GEO_TIMESTAMP},\\\n ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH}) \\\n values (?,?,?,?,?,?,?,?,?,?,?)`,\n [\n data,\n dspID,\n fmsFolderID,\n base64,\n filePath,\n fileName,\n fileType,\n desc,\n priority ? priority : 1,\n geoTimeStamp,\n processedFilePath,\n ]\n );\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE};`,\n []\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.DISPATCH_ID} =?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n }\n }\n\n public async getAllUnsyncedDocs(): Promise<DocumentRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE} \\\n where ${DOCUMENT_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllSyncedDocuments(dispatchID: string) {\n return Database.executeQuery(\n `DELETE FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 1 and ${DOCUMENT_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n }\n\n public async markDocumentSynced(id: number, fmsID: string): Promise<void> {\n if (!id || !fmsID) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = 1,${DOCUMENT_COLUMNS.FMS_ID} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [fmsID, id]\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 public async updateProcesedFilePath(\n id: number,\n origialFilePath: String,\n processedFilePath: String\n ): Promise<void> {\n if (!id || !processedFilePath) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.FILE_PATH} = ?, ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [origialFilePath, processedFilePath, id]\n );\n }\n\n public async updateDocSyncError(\n id: number,\n uploadError: string\n ): Promise<void> {\n if (!id) throw new TypeError('Document ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE}\\\n SET \\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} = ?\\\n WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [uploadError, id]\n );\n }\n\n public async getUnsyncedDocument(): Promise<DocumentRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${DOCUMENT_COLUMNS.PRIORITY} ASC LIMIT 1;`,\n []\n );\n return rs.rows._array;\n }\n}\n"],"mappings":"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"}
|
|
@@ -11,6 +11,12 @@ var _BaseError = require("../../../errors/BaseError");
|
|
|
11
11
|
var _ErrorCodes = _interopRequireWildcard(require("../../../errors/ErrorCodes"));
|
|
12
12
|
var _Logger = _interopRequireWildcard(require("../../../utils/Logger"));
|
|
13
13
|
var _NetworkUtil = _interopRequireDefault(require("../../../utils/NetworkUtil"));
|
|
14
|
+
var _reactNativeImageMarker = _interopRequireWildcard(require("react-native-image-marker"));
|
|
15
|
+
var _reactNativeFs = _interopRequireDefault(require("react-native-fs"));
|
|
16
|
+
var _storage = _interopRequireDefault(require("../../../utils/storage"));
|
|
17
|
+
var _reactNative = require("react-native");
|
|
18
|
+
var _SentrySdkConstants = require("../../../analytics/sentry/SentrySdkConstants");
|
|
19
|
+
var _SentryAnalyticsUtils = require("../../../analytics/sentry/SentryAnalyticsUtils");
|
|
14
20
|
var _class;
|
|
15
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -18,6 +24,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
18
24
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
25
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
20
26
|
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); }
|
|
27
|
+
const latlngToDms = require('latlng-to-dms');
|
|
21
28
|
class DocumentSyncManager {
|
|
22
29
|
get retries() {
|
|
23
30
|
return this._retries;
|
|
@@ -80,8 +87,8 @@ class DocumentSyncManager {
|
|
|
80
87
|
async insertDocument(fmsFolderID, data, base64, desc, dspID,
|
|
81
88
|
// jobID: string,
|
|
82
89
|
// objRef: string,
|
|
83
|
-
filePath, fileType, fileName) {
|
|
84
|
-
let priority = arguments.length >
|
|
90
|
+
filePath, fileType, fileName, geoTimeStamp, processedFilePath) {
|
|
91
|
+
let priority = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : 1;
|
|
85
92
|
if ((0, _utils.isEmptyOrBlank)(desc) || (0, _utils.isEmptyOrBlank)(dspID) ||
|
|
86
93
|
// isEmptyOrBlank(jobID) ||
|
|
87
94
|
// isEmptyOrBlank(objRef) ||
|
|
@@ -91,10 +98,11 @@ class DocumentSyncManager {
|
|
|
91
98
|
_Logger.default.getInstance().logEvent('insertDocument', 'INIT DOC SYNC AGAIN', _Logger.LOG_TYPE.SDK_INFO);
|
|
92
99
|
this.docManager = await _DocumentManager.default.getInstance();
|
|
93
100
|
}
|
|
101
|
+
console.log('insertDocument1:', fmsFolderID);
|
|
94
102
|
let insertResponse = await ((_this$docManager = this.docManager) === null || _this$docManager === void 0 ? void 0 : _this$docManager.insertDocument(fmsFolderID, desc, dspID,
|
|
95
103
|
// jobID,
|
|
96
104
|
// objRef,
|
|
97
|
-
base64, fileName, fileType, data, filePath, priority));
|
|
105
|
+
base64, fileName, fileType, data, filePath, geoTimeStamp, processedFilePath, priority));
|
|
98
106
|
return insertResponse;
|
|
99
107
|
}
|
|
100
108
|
}
|
|
@@ -111,6 +119,16 @@ class DocumentSyncManager {
|
|
|
111
119
|
_Logger.default.getInstance().logEvent('updateDocument', err.message, _Logger.LOG_TYPE.SDK_WARNING);
|
|
112
120
|
}
|
|
113
121
|
}
|
|
122
|
+
|
|
123
|
+
// 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.
|
|
124
|
+
async updateDocumentProcessedPath(documentRow, origialFilePath, processedPath) {
|
|
125
|
+
if (!this.docManager) this.docManager = await _DocumentManager.default.getInstance();
|
|
126
|
+
try {
|
|
127
|
+
await this.docManager.updateProcesedFilePath(documentRow.id, origialFilePath, processedPath);
|
|
128
|
+
} catch (err) {
|
|
129
|
+
_Logger.default.getInstance().logEvent('updateDocument', err.message, _Logger.LOG_TYPE.SDK_WARNING);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
114
132
|
async updateDocError(documentRow, uploadError) {
|
|
115
133
|
if (!this.docManager) this.docManager = await _DocumentManager.default.getInstance();
|
|
116
134
|
try {
|
|
@@ -124,21 +142,203 @@ class DocumentSyncManager {
|
|
|
124
142
|
throw new _BaseError.BaseError(_ErrorCodes.default.SyncManagerNotInitialized, _ErrorCodes.SyncManagerNotInitialized);
|
|
125
143
|
}
|
|
126
144
|
}
|
|
145
|
+
|
|
146
|
+
// This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.
|
|
147
|
+
async processImageData(documentRow) {
|
|
148
|
+
// If processed_file_path of overlayed image already existing then do not generate it again.
|
|
149
|
+
if (documentRow.processed_file_path === null || documentRow.processed_file_path === '') {
|
|
150
|
+
let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.
|
|
151
|
+
let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string
|
|
152
|
+
let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object
|
|
153
|
+
let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format
|
|
154
|
+
let lat = objGeoStamp.lat; // Latitide
|
|
155
|
+
let lng = objGeoStamp.lng; // Longitude
|
|
156
|
+
let accuracy = objGeoStamp.accuracy; // Location accuracy
|
|
157
|
+
let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format
|
|
158
|
+
let strDMSWithAccuracy = strDMS;
|
|
159
|
+
if (accuracy !== '') {
|
|
160
|
+
strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
let fontSize = 14;
|
|
164
|
+
let fileSize = await _storage.default.getInstance().getItem('maxSize'); // File max size
|
|
165
|
+
let cRatio = await _storage.default.getInstance().getItem('cRatio'); // File compression ratio
|
|
166
|
+
let nFileSize = Number(fileSize);
|
|
167
|
+
let ncRatio = Number(cRatio);
|
|
168
|
+
let wholeRatio = Math.round(ncRatio * 100); // Compression ratio to be made
|
|
169
|
+
if (_reactNative.Platform.OS !== 'android') {
|
|
170
|
+
fontSize = 28;
|
|
171
|
+
}
|
|
172
|
+
if (wholeRatio >= 75) {
|
|
173
|
+
wholeRatio = 25;
|
|
174
|
+
}
|
|
175
|
+
const options = {
|
|
176
|
+
backgroundImage: {
|
|
177
|
+
// Image for overlay
|
|
178
|
+
src: documentRow.file_path,
|
|
179
|
+
scale: 1
|
|
180
|
+
},
|
|
181
|
+
watermarkTexts: [{
|
|
182
|
+
text: `${dateTime}\n${strDMSWithAccuracy}`,
|
|
183
|
+
//Overlay text
|
|
184
|
+
position: {
|
|
185
|
+
position: _reactNativeImageMarker.Position.topLeft // Overlay text position
|
|
186
|
+
},
|
|
187
|
+
|
|
188
|
+
style: {
|
|
189
|
+
// Style for overlay
|
|
190
|
+
color: '#ffffff',
|
|
191
|
+
fontSize: fontSize,
|
|
192
|
+
fontName: 'Arial',
|
|
193
|
+
textBackgroundStyle: {
|
|
194
|
+
padding: '1% 1%',
|
|
195
|
+
type: _reactNativeImageMarker.TextBackgroundType.none,
|
|
196
|
+
color: '#444444CC'
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}],
|
|
200
|
+
scale: 1,
|
|
201
|
+
quality: 100 - wholeRatio,
|
|
202
|
+
// Compressio ratio in which file will generate
|
|
203
|
+
maxSize: nFileSize,
|
|
204
|
+
// Max file size in which file will generate
|
|
205
|
+
filename: pFilePath,
|
|
206
|
+
saveFormat: _reactNativeImageMarker.ImageFormat.jpg // Saving in jpeg format
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
let processedFilePath = await _reactNativeImageMarker.default.markText(options); // Generating overlay image
|
|
210
|
+
if (processedFilePath !== null && processedFilePath !== '') {
|
|
211
|
+
let completeFilePath = processedFilePath;
|
|
212
|
+
// If processd image file path does not have prefix file:// then we are addding manually
|
|
213
|
+
if (!processedFilePath.includes('file')) {
|
|
214
|
+
completeFilePath = 'file://' + processedFilePath;
|
|
215
|
+
}
|
|
216
|
+
// Updating document document table with overlayed image path
|
|
217
|
+
this.updateDocumentProcessedPath(documentRow, documentRow.file_path,
|
|
218
|
+
//original file path catprued from camera
|
|
219
|
+
completeFilePath // completeFilePath is the path with file:// of processed file
|
|
220
|
+
);
|
|
221
|
+
|
|
222
|
+
documentRow.processed_file_path = completeFilePath;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return documentRow;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.
|
|
229
|
+
async processBase64Data(documentRow) {
|
|
230
|
+
// If base64 overlayed data already existing then do not generate it again.
|
|
231
|
+
if (documentRow.processed_file_path === null || documentRow.processed_file_path === '') {
|
|
232
|
+
let filePath = '';
|
|
233
|
+
// If templrary base 64 file already exist then do not create again
|
|
234
|
+
if (documentRow.file_path === null || documentRow.file_path === '') {
|
|
235
|
+
const imagePath = `${_reactNativeFs.default.TemporaryDirectoryPath}/${documentRow.file_name}`;
|
|
236
|
+
await _reactNativeFs.default.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location
|
|
237
|
+
filePath = imagePath;
|
|
238
|
+
// If file generated frommbase64 data does not have file:// then we are adding manually.
|
|
239
|
+
if (!imagePath.includes('file')) {
|
|
240
|
+
filePath = `file://${imagePath}`;
|
|
241
|
+
}
|
|
242
|
+
documentRow.file_path = filePath;
|
|
243
|
+
} else {
|
|
244
|
+
filePath = documentRow.file_path;
|
|
245
|
+
}
|
|
246
|
+
let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.
|
|
247
|
+
let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string
|
|
248
|
+
let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object
|
|
249
|
+
let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format
|
|
250
|
+
let lat = objGeoStamp.lat; // Latitide
|
|
251
|
+
let lng = objGeoStamp.lng; // Longitude
|
|
252
|
+
let accuracy = objGeoStamp.accuracy; // Location accuracy
|
|
253
|
+
let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format
|
|
254
|
+
let strDMSWithAccuracy = strDMS;
|
|
255
|
+
if (accuracy !== '') {
|
|
256
|
+
strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
const options = {
|
|
260
|
+
backgroundImage: {
|
|
261
|
+
src: filePath,
|
|
262
|
+
// Image for overlay
|
|
263
|
+
scale: 1
|
|
264
|
+
},
|
|
265
|
+
watermarkTexts: [{
|
|
266
|
+
text: `${dateTime}\n${strDMSWithAccuracy}`,
|
|
267
|
+
// Ooverlay text
|
|
268
|
+
position: {
|
|
269
|
+
position: _reactNativeImageMarker.Position.topLeft // Overlay text position
|
|
270
|
+
},
|
|
271
|
+
|
|
272
|
+
style: {
|
|
273
|
+
// Style for overlay
|
|
274
|
+
color: '#ffffff',
|
|
275
|
+
fontSize: 14,
|
|
276
|
+
fontName: 'Arial',
|
|
277
|
+
textBackgroundStyle: {
|
|
278
|
+
padding: '1% 1%',
|
|
279
|
+
type: _reactNativeImageMarker.TextBackgroundType.none,
|
|
280
|
+
color: '#444444CC'
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}],
|
|
284
|
+
scale: 1,
|
|
285
|
+
quality: 100,
|
|
286
|
+
filename: pFilePath,
|
|
287
|
+
saveFormat: _reactNativeImageMarker.ImageFormat.base64 // Saving in base6 format
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
let processedBase64 = await _reactNativeImageMarker.default.markText(options); // Generating overlay image
|
|
291
|
+
if (processedBase64 !== null && processedBase64 !== '') {
|
|
292
|
+
// Fetching base64 data from processed data.
|
|
293
|
+
var splittedDase64Data = processedBase64.split('data:image/png;base64,');
|
|
294
|
+
// Updating document document table with overlayed base64 data
|
|
295
|
+
await this.updateDocumentProcessedPath(documentRow, filePath, splittedDase64Data[1]);
|
|
296
|
+
documentRow.processed_file_path = splittedDase64Data[1];
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
return documentRow;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
// This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).
|
|
303
|
+
async processPODData(documentRow) {
|
|
304
|
+
if (documentRow.base64 && documentRow.data != null) {
|
|
305
|
+
return await this.processBase64Data(documentRow);
|
|
306
|
+
} else {
|
|
307
|
+
return await this.processImageData(documentRow);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
127
310
|
async uploadDocToServer(documentRow) {
|
|
128
311
|
try {
|
|
129
312
|
var _this$documentHttpCli;
|
|
313
|
+
let docRow = await this.processPODData(documentRow);
|
|
314
|
+
console.log('uploadDocToServer999:', docRow);
|
|
130
315
|
let fmsID = await ((_this$documentHttpCli = this.documentHttpClient) === null || _this$documentHttpCli === void 0 ? void 0 : _this$documentHttpCli.uploadDocument(documentRow));
|
|
316
|
+
let extraParameters = {
|
|
317
|
+
fmsID: fmsID ?? '',
|
|
318
|
+
fileName: docRow.file_name,
|
|
319
|
+
folderName: docRow.fms_folder_id
|
|
320
|
+
};
|
|
131
321
|
// TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202
|
|
132
322
|
if (fmsID) {
|
|
133
323
|
this._retries = 0;
|
|
134
|
-
await this.updateDocument(
|
|
324
|
+
await this.updateDocument(docRow, fmsID);
|
|
135
325
|
} else {
|
|
136
326
|
this._retries++;
|
|
137
|
-
_Logger.default.getInstance().logEvent('uploadDocToServer-
|
|
138
|
-
await this.updateDocError(
|
|
327
|
+
_Logger.default.getInstance().logEvent('uploadDocToServer-empty-fms-id', (0, _utils.flattenObject)(extraParameters), _Logger.LOG_TYPE.SDK_ERROR);
|
|
328
|
+
await this.updateDocError(docRow, 'Unexpected Error');
|
|
139
329
|
}
|
|
140
330
|
} catch (error) {
|
|
141
331
|
var _error$response, _error$response2;
|
|
332
|
+
const cta = 'uploadDocToServer-error';
|
|
333
|
+
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
334
|
+
severityLevel: _SentrySdkConstants.SeverityLevelValue.ERROR,
|
|
335
|
+
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.API_ERROR,
|
|
336
|
+
screenName: cta,
|
|
337
|
+
cta: cta,
|
|
338
|
+
extraParams: {
|
|
339
|
+
error: error.message
|
|
340
|
+
}
|
|
341
|
+
});
|
|
142
342
|
this._retries++;
|
|
143
343
|
_Logger.default.getInstance().logEvent('uploadDocToServer-sync-error', error.message, _Logger.LOG_TYPE.SDK_ERROR);
|
|
144
344
|
await this.updateDocError(documentRow, JSON.stringify({
|