@os1-platform/dispatch-mobile 3.0.1 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/android/.gradle/7.5/fileHashes/fileHashes.lock +0 -0
  2. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  3. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  4. package/android/src/main/AndroidManifest.xml +0 -1
  5. package/android/src/main/java/com/dispatchsdk/permissions/PermissionModule.kt +107 -62
  6. package/android/src/main/java/com/dispatchsdk/sync/SyncManagerService.kt +31 -23
  7. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +15 -11
  8. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
  9. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +4 -1
  10. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  11. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +2 -0
  12. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  13. package/lib/commonjs/native/PermissionModule.js +5 -1
  14. package/lib/commonjs/native/PermissionModule.js.map +1 -1
  15. package/lib/commonjs/utils/SdkUtils.js +1 -19
  16. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  17. package/lib/module/components/executiontasks/forms/FormGenerator.js +15 -11
  18. package/lib/module/components/executiontasks/forms/FormGenerator.js.map +1 -1
  19. package/lib/module/manager/syncmanager/AppSyncManager.js +4 -1
  20. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  21. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +2 -0
  22. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  23. package/lib/module/native/PermissionModule.js +5 -1
  24. package/lib/module/native/PermissionModule.js.map +1 -1
  25. package/lib/module/utils/SdkUtils.js +1 -19
  26. package/lib/module/utils/SdkUtils.js.map +1 -1
  27. package/lib/typescript/native/PermissionModule.d.ts +1 -0
  28. package/lib/typescript/utils/SdkUtils.d.ts +0 -8
  29. package/package.json +43 -41
  30. package/src/components/executiontasks/forms/FormGenerator.tsx +12 -6
  31. package/src/manager/syncmanager/AppSyncManager.ts +7 -4
  32. package/src/manager/syncmanager/document/DocumentHttpClient.ts +3 -0
  33. package/src/native/PermissionModule.ts +6 -0
  34. package/src/utils/SdkUtils.ts +2 -31
@@ -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","hasOwnProperty","call","i","set","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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","ignoreList":[]}
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","hasOwnProperty","call","i","set","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","fileStat","stat","url","tenantBaseURL","fSize","size","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 fileStat = await RNFS.stat(filePathToUpload);\n\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n \n let extraParameters = { \n fSize: fileStat.size + \" b\",\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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","ignoreList":[]}
@@ -14,8 +14,12 @@ const requestForegroundPermissions = async () => {
14
14
  const requestBackgroundPermissions = async () => {
15
15
  return PermissionsModule.requestBackgroundPermissions();
16
16
  };
17
+ const requestWakeLockPermissions = async () => {
18
+ return PermissionsModule.requestWakeLockPermissions();
19
+ };
17
20
  var _default = exports.default = {
18
21
  requestForegroundPermissions,
19
- requestBackgroundPermissions
22
+ requestBackgroundPermissions,
23
+ requestWakeLockPermissions
20
24
  };
21
25
  //# sourceMappingURL=PermissionModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","PermissionsModule","NativeModules","requestForegroundPermissions","requestBackgroundPermissions","_default","exports","default"],"sources":["PermissionModule.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\n\nconst { PermissionsModule } = NativeModules;\n\ninterface PermissionsModuleType {\n requestForegroundPermissions: () => Promise<boolean>;\n requestBackgroundPermissions: () => Promise<boolean>;\n}\n\nconst requestForegroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestForegroundPermissions();\n};\n\nconst requestBackgroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestBackgroundPermissions();\n};\n\nexport default {\n requestForegroundPermissions,\n requestBackgroundPermissions,\n} as PermissionsModuleType;"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAM;EAAEC;AAAkB,CAAC,GAAGC,0BAAa;AAO3C,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOF,iBAAiB,CAACE,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOH,iBAAiB,CAACG,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa;EACXJ,4BAA4B;EAC5BC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","PermissionsModule","NativeModules","requestForegroundPermissions","requestBackgroundPermissions","requestWakeLockPermissions","_default","exports","default"],"sources":["PermissionModule.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\n\nconst { PermissionsModule } = NativeModules;\n\ninterface PermissionsModuleType {\n requestForegroundPermissions: () => Promise<boolean>;\n requestBackgroundPermissions: () => Promise<boolean>;\n requestWakeLockPermissions: () => Promise<boolean>;\n}\n\nconst requestForegroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestForegroundPermissions();\n};\n\nconst requestBackgroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestBackgroundPermissions();\n};\n\nconst requestWakeLockPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestWakeLockPermissions();\n};\n\nexport default {\n requestForegroundPermissions,\n requestBackgroundPermissions,\n requestWakeLockPermissions\n} as PermissionsModuleType;"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAM;EAAEC;AAAkB,CAAC,GAAGC,0BAAa;AAQ3C,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOF,iBAAiB,CAACE,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOH,iBAAiB,CAACG,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,0BAA0B,GAAG,MAAAA,CAAA,KAA8B;EAC7D,OAAOJ,iBAAiB,CAACI,0BAA0B,CAAC,CAAC;AACzD,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa;EACXL,4BAA4B;EAC5BC,4BAA4B;EAC5BC;AACJ,CAAC","ignoreList":[]}
@@ -54,25 +54,6 @@ class SdkUtils {
54
54
  });
55
55
  }
56
56
 
57
- /**
58
- * Function to download apk file from a public URL
59
- * @param apkURL - URL where apk is hosted
60
- * @param version - expected version of apk (used for naming the file)
61
- * @param callback - callback for getting progress of download
62
- */
63
- static async downloadAPK(apkURL, version, callback) {
64
- const fileUri = FileSystem.cacheDirectory + `${version}.apk`;
65
- const fileInfo = await FileSystem.getInfoAsync(fileUri);
66
- const currentDate = new Date().toLocaleDateString();
67
- const fileDate = new Date(fileInfo.modificationTime ? fileInfo.modificationTime * 1000 : 0).toLocaleDateString();
68
- if (fileInfo.exists && currentDate === fileDate) {
69
- return fileInfo.uri;
70
- }
71
- const downloadResumable = FileSystem.createDownloadResumable(apkURL, FileSystem.cacheDirectory + `${version}.apk`, {}, callback);
72
- const downloadResult = await downloadResumable.downloadAsync();
73
- return downloadResult === null || downloadResult === void 0 ? void 0 : downloadResult.uri;
74
- }
75
-
76
57
  /**
77
58
  * Opens & Install an APK file
78
59
  * @param uri - source of apk file
@@ -101,6 +82,7 @@ class SdkUtils {
101
82
  throw new _BaseError.BaseError(_ErrorCodes.default.SYSTEM_TIME_CHECK_FAILED, 'Automatic date/time not enabled!');
102
83
  }
103
84
  if (_reactNative.Platform.OS === 'android') {
85
+ await _PermissionModule.default.requestWakeLockPermissions();
104
86
  await Location.enableNetworkProviderAsync();
105
87
  let locationServicesCheck = await Location.hasServicesEnabledAsync();
106
88
  const foregroundLocation = await _PermissionModule.default.requestForegroundPermissions();
@@ -1 +1 @@
1
- {"version":3,"names":["_remoteConfig","_interopRequireDefault","require","_Logger","_interopRequireWildcard","FileSystem","_reactNative","Location","_NetworkUtil","_BaseError","_ErrorCodes","_PermissionModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DispatchSdkUtils","NativeModules","exports","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","remoteConfig","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","then","fetchAndActivate","fetchedRemotely","config","getAll","Logger","getInstance","logEvent","LOG_TYPE","SDK_INFO","catch","err","error","downloadAPK","apkURL","version","callback","fileUri","cacheDirectory","fileInfo","getInfoAsync","currentDate","Date","toLocaleDateString","fileDate","modificationTime","exists","uri","downloadResumable","createDownloadResumable","downloadResult","downloadAsync","deleteApk","deleteAsync","openAPKFile","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","Platform","OS","foregroundLocation","PermissionModule","requestForegroundPermissions","BaseError","ErrorCodes","LOCATION_OR_GPS_NOT_ENABLED","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","bgLocation","requestBackgroundPermissions","internet","NetworkUtil","isAvailableAsync","INTERNET_NOT_ENABLED"],"sources":["SdkUtils.ts"],"sourcesContent":["import remoteConfig from '@react-native-firebase/remote-config';\nimport Logger, { LOG_TYPE } from './Logger';\nimport type { DownloadProgressData } from 'expo-file-system';\nimport * as FileSystem from 'expo-file-system';\nimport { NativeModules, Platform } from 'react-native';\nimport * as Location from 'expo-location';\nimport NetworkUtil from './NetworkUtil';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\nimport PermissionModule from '../native/PermissionModule';\n\nconst { DispatchSdkUtils } = NativeModules;\n\ninterface DispatchUtilsInterface {\n openAndInstallApk(apkUri: String): Promise<boolean>;\n openSettings(): Promise<boolean>;\n showAndroidDialog(\n title: string,\n message: string,\n positiveText: string,\n negativeText: string | null,\n cancelable: boolean\n ): Promise<boolean>;\n isAutomaticDateTimeEnabled(): Promise<boolean>;\n}\n\nexport { DispatchSdkUtils as DispatchUtilsInterface };\n\nexport default class SdkUtils {\n /**\n * number of seconds to cache the firebase config\n * @param expiration\n */\n static async getRemoteConfig(expiration: number): Promise<any> {\n return new Promise(async (resolve, reject) => {\n try {\n await remoteConfig().fetch(expiration);\n remoteConfig()\n .setDefaults({\n cxRumDevApiKey: 'NA',\n cxRumProdApiKey: 'NA',\n isMandatoryUpdate: 'false',\n isMandatoryUpdateiOS: 'false',\n toggleInAppUpdateiOS: 'false',\n toggleInAppUpdate: 'false',\n })\n .then(() => remoteConfig().fetchAndActivate())\n .then((fetchedRemotely) => {\n let config = remoteConfig().getAll();\n if (fetchedRemotely) {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'Configs were retrieved from the backend and activated.',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n } else {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'No configs were fetched from the backend, and the local configs were already activated',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n }\n })\n .catch((err) => {\n reject(err);\n });\n } catch (error: any) {\n reject(error);\n }\n });\n }\n\n /**\n * Function to download apk file from a public URL\n * @param apkURL - URL where apk is hosted\n * @param version - expected version of apk (used for naming the file)\n * @param callback - callback for getting progress of download\n */\n public static async downloadAPK(\n apkURL: string,\n version: string,\n callback: (progress: DownloadProgressData) => any\n ): Promise<string | undefined> {\n const fileUri = FileSystem.cacheDirectory + `${version}.apk`;\n const fileInfo = await FileSystem.getInfoAsync(fileUri);\n const currentDate = new Date().toLocaleDateString();\n const fileDate = new Date(\n fileInfo.modificationTime ? fileInfo.modificationTime * 1000 : 0\n ).toLocaleDateString();\n if (fileInfo.exists && currentDate === fileDate) {\n return fileInfo.uri;\n }\n const downloadResumable = FileSystem.createDownloadResumable(\n apkURL,\n FileSystem.cacheDirectory + `${version}.apk`,\n {},\n callback\n );\n const downloadResult = await downloadResumable.downloadAsync();\n return downloadResult?.uri;\n }\n\n /**\n * Opens & Install an APK file\n * @param uri - source of apk file\n */\n public static async deleteApk(version: string) {\n await FileSystem.deleteAsync(FileSystem.cacheDirectory + `${version}.apk`);\n }\n\n public static async openAPKFile(uri: string) {\n return await (DispatchSdkUtils as DispatchUtilsInterface).openAndInstallApk(\n uri\n );\n }\n\n public static openAppSettings() {\n (DispatchSdkUtils as DispatchUtilsInterface)\n .openSettings()\n .then()\n .catch((error) => {\n Logger.getInstance().logEvent(\n 'Intent error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n });\n }\n\n public static async checkMandatory() {\n if (Platform.OS === 'ios'){\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n if (!(foregroundLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n return;\n }\n const dateTimeCheck = await (\n DispatchSdkUtils as DispatchUtilsInterface\n ).isAutomaticDateTimeEnabled();\n if (!dateTimeCheck) {\n throw new BaseError(\n ErrorCodes.SYSTEM_TIME_CHECK_FAILED,\n 'Automatic date/time not enabled!'\n );\n }\n if (Platform.OS === 'android') {\n await Location.enableNetworkProviderAsync();\n let locationServicesCheck = await Location.hasServicesEnabledAsync();\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n // await Location.requestForegroundPermissionsAsync(); //permission code using expo module\n const bgLocation = await PermissionModule.requestBackgroundPermissions();\n // await Location.requestBackgroundPermissionsAsync(); //permission code using expo module\n if (!(locationServicesCheck && foregroundLocation && bgLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n }\n let internet = await NetworkUtil.isAvailableAsync();\n if (!internet)\n throw new BaseError(\n ErrorCodes.INTERNET_NOT_ENABLED,\n 'Internet is disabled! Please enable internet and try again '\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_remoteConfig","_interopRequireDefault","require","_Logger","_interopRequireWildcard","FileSystem","_reactNative","Location","_NetworkUtil","_BaseError","_ErrorCodes","_PermissionModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DispatchSdkUtils","NativeModules","exports","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","remoteConfig","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","then","fetchAndActivate","fetchedRemotely","config","getAll","Logger","getInstance","logEvent","LOG_TYPE","SDK_INFO","catch","err","error","deleteApk","version","deleteAsync","cacheDirectory","openAPKFile","uri","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","Platform","OS","foregroundLocation","PermissionModule","requestForegroundPermissions","BaseError","ErrorCodes","LOCATION_OR_GPS_NOT_ENABLED","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","requestWakeLockPermissions","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","bgLocation","requestBackgroundPermissions","internet","NetworkUtil","isAvailableAsync","INTERNET_NOT_ENABLED"],"sources":["SdkUtils.ts"],"sourcesContent":["import remoteConfig from '@react-native-firebase/remote-config';\nimport Logger, { LOG_TYPE } from './Logger';\nimport type { DownloadProgressData } from 'expo-file-system';\nimport * as FileSystem from 'expo-file-system';\nimport { NativeModules, Platform } from 'react-native';\nimport * as Location from 'expo-location';\nimport NetworkUtil from './NetworkUtil';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\nimport PermissionModule from '../native/PermissionModule';\n\nconst { DispatchSdkUtils } = NativeModules;\n\ninterface DispatchUtilsInterface {\n openAndInstallApk(apkUri: String): Promise<boolean>;\n openSettings(): Promise<boolean>;\n showAndroidDialog(\n title: string,\n message: string,\n positiveText: string,\n negativeText: string | null,\n cancelable: boolean\n ): Promise<boolean>;\n isAutomaticDateTimeEnabled(): Promise<boolean>;\n}\n\nexport { DispatchSdkUtils as DispatchUtilsInterface };\n\nexport default class SdkUtils {\n /**\n * number of seconds to cache the firebase config\n * @param expiration\n */\n static async getRemoteConfig(expiration: number): Promise<any> {\n return new Promise(async (resolve, reject) => {\n try {\n await remoteConfig().fetch(expiration);\n remoteConfig()\n .setDefaults({\n cxRumDevApiKey: 'NA',\n cxRumProdApiKey: 'NA',\n isMandatoryUpdate: 'false',\n isMandatoryUpdateiOS: 'false',\n toggleInAppUpdateiOS: 'false',\n toggleInAppUpdate: 'false',\n })\n .then(() => remoteConfig().fetchAndActivate())\n .then((fetchedRemotely) => {\n let config = remoteConfig().getAll();\n if (fetchedRemotely) {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'Configs were retrieved from the backend and activated.',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n } else {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'No configs were fetched from the backend, and the local configs were already activated',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n }\n })\n .catch((err) => {\n reject(err);\n });\n } catch (error: any) {\n reject(error);\n }\n });\n }\n\n /**\n * Opens & Install an APK file\n * @param uri - source of apk file\n */\n public static async deleteApk(version: string) {\n await FileSystem.deleteAsync(FileSystem.cacheDirectory + `${version}.apk`);\n }\n\n public static async openAPKFile(uri: string) {\n return await (DispatchSdkUtils as DispatchUtilsInterface).openAndInstallApk(\n uri\n );\n }\n\n public static openAppSettings() {\n (DispatchSdkUtils as DispatchUtilsInterface)\n .openSettings()\n .then()\n .catch((error) => {\n Logger.getInstance().logEvent(\n 'Intent error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n });\n }\n\n public static async checkMandatory() {\n if (Platform.OS === 'ios') {\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n if (!(foregroundLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n return;\n }\n const dateTimeCheck = await (\n DispatchSdkUtils as DispatchUtilsInterface\n ).isAutomaticDateTimeEnabled();\n if (!dateTimeCheck) {\n throw new BaseError(\n ErrorCodes.SYSTEM_TIME_CHECK_FAILED,\n 'Automatic date/time not enabled!'\n );\n }\n if (Platform.OS === 'android') {\n await PermissionModule.requestWakeLockPermissions();\n await Location.enableNetworkProviderAsync();\n let locationServicesCheck = await Location.hasServicesEnabledAsync();\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n // await Location.requestForegroundPermissionsAsync(); //permission code using expo module\n const bgLocation = await PermissionModule.requestBackgroundPermissions();\n // await Location.requestBackgroundPermissionsAsync(); //permission code using expo module\n if (!(locationServicesCheck && foregroundLocation && bgLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n }\n let internet = await NetworkUtil.isAvailableAsync();\n if (!internet)\n throw new BaseError(\n ErrorCodes.INTERNET_NOT_ENABLED,\n 'Internet is disabled! Please enable internet and try again '\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -151,11 +151,8 @@ const FormGenerator = props => {
151
151
  }
152
152
  }, /*#__PURE__*/React.createElement(Text, null))))), /*#__PURE__*/React.createElement(View, {
153
153
  style: styles.bottomView
154
- }, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Button, {
155
- style: [CommonStyles.nextButton, {
156
- width: 165,
157
- marginStart: 10
158
- }],
154
+ }, /*#__PURE__*/React.createElement(Button, {
155
+ style: [styles.mainBtnStyles, CommonStyles.nextButton],
159
156
  labelStyle: CommonStyles.nextButtonLabel,
160
157
  mode: 'contained',
161
158
  onPress: () => {
@@ -172,11 +169,8 @@ const FormGenerator = props => {
172
169
  cta: cta
173
170
  });
174
171
  }
175
- }, "Proceed")), /*#__PURE__*/React.createElement(View, null, props.isSelfLoop == false && /*#__PURE__*/React.createElement(Button, {
176
- style: [CommonStyles.cancelButton, {
177
- width: 165,
178
- marginEnd: 10
179
- }],
172
+ }, "Proceed"), props.isSelfLoop == false && /*#__PURE__*/React.createElement(Button, {
173
+ style: [styles.mainBtnStyles, CommonStyles.cancelButton],
180
174
  labelStyle: CommonStyles.cancelButtonLabel,
181
175
  mode: 'outlined',
182
176
  onPress: () => {
@@ -193,7 +187,7 @@ const FormGenerator = props => {
193
187
  cta: cta
194
188
  });
195
189
  }
196
- }, "Cancel")))));
190
+ }, "Cancel"))));
197
191
  };
198
192
  export default FormGenerator;
199
193
  const styles = StyleSheet.create({
@@ -212,6 +206,16 @@ const styles = StyleSheet.create({
212
206
  flexDirection: 'row-reverse',
213
207
  justifyContent: 'space-evenly',
214
208
  padding: 16,
209
+ backgroundColor: 'white',
210
+ gap: 16
211
+ },
212
+ mainBtnStyles: {
213
+ display: 'flex',
214
+ flexDirection: 'row',
215
+ justifyContent: 'center',
216
+ alignItems: 'center',
217
+ flex: 1,
218
+ width: '100%',
215
219
  backgroundColor: 'white'
216
220
  }
217
221
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","useState","useLayoutEffect","BackHandler","KeyboardAvoidingView","Platform","ScrollView","StyleSheet","Text","View","ReactNativeForm","defaultProps","FormContext","DateTimeWidget","TimeRangeSelector","QRBarcodeScannerWidget","DropdownWidget","Button","Provider","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","CommonStyles","Fonts","SdkColors","ColorTheme","Icon","GO_BACK_EVENT_CODE","hasGoBackConnector","GoBackModal","useFocusEffect","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","customWidgets","datePicker","timeRangeSelector","scanner","select","FormGenerator","props","form","showBackModal","setShowBackModal","onCancel","setOnCancel","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","FORM_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","FORMS","mergedObjectiveId","data","onFailure","mainContainer","flex","flexGrow","padding","value","requiredTitle","theme","primaryColor","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","OS","IBMPlexSans_400Regular","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","nextButton","width","marginStart","labelStyle","nextButtonLabel","mode","current","submit","isSelfLoop","cancelButton","marginEnd","cancelButtonLabel","create","marginTop","marginBottom","fontStyle","fontSize","lineHeight","letterSpacing","alignItems","flexDirection","justifyContent","backgroundColor"],"sources":["FormGenerator.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect, useEffect } from 'react';\nimport {\n BackHandler,\n KeyboardAvoidingView,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from 'react-native';\nimport ReactNativeForm, { defaultProps, FormContext } from 'rjsf-native';\nimport DateTimeWidget from './widgets/DateTimeWidget';\nimport TimeRangeSelector from './widgets/TimeRangeSelector';\nimport QRBarcodeScannerWidget from './widgets/QRBarcodeScannerWidget';\nimport DropdownWidget from './widgets/DropdownWidget';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport type { FormInputSchema } from './FormSchema';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst customWidgets = {\n datePicker: DateTimeWidget,\n timeRangeSelector: TimeRangeSelector,\n scanner: QRBarcodeScannerWidget,\n select: DropdownWidget,\n};\n\nconst FormGenerator = (props: FormInputSchema) => {\n const form = useRef(null);\n const [showBackModal, setShowBackModal] = useState(false);\n const [onCancel, setOnCancel] = useState(false);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = 'Back Arrow';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <KeyboardAvoidingView style={CommonStyles.mainContainer}>\n <ScrollView style={{ flex: 1, flexGrow: 1 }}>\n <View\n style={{\n flex: 1,\n padding: 20,\n }}\n >\n <FormContext.Provider\n value={{\n ...defaultProps,\n requiredTitle: '*',\n theme: {\n primaryColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n highlightColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n textColor: '#3D445C',\n placeholderTextColor: '#3D445C',\n errorColor: '#b00020',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n }}\n >\n <Text style={[styles.title]}>{props.message}</Text>\n <ReactNativeForm\n noHtml5Validate={onCancel ? true : false}\n noValidate={onCancel ? true : false}\n widgets={customWidgets}\n // @ts-ignore\n ref={form}\n // @ts-ignore\n schema={props.jsonSchema}\n showErrorList={false}\n uiSchema={props.uiSchema}\n onError={async (error) => {\n if (onCancel === false) props.onError(error);\n else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n }\n }}\n onSubmit={async (response) => {\n if (onCancel === true) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n } else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n true,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n }\n }}\n >\n <Text>{ }</Text>\n </ReactNativeForm>\n </FormContext.Provider>\n </View>\n </ScrollView>\n <View style={styles.bottomView}>\n <View>\n <Button\n style={[CommonStyles.nextButton, { width: 165, marginStart: 10 }]}\n labelStyle={CommonStyles.nextButtonLabel}\n mode={'contained'}\n onPress={() => {\n if (form.current) {\n setOnCancel(false);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n </View>\n <View>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { width: 165, marginEnd: 10 }]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={() => {\n if (form.current) {\n setOnCancel(true);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Cancel';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n </View>\n </View>\n </KeyboardAvoidingView>\n </Provider>\n );\n};\n\nexport default FormGenerator;\n\nconst styles = StyleSheet.create({\n title: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n bottomView: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-evenly',\n padding: 16,\n backgroundColor: 'white',\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","useState","useLayoutEffect","BackHandler","KeyboardAvoidingView","Platform","ScrollView","StyleSheet","Text","View","ReactNativeForm","defaultProps","FormContext","DateTimeWidget","TimeRangeSelector","QRBarcodeScannerWidget","DropdownWidget","Button","Provider","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","CommonStyles","Fonts","SdkColors","ColorTheme","Icon","GO_BACK_EVENT_CODE","hasGoBackConnector","GoBackModal","useFocusEffect","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","customWidgets","datePicker","timeRangeSelector","scanner","select","FormGenerator","props","form","showBackModal","setShowBackModal","onCancel","setOnCancel","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","FORM_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","FORMS","mergedObjectiveId","data","onFailure","mainContainer","flex","flexGrow","padding","value","requiredTitle","theme","primaryColor","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","OS","IBMPlexSans_400Regular","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","mainBtnStyles","nextButton","labelStyle","nextButtonLabel","mode","current","submit","isSelfLoop","cancelButton","cancelButtonLabel","create","marginTop","marginBottom","fontStyle","fontSize","lineHeight","letterSpacing","alignItems","flexDirection","justifyContent","backgroundColor","gap","display","width"],"sources":["FormGenerator.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect, useEffect } from 'react';\nimport {\n BackHandler,\n KeyboardAvoidingView,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from 'react-native';\nimport ReactNativeForm, { defaultProps, FormContext } from 'rjsf-native';\nimport DateTimeWidget from './widgets/DateTimeWidget';\nimport TimeRangeSelector from './widgets/TimeRangeSelector';\nimport QRBarcodeScannerWidget from './widgets/QRBarcodeScannerWidget';\nimport DropdownWidget from './widgets/DropdownWidget';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport type { FormInputSchema } from './FormSchema';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst customWidgets = {\n datePicker: DateTimeWidget,\n timeRangeSelector: TimeRangeSelector,\n scanner: QRBarcodeScannerWidget,\n select: DropdownWidget,\n};\n\nconst FormGenerator = (props: FormInputSchema) => {\n const form = useRef(null);\n const [showBackModal, setShowBackModal] = useState(false);\n const [onCancel, setOnCancel] = useState(false);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = 'Back Arrow';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <KeyboardAvoidingView style={CommonStyles.mainContainer}>\n <ScrollView style={{ flex: 1, flexGrow: 1 }}>\n <View\n style={{\n flex: 1,\n padding: 20,\n }}\n >\n <FormContext.Provider\n value={{\n ...defaultProps,\n requiredTitle: '*',\n theme: {\n primaryColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n highlightColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n textColor: '#3D445C',\n placeholderTextColor: '#3D445C',\n errorColor: '#b00020',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n }}\n >\n <Text style={[styles.title]}>{props.message}</Text>\n <ReactNativeForm\n noHtml5Validate={onCancel ? true : false}\n noValidate={onCancel ? true : false}\n widgets={customWidgets}\n // @ts-ignore\n ref={form}\n // @ts-ignore\n schema={props.jsonSchema}\n showErrorList={false}\n uiSchema={props.uiSchema}\n onError={async (error) => {\n if (onCancel === false) props.onError(error);\n else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n }\n }}\n onSubmit={async (response) => {\n if (onCancel === true) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n } else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n true,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n }\n }}\n >\n <Text>{ }</Text>\n </ReactNativeForm>\n </FormContext.Provider>\n </View>\n </ScrollView>\n <View style={styles.bottomView}>\n <Button\n style={[styles.mainBtnStyles, CommonStyles.nextButton]}\n labelStyle={CommonStyles.nextButtonLabel}\n mode={'contained'}\n onPress={() => {\n if (form.current) {\n setOnCancel(false);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n {(props.isSelfLoop == false) && <Button\n style={[styles.mainBtnStyles, CommonStyles.cancelButton]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={() => {\n if (form.current) {\n setOnCancel(true);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Cancel';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n </View>\n </KeyboardAvoidingView>\n </Provider>\n );\n};\n\nexport default FormGenerator;\n\nconst styles = StyleSheet.create({\n title: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n bottomView: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-evenly',\n padding: 16,\n backgroundColor: 'white',\n gap: 16,\n },\n mainBtnStyles: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n width: '100%',\n backgroundColor: 'white',\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -79,7 +79,10 @@ export default class AppSyncManager {
79
79
  * Call this method from index file of the app
80
80
  */
81
81
  static registerSyncTask() {
82
- AppRegistry.registerHeadlessTask('SYNC_MANAGER', () => AppSyncManager.startAppSyncManager);
82
+ // We will not register headless js task for api level 31 and above
83
+ if (Platform.OS == 'android' && Platform.Version > 30) {
84
+ AppRegistry.registerHeadlessTask('SYNC_MANAGER', () => AppSyncManager.startAppSyncManager);
85
+ }
83
86
  }
84
87
  async getAllEvents(dispatchID) {
85
88
  return EventsSyncManager.getInstance().getAllEvents(dispatchID);
@@ -1 +1 @@
1
- {"version":3,"names":["DocumentSyncManager","EventsSyncManager","NetworkUtil","Logger","LOG_TYPE","NativeSyncManager","DispatchSdkCache","AppRegistry","Platform","BaseError","ErrorCodes","DEFAULT_INTERVAL","DEFAULT_NOTIFICATION_DESCRIPTION","DEFAULT_NOTIFICATION_TITLE","MAX_RETRY_COUNT","AppSyncManager","constructor","tenantBaseURL","retryCount","_defineProperty","getInstance","init","initSyncManager","startSyncing","forceSync","_syncType","isAvailableAsync","forceDocumentSync","startSync","startDocumentSync","logEvent","SDK_INFO","isAppSyncPending","isSyncPending","initAppSync","syncRetryCount","instance","AppSyncNotInitialized","startAppSyncManager","stopSyncManager","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startSDKSyncManager","SDK_ERROR","isSyncActive","error","message","SDK_WARNING","registerSyncTask","registerHeadlessTask","getAllEvents","dispatchID","getAllDocuments","config","OS","isForceStartEnabled","_config$notificationC","_config$notificationC2","_config$notificationC3","retries","startSyncManager","notificationConfig","interval","title","description","then","catch","pushToQueue","pushData","insertBulkEvent","JSON","stringify","errorMessage","_AppSyncManager"],"sources":["AppSyncManager.ts"],"sourcesContent":["import DocumentSyncManager from './document/DocumentSyncManager';\nimport EventsSyncManager from './events/EventsSyncManager';\nimport NetworkUtil from '../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport NativeSyncManager from './NativeSyncManager';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport { AppRegistry, Platform } from 'react-native';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport type { SdkSyncType } from '../../models/DispatchModels';\nimport type { BulkEvent, DocumentRow, EventRow } from './DBConfig';\nimport {\n DEFAULT_INTERVAL,\n DEFAULT_NOTIFICATION_DESCRIPTION,\n DEFAULT_NOTIFICATION_TITLE,\n} from '../../constants/constants';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport { MAX_RETRY_COUNT } from './constants';\n\nexport default class AppSyncManager {\n private constructor(tenantBaseURL: string, retryCount: number) {\n DocumentSyncManager.getInstance().init(tenantBaseURL, retryCount);\n EventsSyncManager.getInstance().initSyncManager(tenantBaseURL, retryCount);\n }\n private static instance: AppSyncManager;\n public isSyncActive = false;\n public isForceStartEnabled = true;\n\n /**\n *\n * @param forceSync - true/false - if true resets the retry count key and start the sync\n * @param syncType\n */\n public async startSyncing(forceSync: boolean, _syncType?: SdkSyncType) {\n if (await NetworkUtil.isAvailableAsync()) {\n if (forceSync) {\n EventsSyncManager.getInstance().forceSync();\n DocumentSyncManager.getInstance().forceDocumentSync();\n } else {\n EventsSyncManager.getInstance().startSync();\n DocumentSyncManager.getInstance().startDocumentSync();\n }\n } else {\n Logger.getInstance().logEvent(\n 'startSync',\n 'No network',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isAppSyncPending(): Promise<boolean> {\n return (\n (await EventsSyncManager.getInstance().isSyncPending()) ||\n (await DocumentSyncManager.getInstance().isSyncPending())\n );\n }\n public static initAppSync(\n tenantBaseURL: string,\n syncRetryCount: number\n ): AppSyncManager {\n // removing this check to allow tenant change in app due to this manager instance did't re-init and event and docs didn't sync\n // if (!AppSyncManager.instance) {\n Logger.getInstance().logEvent(\n 'initAppSync',\n 'CREATING NEW INSTANCE',\n LOG_TYPE.SDK_INFO\n );\n AppSyncManager.instance = new AppSyncManager(\n tenantBaseURL,\n syncRetryCount\n );\n // }\n return AppSyncManager.instance;\n }\n public static getInstance(): AppSyncManager {\n if (!AppSyncManager.instance)\n throw new BaseError(\n ErrorCodes.AppSyncNotInitialized,\n 'SDK sync Manager is not initialized'\n );\n else return AppSyncManager.instance;\n }\n\n public static async startAppSyncManager() {\n try {\n if (!AppSyncManager.instance) {\n NativeSyncManager.stopSyncManager();\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const retryCount = sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT;\n if (sdkConfig.tenantBaseURL != null && retryCount != null) {\n AppSyncManager.initAppSync(sdkConfig.tenantBaseURL, +retryCount);\n AppSyncManager.getInstance().startSDKSyncManager();\n } else {\n Logger.getInstance().logEvent(\n 'SYNC_MANAGER_ASM',\n 'TENANT BASE URL IS NULL',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else if (await AppSyncManager.instance.isAppSyncPending()) {\n AppSyncManager.instance.startSyncing(false);\n } else {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isSyncActive = false;\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startAppSyncManager',\n `Unable to start App Sync Manager ${error.message}`,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n /**\n * Call this method from index file of the app\n */\n public static registerSyncTask() {\n AppRegistry.registerHeadlessTask(\n 'SYNC_MANAGER',\n () => AppSyncManager.startAppSyncManager\n );\n }\n\n public async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n return EventsSyncManager.getInstance().getAllEvents(dispatchID);\n }\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n return DocumentSyncManager.getInstance().getAllDocuments(dispatchID);\n }\n public startSDKSyncManager() {\n (async () => {\n const config = (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n if (Platform.OS === 'android') {\n if (!this.isSyncActive && this.isForceStartEnabled) {\n this.isSyncActive = true;\n\n /**\n * Reset Retry Counter\n */\n EventsSyncManager.getInstance().retries = 0;\n DocumentSyncManager.getInstance().retries = 0;\n NativeSyncManager.startSyncManager(\n config?.notificationConfig?.interval ?? DEFAULT_INTERVAL,\n config?.notificationConfig?.title ?? DEFAULT_NOTIFICATION_TITLE,\n config?.notificationConfig?.description ??\n DEFAULT_NOTIFICATION_DESCRIPTION\n );\n } else {\n Logger.getInstance().logEvent(\n 'startNativeSyncManager',\n 'ANDROID SYNC SERVICE ALREADY RUNNING',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n /**\n * For iOS we have to start Normal Foreground sync\n */\n this.startSyncing(true).then().catch();\n }\n })();\n }\n\n // NEW CODE\n public async pushToQueue(pushData: BulkEvent): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushToQueue ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DocumentSyncManager","EventsSyncManager","NetworkUtil","Logger","LOG_TYPE","NativeSyncManager","DispatchSdkCache","AppRegistry","Platform","BaseError","ErrorCodes","DEFAULT_INTERVAL","DEFAULT_NOTIFICATION_DESCRIPTION","DEFAULT_NOTIFICATION_TITLE","MAX_RETRY_COUNT","AppSyncManager","constructor","tenantBaseURL","retryCount","_defineProperty","getInstance","init","initSyncManager","startSyncing","forceSync","_syncType","isAvailableAsync","forceDocumentSync","startSync","startDocumentSync","logEvent","SDK_INFO","isAppSyncPending","isSyncPending","initAppSync","syncRetryCount","instance","AppSyncNotInitialized","startAppSyncManager","stopSyncManager","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startSDKSyncManager","SDK_ERROR","isSyncActive","error","message","SDK_WARNING","registerSyncTask","OS","Version","registerHeadlessTask","getAllEvents","dispatchID","getAllDocuments","config","isForceStartEnabled","_config$notificationC","_config$notificationC2","_config$notificationC3","retries","startSyncManager","notificationConfig","interval","title","description","then","catch","pushToQueue","pushData","insertBulkEvent","JSON","stringify","errorMessage","_AppSyncManager"],"sources":["AppSyncManager.ts"],"sourcesContent":["import DocumentSyncManager from './document/DocumentSyncManager';\nimport EventsSyncManager from './events/EventsSyncManager';\nimport NetworkUtil from '../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport NativeSyncManager from './NativeSyncManager';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport { AppRegistry, Platform } from 'react-native';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport type { SdkSyncType } from '../../models/DispatchModels';\nimport type { BulkEvent, DocumentRow, EventRow } from './DBConfig';\nimport {\n DEFAULT_INTERVAL,\n DEFAULT_NOTIFICATION_DESCRIPTION,\n DEFAULT_NOTIFICATION_TITLE,\n} from '../../constants/constants';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport { MAX_RETRY_COUNT } from './constants';\n\nexport default class AppSyncManager {\n private constructor(tenantBaseURL: string, retryCount: number) {\n DocumentSyncManager.getInstance().init(tenantBaseURL, retryCount);\n EventsSyncManager.getInstance().initSyncManager(tenantBaseURL, retryCount);\n }\n private static instance: AppSyncManager;\n public isSyncActive = false;\n public isForceStartEnabled = true;\n\n /**\n *\n * @param forceSync - true/false - if true resets the retry count key and start the sync\n * @param syncType\n */\n public async startSyncing(forceSync: boolean, _syncType?: SdkSyncType) {\n if (await NetworkUtil.isAvailableAsync()) {\n if (forceSync) {\n EventsSyncManager.getInstance().forceSync();\n DocumentSyncManager.getInstance().forceDocumentSync();\n } else {\n EventsSyncManager.getInstance().startSync();\n DocumentSyncManager.getInstance().startDocumentSync();\n }\n } else {\n Logger.getInstance().logEvent(\n 'startSync',\n 'No network',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isAppSyncPending(): Promise<boolean> {\n return (\n (await EventsSyncManager.getInstance().isSyncPending()) ||\n (await DocumentSyncManager.getInstance().isSyncPending())\n );\n }\n public static initAppSync(\n tenantBaseURL: string,\n syncRetryCount: number\n ): AppSyncManager {\n // removing this check to allow tenant change in app due to this manager instance did't re-init and event and docs didn't sync\n // if (!AppSyncManager.instance) {\n Logger.getInstance().logEvent(\n 'initAppSync',\n 'CREATING NEW INSTANCE',\n LOG_TYPE.SDK_INFO\n );\n AppSyncManager.instance = new AppSyncManager(\n tenantBaseURL,\n syncRetryCount\n );\n // }\n return AppSyncManager.instance;\n }\n public static getInstance(): AppSyncManager {\n if (!AppSyncManager.instance)\n throw new BaseError(\n ErrorCodes.AppSyncNotInitialized,\n 'SDK sync Manager is not initialized'\n );\n else return AppSyncManager.instance;\n }\n\n public static async startAppSyncManager() {\n try {\n if (!AppSyncManager.instance) {\n NativeSyncManager.stopSyncManager();\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const retryCount = sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT;\n if (sdkConfig.tenantBaseURL != null && retryCount != null) {\n AppSyncManager.initAppSync(sdkConfig.tenantBaseURL, +retryCount);\n AppSyncManager.getInstance().startSDKSyncManager();\n } else {\n Logger.getInstance().logEvent(\n 'SYNC_MANAGER_ASM',\n 'TENANT BASE URL IS NULL',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else if (await AppSyncManager.instance.isAppSyncPending()) {\n AppSyncManager.instance.startSyncing(false);\n } else {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isSyncActive = false;\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startAppSyncManager',\n `Unable to start App Sync Manager ${error.message}`,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n /**\n * Call this method from index file of the app\n */\n public static registerSyncTask() {\n // We will not register headless js task for api level 31 and above\n if (Platform.OS == 'android' && Platform.Version > 30) {\n AppRegistry.registerHeadlessTask(\n 'SYNC_MANAGER',\n () => AppSyncManager.startAppSyncManager\n );\n }\n }\n\n public async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n return EventsSyncManager.getInstance().getAllEvents(dispatchID);\n }\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n return DocumentSyncManager.getInstance().getAllDocuments(dispatchID);\n }\n public startSDKSyncManager() {\n (async () => {\n const config = (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n if (Platform.OS === 'android') {\n if (!this.isSyncActive && this.isForceStartEnabled) {\n this.isSyncActive = true;\n\n /**\n * Reset Retry Counter\n */\n EventsSyncManager.getInstance().retries = 0;\n DocumentSyncManager.getInstance().retries = 0;\n NativeSyncManager.startSyncManager(\n config?.notificationConfig?.interval ?? DEFAULT_INTERVAL,\n config?.notificationConfig?.title ?? DEFAULT_NOTIFICATION_TITLE,\n config?.notificationConfig?.description ??\n DEFAULT_NOTIFICATION_DESCRIPTION\n );\n } else {\n Logger.getInstance().logEvent(\n 'startNativeSyncManager',\n 'ANDROID SYNC SERVICE ALREADY RUNNING',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n /**\n * For iOS we have to start Normal Foreground sync\n */\n this.startSyncing(true).then().catch();\n }\n })();\n }\n\n // NEW CODE\n public async pushToQueue(pushData: BulkEvent): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushToQueue ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -141,8 +141,10 @@ export default class DocumentHttpClient extends HttpClient {
141
141
  if (processedFileExist) {
142
142
  filePathToUpload = document.processed_file_path;
143
143
  }
144
+ const fileStat = await RNFS.stat(filePathToUpload);
144
145
  const url = sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
145
146
  let extraParameters = {
147
+ fSize: fileStat.size + " b",
146
148
  fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4) : '',
147
149
  dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4) : '',
148
150
  dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9) : ''
@@ -1 +1 @@
1
- {"version":3,"names":["HttpClient","FileSystem","FileSystemUploadType","DispatchSdkCache","Logger","LOG_TYPE","RNFS","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","flattenObject","isTokenExpired","callbackHandler","cache","getInstance","cacheKeys","KEYS","DocumentHttpClient","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","severityLevel","LOG","eventName","API_RESPONSE","screenName","extraParams","logEvent","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","accessToken","refresheAndUpdateToken","API_CALL","instance","post","headers","tenantID","filePathToUpload","processedFileExist","exists","url","tenantBaseURL","uploadAsync","httpMethod","uploadType","MULTIPART","fieldName","parameters"],"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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","ignoreList":[]}
1
+ {"version":3,"names":["HttpClient","FileSystem","FileSystemUploadType","DispatchSdkCache","Logger","LOG_TYPE","RNFS","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","flattenObject","isTokenExpired","callbackHandler","cache","getInstance","cacheKeys","KEYS","DocumentHttpClient","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","severityLevel","LOG","eventName","API_RESPONSE","screenName","extraParams","logEvent","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","accessToken","refresheAndUpdateToken","API_CALL","instance","post","headers","tenantID","filePathToUpload","processedFileExist","exists","fileStat","stat","url","tenantBaseURL","fSize","size","uploadAsync","httpMethod","uploadType","MULTIPART","fieldName","parameters"],"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 fileStat = await RNFS.stat(filePathToUpload);\n\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n \n let extraParameters = { \n fSize: fileStat.size + \" b\",\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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","ignoreList":[]}
@@ -8,8 +8,12 @@ const requestForegroundPermissions = async () => {
8
8
  const requestBackgroundPermissions = async () => {
9
9
  return PermissionsModule.requestBackgroundPermissions();
10
10
  };
11
+ const requestWakeLockPermissions = async () => {
12
+ return PermissionsModule.requestWakeLockPermissions();
13
+ };
11
14
  export default {
12
15
  requestForegroundPermissions,
13
- requestBackgroundPermissions
16
+ requestBackgroundPermissions,
17
+ requestWakeLockPermissions
14
18
  };
15
19
  //# sourceMappingURL=PermissionModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","PermissionsModule","requestForegroundPermissions","requestBackgroundPermissions"],"sources":["PermissionModule.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\n\nconst { PermissionsModule } = NativeModules;\n\ninterface PermissionsModuleType {\n requestForegroundPermissions: () => Promise<boolean>;\n requestBackgroundPermissions: () => Promise<boolean>;\n}\n\nconst requestForegroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestForegroundPermissions();\n};\n\nconst requestBackgroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestBackgroundPermissions();\n};\n\nexport default {\n requestForegroundPermissions,\n requestBackgroundPermissions,\n} as PermissionsModuleType;"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAM;EAAEC;AAAkB,CAAC,GAAGD,aAAa;AAO3C,MAAME,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOD,iBAAiB,CAACC,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOF,iBAAiB,CAACE,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,eAAe;EACXD,4BAA4B;EAC5BC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","PermissionsModule","requestForegroundPermissions","requestBackgroundPermissions","requestWakeLockPermissions"],"sources":["PermissionModule.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\n\nconst { PermissionsModule } = NativeModules;\n\ninterface PermissionsModuleType {\n requestForegroundPermissions: () => Promise<boolean>;\n requestBackgroundPermissions: () => Promise<boolean>;\n requestWakeLockPermissions: () => Promise<boolean>;\n}\n\nconst requestForegroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestForegroundPermissions();\n};\n\nconst requestBackgroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestBackgroundPermissions();\n};\n\nconst requestWakeLockPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestWakeLockPermissions();\n};\n\nexport default {\n requestForegroundPermissions,\n requestBackgroundPermissions,\n requestWakeLockPermissions\n} as PermissionsModuleType;"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAM;EAAEC;AAAkB,CAAC,GAAGD,aAAa;AAQ3C,MAAME,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOD,iBAAiB,CAACC,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOF,iBAAiB,CAACE,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,0BAA0B,GAAG,MAAAA,CAAA,KAA8B;EAC7D,OAAOH,iBAAiB,CAACG,0BAA0B,CAAC,CAAC;AACzD,CAAC;AAED,eAAe;EACXF,4BAA4B;EAC5BC,4BAA4B;EAC5BC;AACJ,CAAC","ignoreList":[]}