@os1-platform/dispatch-mobile 3.1.6 → 3.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  2. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  3. package/android/build.gradle +4 -2
  4. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +38 -45
  5. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  6. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +121 -108
  7. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
  8. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +1 -0
  9. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  10. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +3 -5
  11. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  12. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +62 -57
  13. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  14. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +0 -1
  15. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  16. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +6 -56
  17. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  18. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +5 -6
  19. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  20. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js +2 -1
  21. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  22. package/lib/commonjs/network/client.js +8 -1
  23. package/lib/commonjs/network/client.js.map +1 -1
  24. package/lib/commonjs/ui/screens/CollectPaymentScreen.js +12 -18
  25. package/lib/commonjs/ui/screens/CollectPaymentScreen.js.map +1 -1
  26. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +3 -2
  27. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  28. package/lib/commonjs/ui/screens/DeliverScreen.js +13 -8
  29. package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
  30. package/lib/commonjs/ui/screens/DropCashScreen.js +14 -12
  31. package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
  32. package/lib/commonjs/ui/screens/ImageCaptureScreen.js +2 -2
  33. package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/PickupScreen.js +3 -8
  35. package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +2 -2
  37. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
  38. package/lib/commonjs/utils/Constants.js +1 -2
  39. package/lib/commonjs/utils/Constants.js.map +1 -1
  40. package/lib/commonjs/utils/Logger.js +20 -8
  41. package/lib/commonjs/utils/Logger.js.map +1 -1
  42. package/lib/commonjs/utils/SdkUtils.js +1 -0
  43. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  44. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +38 -45
  45. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  46. package/lib/module/manager/dispatch/DispatchStateContainer.js +121 -108
  47. package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
  48. package/lib/module/manager/sdk/DispatchSDKManager.js +1 -0
  49. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  50. package/lib/module/manager/syncmanager/AppSyncManager.js +3 -5
  51. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  52. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +62 -57
  53. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  54. package/lib/module/manager/syncmanager/document/DocumentManager.js +0 -1
  55. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  56. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +6 -56
  57. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  58. package/lib/module/manager/syncmanager/events/EventsSyncManager.js +5 -6
  59. package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  60. package/lib/module/manager/syncmanager/events/SyncHttpClient.js +2 -1
  61. package/lib/module/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  62. package/lib/module/network/client.js +8 -1
  63. package/lib/module/network/client.js.map +1 -1
  64. package/lib/module/ui/screens/CollectPaymentScreen.js +12 -18
  65. package/lib/module/ui/screens/CollectPaymentScreen.js.map +1 -1
  66. package/lib/module/ui/screens/CompleteObjectiveScreen.js +3 -2
  67. package/lib/module/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  68. package/lib/module/ui/screens/DeliverScreen.js +13 -8
  69. package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
  70. package/lib/module/ui/screens/DropCashScreen.js +13 -12
  71. package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
  72. package/lib/module/ui/screens/ImageCaptureScreen.js +2 -2
  73. package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
  74. package/lib/module/ui/screens/PickupScreen.js +3 -8
  75. package/lib/module/ui/screens/PickupScreen.js.map +1 -1
  76. package/lib/module/ui/screens/StartWorkFlowScreen.js +2 -2
  77. package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
  78. package/lib/module/utils/Constants.js +1 -2
  79. package/lib/module/utils/Constants.js.map +1 -1
  80. package/lib/module/utils/Logger.js +20 -8
  81. package/lib/module/utils/Logger.js.map +1 -1
  82. package/lib/module/utils/SdkUtils.js +1 -0
  83. package/lib/module/utils/SdkUtils.js.map +1 -1
  84. package/lib/typescript/network/client.d.ts +2 -1
  85. package/lib/typescript/utils/Constants.d.ts +1 -1
  86. package/lib/typescript/utils/Logger.d.ts +3 -1
  87. package/package.json +2 -2
  88. package/src/components/executiontasks/imageCapture/ImageCapture.tsx +43 -54
  89. package/src/manager/dispatch/DispatchStateContainer.tsx +158 -164
  90. package/src/manager/sdk/DispatchSDKManager.ts +2 -1
  91. package/src/manager/syncmanager/AppSyncManager.ts +3 -17
  92. package/src/manager/syncmanager/document/DocumentHttpClient.ts +90 -86
  93. package/src/manager/syncmanager/document/DocumentManager.ts +0 -1
  94. package/src/manager/syncmanager/document/DocumentSyncManager.ts +6 -76
  95. package/src/manager/syncmanager/events/EventsSyncManager.ts +8 -29
  96. package/src/manager/syncmanager/events/SyncHttpClient.ts +2 -5
  97. package/src/network/client.ts +12 -2
  98. package/src/ui/screens/CollectPaymentScreen.tsx +14 -33
  99. package/src/ui/screens/CompleteObjectiveScreen.tsx +3 -6
  100. package/src/ui/screens/DeliverScreen.tsx +16 -11
  101. package/src/ui/screens/DropCashScreen.tsx +10 -10
  102. package/src/ui/screens/ImageCaptureScreen.tsx +2 -2
  103. package/src/ui/screens/PickupScreen.tsx +5 -12
  104. package/src/ui/screens/StartWorkFlowScreen.tsx +1 -1
  105. package/src/utils/Constants.ts +1 -2
  106. package/src/utils/Logger.ts +26 -18
  107. package/src/utils/SdkUtils.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","ETEventsManager","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","EventsSyncManager","Marker","Position","TextBackgroundType","ImageFormat","RNFS","Storage","Platform","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","latlngToDms","require","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","severityLevel","LOG","eventName","APP_LOG","screenName","extraParams","msg","logEvent","SDK_ERROR","error","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","InvalidArgumentError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","podId","markPODDocEventSynced","lastSyncedEventId","getSharedItem","syncEventId","parseInt","setSharedItem","startSync","err","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","ERROR","APP_ERROR","SDK_WARNING","updateDocError","uploadError","updateDocSyncError","processImageData","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","processed_file_path","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","none","quality","filename","saveFormat","jpg","markText","completeFilePath","includes","processBase64Data","imagePath","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","geoStampAvailable","uploadDocument","startSyncAfterMaxRetry","_error$response","_error$response2","API_ERROR","stringify","message","response","status","updateDocPriority","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","_DocumentSyncManager"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, { Position, TextBackgroundType, ImageFormat } from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] = await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No data to sync'\n },\n });\n Logger.getInstance().logEvent(cta, 'No data to sync', LOG_TYPE.SDK_ERROR);\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n let cta = 'startDocumentSync-error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(error)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);\n else {\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:', fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'insertResponse ' + flattenObject(insertResponse)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'insertResponse ' + flattenObject(insertResponse),\n LOG_TYPE.SDK_ERROR\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n // This function will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if (sync == 1) {\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n let cta = 'updateDocumentWithAttempt'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n let cta = 'updateDocument-updateDocumentProcessedPath-Error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n let cta = 'updateDocError'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n let extra = {\n msg: '',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n try {\n let cta = 'processImageData-started';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath;\n }\n } catch (error: any) {\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n documentRow.file_path // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = \"\"\n }\n }\n let cta = 'processImageData-completed';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let cta = 'processBase64Data-started';\n let extra = {\n msg: 'processBase64Data-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n let cta = 'processBase64Data-completed';\n let extra = {\n msg: 'processBase64Data-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = documentRow;\n let cta = 'uploadDocToServer-geoStamp';\n let geoStampAvailable = false\n if (documentRow.geo_timestamp && documentRow.geo_timestamp.length != 0) {\n geoStampAvailable = true;\n docRow = await this.processPODData(documentRow);\n }\n let extra = {\n msg: geoStampAvailable ? \"geoStamp availale\" : 'geoStamp not availale',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let fmsID = await this.documentHttpClient?.uploadDocument(docRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n // Calling function updating document row along with attempt count and sync as true.\n await this.updateDocumentWithAttempt(\n documentRow,\n fmsID,\n this._retries + 1,\n 1\n );\n this._retries = 0;\n // await this.updateDocument(docRow, fmsID);\n } else {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n this._retries++;\n let cta = 'uploadDocToServer-empty-fms-id'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n this.startSyncAfterMaxRetry(extraParameters, null);\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n const cta = 'uploadDocToServer-error';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.API_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n error: flattenObject(error),\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n this._retries++;\n this.startSyncAfterMaxRetry(null, error);\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n private async startSyncAfterMaxRetry(extraParameters: any, error: any) {\n if (this.retries >= this.maxRetryCount) {\n let cta = 'startSyncAfterMaxRetry-max-retry-reached'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters ? extraParameters : error,\n });\n Logger.getInstance().logEvent(\n cta,\n extraParameters ? flattenObject(extraParameters) : flattenObject((error)),\n LOG_TYPE.SDK_ERROR\n );\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.docManager.updateDocPriority(documentRows[0].id, documentRows[0].priority + 1);\n this._retries = 0;\n this.startDocumentSync();\n }\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","ETEventsManager","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","EventsSyncManager","Marker","Position","TextBackgroundType","ImageFormat","RNFS","Storage","Platform","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","latlngToDms","require","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","severityLevel","LOG","eventName","APP_LOG","screenName","extraParams","msg","logEvent","SDK_ERROR","error","logCora","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","InvalidArgumentError","_this$docManager","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","podId","markPODDocEventSynced","lastSyncedEventId","getSharedItem","syncEventId","parseInt","setSharedItem","startSync","err","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","updateDocError","uploadError","updateDocSyncError","processImageData","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","processed_file_path","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","none","quality","filename","saveFormat","jpg","markText","completeFilePath","includes","processBase64Data","imagePath","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","geoStampAvailable","uploadDocument","startSyncAfterMaxRetry","_error$response","_error$response2","stringify","message","response","status","updateDocPriority","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","_DocumentSyncManager"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, { Position, TextBackgroundType, ImageFormat } from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] = await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No data to sync'\n },\n });\n Logger.getInstance().logEvent(cta, 'No data to sync', LOG_TYPE.SDK_ERROR);\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager startDocumentSync: ${error}`);\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);\n else {\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'insertResponse ' + flattenObject(insertResponse)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'insertResponse ' + flattenObject(insertResponse),\n LOG_TYPE.SDK_ERROR\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n // This function will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if (sync == 1) {\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager updateDocumentWithAttempt: ${err}`);\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager updateDocumentProcessedPath: ${err}`);\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager updateDocError: ${err}`);\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n let extra = {\n msg: '',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n try {\n let cta = 'processImageData-started';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath;\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager processImageData: ${error}`);\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n documentRow.file_path // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = \"\"\n }\n }\n let cta = 'processImageData-completed';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let cta = 'processBase64Data-started';\n let extra = {\n msg: 'processBase64Data-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n let cta = 'processBase64Data-completed';\n let extra = {\n msg: 'processBase64Data-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = documentRow;\n let cta = 'uploadDocToServer-geoStamp';\n let geoStampAvailable = false\n if (documentRow.geo_timestamp && documentRow.geo_timestamp.length != 0) {\n geoStampAvailable = true;\n docRow = await this.processPODData(documentRow);\n }\n let extra = {\n msg: geoStampAvailable ? \"geoStamp availale\" : 'geoStamp not availale',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let fmsID = await this.documentHttpClient?.uploadDocument(docRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n // Calling function updating document row along with attempt count and sync as true.\n await this.updateDocumentWithAttempt(\n documentRow,\n fmsID,\n this._retries + 1,\n 1\n );\n this._retries = 0;\n // await this.updateDocument(docRow, fmsID);\n } else {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n this._retries++;\n let cta = 'uploadDocToServer-empty-fms-id'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n this.startSyncAfterMaxRetry(extraParameters, null);\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager uploadDocToServer: ${error}`);\n this._retries++;\n this.startSyncAfterMaxRetry(null, error);\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n private async startSyncAfterMaxRetry(extraParameters: any, error: any) {\n if (this.retries >= this.maxRetryCount) {\n let cta = 'startSyncAfterMaxRetry-max-retry-reached'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters ? extraParameters : error,\n });\n Logger.getInstance().logEvent(\n cta,\n extraParameters ? flattenObject(extraParameters) : flattenObject((error)),\n LOG_TYPE.SDK_ERROR\n );\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.docManager.updateDocPriority(documentRows[0].id, documentRows[0].priority + 1);\n this._retries = 0;\n this.startDocumentSync();\n }\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -94,7 +94,7 @@ export default class EventsSyncManager {
94
94
  Logger.getInstance().logEvent('startSync-no network', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
95
95
  }
96
96
  } catch (error) {
97
- Logger.getInstance().logEvent('startSync-error', flattenObject(error), LOG_TYPE.SDK_ERROR);
97
+ Logger.getInstance().logCora("Error", `startSync: ${error}`);
98
98
  } finally {
99
99
  this.inProgress = false;
100
100
  const lastSyncedEventId = await Storage.getInstance().getSharedItem(LAST_SYNCED_EVENT_ID);
@@ -114,7 +114,6 @@ export default class EventsSyncManager {
114
114
  hasNetwork: hasNetwork,
115
115
  pending: arrEventsToSync.length != 0
116
116
  };
117
- console.log("finally:", arrEventsToSync.length);
118
117
  if (arrEventsToSync.length != 0 && hasNetwork) {
119
118
  await this.startSync();
120
119
  Logger.getInstance().logEvent('startSync-finally-data-sync-available', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
@@ -211,7 +210,7 @@ export default class EventsSyncManager {
211
210
  try {
212
211
  promises.push(this.eventsManager.updateError(ev.id, errorString));
213
212
  } catch (err) {
214
- Logger.getInstance().logEvent('updateEventError', flattenObject(err), LOG_TYPE.SDK_WARNING);
213
+ Logger.getInstance().logCora("Error", `updateEventError: ${JSON.stringify(err)}`);
215
214
  }
216
215
  }
217
216
  await Promise.all(promises);
@@ -252,7 +251,7 @@ export default class EventsSyncManager {
252
251
  try {
253
252
  promises.push(await this.eventsManager.markEventSynced(ev.id));
254
253
  } catch (err) {
255
- Logger.getInstance().logEvent('markEventSynced', flattenObject(err), LOG_TYPE.SDK_WARNING);
254
+ Logger.getInstance().logCora("Error", `markEventSynced: ${JSON.stringify(err)}`);
256
255
  }
257
256
  }
258
257
  await Promise.all(promises);
@@ -342,7 +341,7 @@ export default class EventsSyncManager {
342
341
  }
343
342
  if (requiredPayload) return requiredPayload.data;else return null;
344
343
  } catch (err) {
345
- Logger.getInstance().logEvent('getObjectiveSummary', flattenObject(err), LOG_TYPE.SDK_WARNING);
344
+ Logger.getInstance().logCora("Error", `getObjectiveSummary: ${JSON.stringify(err)}`);
346
345
  return null;
347
346
  }
348
347
  }
@@ -427,7 +426,7 @@ export default class EventsSyncManager {
427
426
  }
428
427
  } catch (error) {
429
428
  this._retries++;
430
- Logger.getInstance().logEvent('syncBulkEventToServer-error', flattenObject(error), LOG_TYPE.SDK_ERROR);
429
+ Logger.getInstance().logCora("Error", `syncBulkEventToServer: ${JSON.stringify(error)}`);
431
430
  await this.updateEventError(eventRows, JSON.stringify({
432
431
  error
433
432
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["ETEventsManager","SyncHttpClient","flattenObject","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","NetworkUtil","Logger","LOG_TYPE","IDispatch","SyncType","DispatchSdkCache","Storage","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","TAG","EventsSyncManager","retries","_retries","value","constructor","_defineProperty","initSyncManager","baseURL","retryCount","maxRetryCount","syncHttpClient","getInstance","instance","startSync","inProgress","hasNetwork","isAvailableAsync","eventsManager","checkForInitialization","lastSyncedEventId","getSharedItem","dspID","getKeyFromCache","KEYS","DISPATCH_ID","bulkEventRows","getBulkRowsToSync","arrEventsToSync","index","syncType","sync_type","includes","push","length","syncBulkEventToServer","extraParameters","logEvent","SDK_ERROR","network","error","pending","console","log","isProgress","retry","updateEventError","eventRows","errorString","promises","ev","updateError","id","err","SDK_WARNING","Promise","all","forceSync","isSyncPending","syncEventId","parseInt","getRowToSync","markEventSynced","insertPODDocEvent","InvalidArgumentError","insertEvent","sequence","payload","objectiveRef","config","insertBulkEvent","_bulkData","insertQueueEvent","_pushData","getObjectiveSummary","data","getObjectiveDetails","requiredPayload","row","JSON","parse","status","_this$syncHttpClient","success","syncBulkEvent","setSharedItem","lastSyncEventId","stringify","getAllEvents","clearEventsDB","deleteAllEvents","_EventsSyncManager"],"sources":["EventsSyncManager.ts"],"sourcesContent":["import ETEventsManager from './ETEventsManager';\nimport type {\n BulkEvent,\n DispatchSyncType,\n EventRow,\n ExecEngineSyncType,\n} from '../DBConfig';\nimport SyncHttpClient from './SyncHttpClient';\nimport { flattenObject, isEmptyOrBlank } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Storage from '../../../utils/storage';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT } from '../constants';\nimport { POD_DOC } from '../constants';\n\nconst TAG = 'EventsSyncManager';\nexport default class EventsSyncManager {\n private syncHttpClient: SyncHttpClient | undefined;\n private static instance: EventsSyncManager;\n private inProgress: boolean = false;\n private cScanInProgress: boolean = false;\n private eventsManager: ETEventsManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() {}\n\n public initSyncManager(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.syncHttpClient = new SyncHttpClient(baseURL);\n }\n\n public static getInstance(): EventsSyncManager {\n if (!EventsSyncManager.instance) {\n EventsSyncManager.instance = new EventsSyncManager();\n }\n return EventsSyncManager.instance;\n }\n\n public async startSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n try {\n this.checkForInitialization();\n \n if (hasNetwork) {\n // NEW CODE\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n\n const bulkEventRows = await this.eventsManager.getBulkRowsToSync(\n lastSyncedEventId,\n dspID ?? ''\n );\n\n var arrEventsToSync: EventRow[] = [];\n\n // Filtering and removing those events which are type of POD_DOC\n for (var index in bulkEventRows) {\n let syncType = bulkEventRows[index].sync_type;\n if (syncType.includes(POD_DOC)) {\n break;\n }\n arrEventsToSync.push(bulkEventRows[index]);\n }\n\n if (arrEventsToSync.length != 0) {\n await this.syncBulkEventToServer(\n arrEventsToSync,\n lastSyncedEventId\n );\n let extraParameters = {\n bulkEventRows: arrEventsToSync.length,\n };\n Logger.getInstance().logEvent(\n 'startSync-event-to-sync',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n } else {\n let extraParameters = {\n bulkEventRows: bulkEventRows.length,\n arrEventsToSync: arrEventsToSync.length\n };\n Logger.getInstance().logEvent(\n 'startSync-no-event-to-sync-else',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n\n // OLD CODE\n // const promises: any[] = [\n // this.JobRemovalEvent(this.eventsManager),\n // this.CustodyBatchEvent(this.eventsManager),\n // this.WorkflowUpdateEvent(this.eventsManager),\n // ];\n // await Promise.all(promises);\n } else {\n let extraParameters = {\n network: hasNetwork\n };\n Logger.getInstance().logEvent(\n 'startSync-no network',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startSync-error',\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n\n const bulkEventRows = await this.eventsManager.getBulkRowsToSync(\n lastSyncedEventId,\n dspID ?? ''\n );\n\n var arrEventsToSync: EventRow[] = [];\n\n // Filtering and removing those events which are type of POD_DOC\n for (var index in bulkEventRows) {\n let syncType = bulkEventRows[index].sync_type;\n if (syncType.includes(POD_DOC)) {\n break;\n }\n arrEventsToSync.push(bulkEventRows[index]);\n }\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: arrEventsToSync.length != 0,\n };\n console.log(\"finally:\",arrEventsToSync.length);\n if (arrEventsToSync.length != 0 && hasNetwork) {\n await this.startSync();\n Logger.getInstance().logEvent('startSync-finally-data-sync-available', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);\n }\n }\n } else {\n let extraParameters = {\n isProgress: this.inProgress,\n retry: this._retries,\n };\n Logger.getInstance().logEvent(\n 'startSync-inprogress-maxretries',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n // private async WorkflowUpdateEvent(eventsManager: ETEventsManager) {\n // const unsyncedData = await eventsManager.getWorkflowUpdateEvents(\n // SyncType.WORKFLOW\n // );\n // if (unsyncedData?.length > 0) {\n // await this.syncEventToServer(unsyncedData, SyncType.WORKFLOW);\n // } else {\n // Logger.getInstance().logEvent(\n // 'startSync',\n // 'No workflow/task data to sync in Events Manager',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // }\n\n // private async CustodyBatchEvent(eventsManager: ETEventsManager) {\n // const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n // DispatchSdkCache.KEYS.DISPATCH_ID\n // );\n // const custodyScans = await eventsManager.getCustodyBatch(dspID ?? '');\n // if (custodyScans && custodyScans.length > 0) {\n // await this.startCustodyScans(custodyScans);\n // }\n // }\n\n // private async JobRemovalEvent(eventsManager: ETEventsManager) {\n // const unsyncedJobRemovalData = await eventsManager.getJobRemovalEvents(\n // SyncType.JOB_REMOVAL\n // );\n // if (unsyncedJobRemovalData?.length > 0) {\n // await this.syncEventToServer(\n // unsyncedJobRemovalData,\n // SyncType.JOB_REMOVAL\n // );\n // }\n // }\n\n // public async startCustodyScans(custodyScans: EventRow[]) {\n // if (!this.cScanInProgress) {\n // this.cScanInProgress = true;\n // try {\n // const inScans = custodyScans.filter(\n // (scan) => scan.sync_type === SyncType.CUSTODY_IN_SCAN\n // );\n // const outScans = custodyScans.filter(\n // (scans) => scans.sync_type === SyncType.CUSTODY_OUT_SCAN\n // );\n // if (inScans && inScans.length > 0) {\n // await this.syncEventToServer(inScans, SyncType.CUSTODY_IN_SCAN);\n // } else if (outScans && outScans.length > 0) {\n // await this.syncEventToServer(outScans, SyncType.CUSTODY_OUT_SCAN);\n // } else {\n // Logger.getInstance().logEvent(\n // 'startCustodyScans',\n // 'NO CUSTODY SCANS LEFT TO SYNC',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // } catch (error: any) {\n // } finally {\n // this.cScanInProgress = false;\n // if (await this.isSyncPending()) await this.startSync();\n // }\n // } else {\n // Logger.getInstance().logEvent(\n // 'startCustodyScans',\n // 'Custody Scan already in Progress',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // }\n\n private async updateEventError(\n eventRows: EventRow[],\n errorString: string\n ): Promise<void> {\n if (!eventRows || eventRows.length === 0) return;\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n const promises: any[] = [];\n for (const ev of eventRows) {\n try {\n promises.push(this.eventsManager.updateError(ev.id, errorString));\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateEventError',\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n await Promise.all(promises);\n }\n\n /**\n * force sync events who retry count >3 This function can be called from app UI to sync the events forcefully\n */\n public async forceSync() {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n this._retries = 0;\n this.inProgress = false;\n await this.startSync();\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n\n \n // NEW CODE\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n const eventRows = await this.eventsManager.getRowToSync(\n `${syncEventId}`,\n dspID ?? ''\n );\n\n return eventRows.length > 0 && this._retries < this.maxRetryCount;\n\n // OLD CODE\n // let unsyncedData = await this.eventsManager.getAllUnsyncedEvents();\n // return unsyncedData?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n private async markEventSynced(eventRows: EventRow[]) {\n if (!eventRows || eventRows.length === 0) return;\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n const promises: any[] = [];\n for (const ev of eventRows) {\n try {\n promises.push(await this.eventsManager.markEventSynced(ev.id));\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'markEventSynced',\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n await Promise.all(promises);\n }\n\n // This function will insert POD_DOC type of event in event table.\n public async insertPODDocEvent(\n dspID: string,\n syncType: string\n ): Promise<void> {\n if (isEmptyOrBlank(dspID) || isEmptyOrBlank(syncType))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertPODDocEvent(dspID, syncType);\n }\n\n public async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n if (\n !sequence ||\n isEmptyOrBlank(payload) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(syncType) ||\n isEmptyOrBlank(objectiveRef)\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertEvent(\n sequence,\n payload,\n dspID,\n syncType,\n objectiveRef,\n config\n );\n }\n\n // NEW CODE\n public async insertBulkEvent(_bulkData: BulkEvent): Promise<void> {\n try {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertBulkEvent(_bulkData);\n } catch (err) {\n throw err;\n }\n }\n\n // NEW CODE\n public async insertQueueEvent(_pushData: BulkEvent): Promise<void> {\n try {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertQueueEvent(_pushData);\n } catch (err) {\n throw err;\n }\n }\n\n // OLD CODE\n // public async insertBulkEvent(_bulkData: BulkEvent[]): Promise<void> {\n // try {\n // /* if (\n // !sequence ||\n // isEmptyOrBlank(payload) ||\n // isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(syncType) ||\n // isEmptyOrBlank(objectiveRef)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // ); */\n // if (!this.eventsManager) {\n // this.eventsManager = await ETEventsManager.getInstance();\n // }\n // await this.eventsManager.insertBulkEvent(_bulkData);\n // } catch (err) {\n // throw err;\n // }\n // }\n\n private checkForInitialization() {\n if (!this.syncHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n public async getObjectiveSummary(objectiveRef: string): Promise<any> {\n if (!objectiveRef) return [];\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n try {\n let data = await this.eventsManager.getObjectiveDetails(objectiveRef);\n let requiredPayload: any = null;\n for (const row of data) {\n let payload = JSON.parse(row.payload);\n if (payload.status === 'CLOSED') {\n requiredPayload = payload;\n }\n }\n if (requiredPayload) return requiredPayload.data;\n else return null;\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'getObjectiveSummary',\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n return null;\n }\n }\n\n // private async syncEventToServer(\n // eventRows: EventRow[],\n // syncType: ExecEngineSyncType | DispatchSyncType\n // ) {\n // try {\n // const success = await this.syncHttpClient?.syncEvent(eventRows, syncType);\n\n // if (success) {\n // this._retries = 0;\n // // NEW CODE\n // const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n // LAST_SYNCED_EVENT_ID\n // );\n // const syncEventId = parseInt(lastSyncedEventId) + 1;\n // await Storage.getInstance().setSharedItem(\n // LAST_SYNCED_EVENT_ID,\n // `${syncEventId}`\n // );\n\n // // OLD CODE\n // await this.markEventSynced(eventRows);\n // } else {\n // this._retries++;\n // /* Logger.getInstance().logEvent(\n // 'syncEventToServer',\n // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)}`,\n // LOG_TYPE.SDK_ERROR\n // ); */\n // await this.updateEventError(eventRows, 'Unexpected error');\n // }\n // } catch (error: any) {\n // this._retries++;\n // /* Logger.getInstance().logEvent(\n // 'syncEventToServer',\n // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)} -: ${\n // error.message\n // }`,\n // LOG_TYPE.SDK_ERROR\n // ); */\n // await this.updateEventError(\n // eventRows,\n // JSON.stringify({\n // error,\n // })\n // );\n // }\n // }\n\n private async syncBulkEventToServer(\n eventRows: EventRow[],\n lastSyncedEventId: string\n ) {\n try {\n const success = await this.syncHttpClient?.syncBulkEvent(eventRows);\n let extraParameters = {\n success: success,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-syncBulkEvent-success-true',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (success) {\n this._retries = 0;\n // NEW CODE\n\n const syncEventId = parseInt(lastSyncedEventId) + eventRows.length;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n\n // OLD CODE\n await this.markEventSynced(eventRows);\n\n let extraParameters = {\n retries: this._retries,\n lastSyncEventId: syncEventId\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-markEventSynced',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n } else {\n this._retries++;\n await this.updateEventError(eventRows, 'Unexpected error');\n let extraParameters = {\n success: success,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-syncBulkEvent-success-false',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n this._retries++;\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-error',\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n await this.updateEventError(\n eventRows,\n JSON.stringify({\n error,\n })\n );\n }\n }\n\n public async getAllEvents(dspID?: string): Promise<EventRow[]> {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n return this.eventsManager.getAllEvents(dspID);\n }\n public async clearEventsDB() {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n await this.eventsManager.deleteAllEvents();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ETEventsManager","SyncHttpClient","flattenObject","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","NetworkUtil","Logger","LOG_TYPE","IDispatch","SyncType","DispatchSdkCache","Storage","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","TAG","EventsSyncManager","retries","_retries","value","constructor","_defineProperty","initSyncManager","baseURL","retryCount","maxRetryCount","syncHttpClient","getInstance","instance","startSync","inProgress","hasNetwork","isAvailableAsync","eventsManager","checkForInitialization","lastSyncedEventId","getSharedItem","dspID","getKeyFromCache","KEYS","DISPATCH_ID","bulkEventRows","getBulkRowsToSync","arrEventsToSync","index","syncType","sync_type","includes","push","length","syncBulkEventToServer","extraParameters","logEvent","SDK_ERROR","network","error","logCora","pending","isProgress","retry","updateEventError","eventRows","errorString","promises","ev","updateError","id","err","JSON","stringify","Promise","all","forceSync","isSyncPending","syncEventId","parseInt","getRowToSync","markEventSynced","insertPODDocEvent","InvalidArgumentError","insertEvent","sequence","payload","objectiveRef","config","insertBulkEvent","_bulkData","insertQueueEvent","_pushData","getObjectiveSummary","data","getObjectiveDetails","requiredPayload","row","parse","status","_this$syncHttpClient","success","syncBulkEvent","setSharedItem","lastSyncEventId","getAllEvents","clearEventsDB","deleteAllEvents","_EventsSyncManager"],"sources":["EventsSyncManager.ts"],"sourcesContent":["import ETEventsManager from './ETEventsManager';\nimport type {\n BulkEvent,\n DispatchSyncType,\n EventRow,\n ExecEngineSyncType,\n} from '../DBConfig';\nimport SyncHttpClient from './SyncHttpClient';\nimport { flattenObject, isEmptyOrBlank } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Storage from '../../../utils/storage';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT } from '../constants';\nimport { POD_DOC } from '../constants';\n\nconst TAG = 'EventsSyncManager';\nexport default class EventsSyncManager {\n private syncHttpClient: SyncHttpClient | undefined;\n private static instance: EventsSyncManager;\n private inProgress: boolean = false;\n private cScanInProgress: boolean = false;\n private eventsManager: ETEventsManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public initSyncManager(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.syncHttpClient = new SyncHttpClient(baseURL);\n }\n\n public static getInstance(): EventsSyncManager {\n if (!EventsSyncManager.instance) {\n EventsSyncManager.instance = new EventsSyncManager();\n }\n return EventsSyncManager.instance;\n }\n\n public async startSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n try {\n this.checkForInitialization();\n\n if (hasNetwork) {\n // NEW CODE\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n\n const bulkEventRows = await this.eventsManager.getBulkRowsToSync(\n lastSyncedEventId,\n dspID ?? ''\n );\n\n var arrEventsToSync: EventRow[] = [];\n\n // Filtering and removing those events which are type of POD_DOC\n for (var index in bulkEventRows) {\n let syncType = bulkEventRows[index].sync_type;\n if (syncType.includes(POD_DOC)) {\n break;\n }\n arrEventsToSync.push(bulkEventRows[index]);\n }\n\n if (arrEventsToSync.length != 0) {\n await this.syncBulkEventToServer(\n arrEventsToSync,\n lastSyncedEventId\n );\n let extraParameters = {\n bulkEventRows: arrEventsToSync.length,\n };\n Logger.getInstance().logEvent(\n 'startSync-event-to-sync',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n } else {\n let extraParameters = {\n bulkEventRows: bulkEventRows.length,\n arrEventsToSync: arrEventsToSync.length\n };\n Logger.getInstance().logEvent(\n 'startSync-no-event-to-sync-else',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n\n // OLD CODE\n // const promises: any[] = [\n // this.JobRemovalEvent(this.eventsManager),\n // this.CustodyBatchEvent(this.eventsManager),\n // this.WorkflowUpdateEvent(this.eventsManager),\n // ];\n // await Promise.all(promises);\n } else {\n let extraParameters = {\n network: hasNetwork\n };\n Logger.getInstance().logEvent(\n 'startSync-no network',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `startSync: ${error}`);\n } finally {\n this.inProgress = false;\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n\n const bulkEventRows = await this.eventsManager.getBulkRowsToSync(\n lastSyncedEventId,\n dspID ?? ''\n );\n\n var arrEventsToSync: EventRow[] = [];\n\n // Filtering and removing those events which are type of POD_DOC\n for (var index in bulkEventRows) {\n let syncType = bulkEventRows[index].sync_type;\n if (syncType.includes(POD_DOC)) {\n break;\n }\n arrEventsToSync.push(bulkEventRows[index]);\n }\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: arrEventsToSync.length != 0,\n };\n if (arrEventsToSync.length != 0 && hasNetwork) {\n await this.startSync();\n Logger.getInstance().logEvent('startSync-finally-data-sync-available', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);\n }\n }\n } else {\n let extraParameters = {\n isProgress: this.inProgress,\n retry: this._retries,\n };\n Logger.getInstance().logEvent(\n 'startSync-inprogress-maxretries',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n // private async WorkflowUpdateEvent(eventsManager: ETEventsManager) {\n // const unsyncedData = await eventsManager.getWorkflowUpdateEvents(\n // SyncType.WORKFLOW\n // );\n // if (unsyncedData?.length > 0) {\n // await this.syncEventToServer(unsyncedData, SyncType.WORKFLOW);\n // } else {\n // Logger.getInstance().logEvent(\n // 'startSync',\n // 'No workflow/task data to sync in Events Manager',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // }\n\n // private async CustodyBatchEvent(eventsManager: ETEventsManager) {\n // const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n // DispatchSdkCache.KEYS.DISPATCH_ID\n // );\n // const custodyScans = await eventsManager.getCustodyBatch(dspID ?? '');\n // if (custodyScans && custodyScans.length > 0) {\n // await this.startCustodyScans(custodyScans);\n // }\n // }\n\n // private async JobRemovalEvent(eventsManager: ETEventsManager) {\n // const unsyncedJobRemovalData = await eventsManager.getJobRemovalEvents(\n // SyncType.JOB_REMOVAL\n // );\n // if (unsyncedJobRemovalData?.length > 0) {\n // await this.syncEventToServer(\n // unsyncedJobRemovalData,\n // SyncType.JOB_REMOVAL\n // );\n // }\n // }\n\n // public async startCustodyScans(custodyScans: EventRow[]) {\n // if (!this.cScanInProgress) {\n // this.cScanInProgress = true;\n // try {\n // const inScans = custodyScans.filter(\n // (scan) => scan.sync_type === SyncType.CUSTODY_IN_SCAN\n // );\n // const outScans = custodyScans.filter(\n // (scans) => scans.sync_type === SyncType.CUSTODY_OUT_SCAN\n // );\n // if (inScans && inScans.length > 0) {\n // await this.syncEventToServer(inScans, SyncType.CUSTODY_IN_SCAN);\n // } else if (outScans && outScans.length > 0) {\n // await this.syncEventToServer(outScans, SyncType.CUSTODY_OUT_SCAN);\n // } else {\n // Logger.getInstance().logEvent(\n // 'startCustodyScans',\n // 'NO CUSTODY SCANS LEFT TO SYNC',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // } catch (error: any) {\n // } finally {\n // this.cScanInProgress = false;\n // if (await this.isSyncPending()) await this.startSync();\n // }\n // } else {\n // Logger.getInstance().logEvent(\n // 'startCustodyScans',\n // 'Custody Scan already in Progress',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // }\n\n private async updateEventError(\n eventRows: EventRow[],\n errorString: string\n ): Promise<void> {\n if (!eventRows || eventRows.length === 0) return;\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n const promises: any[] = [];\n for (const ev of eventRows) {\n try {\n promises.push(this.eventsManager.updateError(ev.id, errorString));\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `updateEventError: ${JSON.stringify(err)}`);\n }\n }\n await Promise.all(promises);\n }\n\n /**\n * force sync events who retry count >3 This function can be called from app UI to sync the events forcefully\n */\n public async forceSync() {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n this._retries = 0;\n this.inProgress = false;\n await this.startSync();\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n\n\n // NEW CODE\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n const eventRows = await this.eventsManager.getRowToSync(\n `${syncEventId}`,\n dspID ?? ''\n );\n\n return eventRows.length > 0 && this._retries < this.maxRetryCount;\n\n // OLD CODE\n // let unsyncedData = await this.eventsManager.getAllUnsyncedEvents();\n // return unsyncedData?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n private async markEventSynced(eventRows: EventRow[]) {\n if (!eventRows || eventRows.length === 0) return;\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n const promises: any[] = [];\n for (const ev of eventRows) {\n try {\n promises.push(await this.eventsManager.markEventSynced(ev.id));\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `markEventSynced: ${JSON.stringify(err)}`);\n }\n }\n\n await Promise.all(promises);\n }\n\n // This function will insert POD_DOC type of event in event table.\n public async insertPODDocEvent(\n dspID: string,\n syncType: string\n ): Promise<void> {\n if (isEmptyOrBlank(dspID) || isEmptyOrBlank(syncType))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertPODDocEvent(dspID, syncType);\n }\n\n public async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n if (\n !sequence ||\n isEmptyOrBlank(payload) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(syncType) ||\n isEmptyOrBlank(objectiveRef)\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertEvent(\n sequence,\n payload,\n dspID,\n syncType,\n objectiveRef,\n config\n );\n }\n\n // NEW CODE\n public async insertBulkEvent(_bulkData: BulkEvent): Promise<void> {\n try {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertBulkEvent(_bulkData);\n } catch (err) {\n throw err;\n }\n }\n\n // NEW CODE\n public async insertQueueEvent(_pushData: BulkEvent): Promise<void> {\n try {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertQueueEvent(_pushData);\n } catch (err) {\n throw err;\n }\n }\n\n // OLD CODE\n // public async insertBulkEvent(_bulkData: BulkEvent[]): Promise<void> {\n // try {\n // /* if (\n // !sequence ||\n // isEmptyOrBlank(payload) ||\n // isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(syncType) ||\n // isEmptyOrBlank(objectiveRef)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // ); */\n // if (!this.eventsManager) {\n // this.eventsManager = await ETEventsManager.getInstance();\n // }\n // await this.eventsManager.insertBulkEvent(_bulkData);\n // } catch (err) {\n // throw err;\n // }\n // }\n\n private checkForInitialization() {\n if (!this.syncHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n public async getObjectiveSummary(objectiveRef: string): Promise<any> {\n if (!objectiveRef) return [];\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n try {\n let data = await this.eventsManager.getObjectiveDetails(objectiveRef);\n let requiredPayload: any = null;\n for (const row of data) {\n let payload = JSON.parse(row.payload);\n if (payload.status === 'CLOSED') {\n requiredPayload = payload;\n }\n }\n if (requiredPayload) return requiredPayload.data;\n else return null;\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `getObjectiveSummary: ${JSON.stringify(err)}`);\n return null;\n }\n }\n\n // private async syncEventToServer(\n // eventRows: EventRow[],\n // syncType: ExecEngineSyncType | DispatchSyncType\n // ) {\n // try {\n // const success = await this.syncHttpClient?.syncEvent(eventRows, syncType);\n\n // if (success) {\n // this._retries = 0;\n // // NEW CODE\n // const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n // LAST_SYNCED_EVENT_ID\n // );\n // const syncEventId = parseInt(lastSyncedEventId) + 1;\n // await Storage.getInstance().setSharedItem(\n // LAST_SYNCED_EVENT_ID,\n // `${syncEventId}`\n // );\n\n // // OLD CODE\n // await this.markEventSynced(eventRows);\n // } else {\n // this._retries++;\n // /* Logger.getInstance().logEvent(\n // 'syncEventToServer',\n // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)}`,\n // LOG_TYPE.SDK_ERROR\n // ); */\n // await this.updateEventError(eventRows, 'Unexpected error');\n // }\n // } catch (error: any) {\n // this._retries++;\n // /* Logger.getInstance().logEvent(\n // 'syncEventToServer',\n // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)} -: ${\n // error.message\n // }`,\n // LOG_TYPE.SDK_ERROR\n // ); */\n // await this.updateEventError(\n // eventRows,\n // JSON.stringify({\n // error,\n // })\n // );\n // }\n // }\n\n private async syncBulkEventToServer(\n eventRows: EventRow[],\n lastSyncedEventId: string\n ) {\n try {\n const success = await this.syncHttpClient?.syncBulkEvent(eventRows);\n let extraParameters = {\n success: success,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-syncBulkEvent-success-true',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (success) {\n this._retries = 0;\n // NEW CODE\n\n const syncEventId = parseInt(lastSyncedEventId) + eventRows.length;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n\n // OLD CODE\n await this.markEventSynced(eventRows);\n\n let extraParameters = {\n retries: this._retries,\n lastSyncEventId: syncEventId\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-markEventSynced',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n } else {\n this._retries++;\n await this.updateEventError(eventRows, 'Unexpected error');\n let extraParameters = {\n success: success,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-syncBulkEvent-success-false',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n this._retries++;\n Logger.getInstance().logCora(\"Error\", `syncBulkEventToServer: ${JSON.stringify(error)}`);\n await this.updateEventError(\n eventRows,\n JSON.stringify({\n error,\n })\n );\n }\n }\n\n public async getAllEvents(dspID?: string): Promise<EventRow[]> {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n return this.eventsManager.getAllEvents(dspID);\n }\n public async clearEventsDB() {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n await this.eventsManager.deleteAllEvents();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -151,6 +151,7 @@ export default class SyncHttpClient extends HttpClient {
151
151
  resolve(null);
152
152
  }
153
153
  } catch (error) {
154
+ Logger.getInstance().logCora("Error", `SyncHttpClient syncEvent: ${error}`);
154
155
  reject(error);
155
156
  }
156
157
  }, 0); //1000
@@ -185,7 +186,7 @@ export default class SyncHttpClient extends HttpClient {
185
186
  resolve(true);
186
187
  }
187
188
  } catch (error) {
188
- Logger.getInstance().logEvent('syncBulkEvent-error', flattenObject(error), LOG_TYPE.SDK_ERROR);
189
+ Logger.getInstance().logCora("Error", `SyncHttpClient syncBulkEvent: ${error}`);
189
190
  reject(error);
190
191
  }
191
192
  }, 0); //1000
@@ -1 +1 @@
1
- {"version":3,"names":["HttpClient","DispatchSyncType","NetworkClient","flattenObject","ENDPOINTS","Logger","LOG_TYPE","IDispatch","SyncType","SyncHttpClient","constructor","baseURL","_defineProperty","networkInstance","syncEvent","eventRow","syncType","length","Promise","resolve","reject","setTimeout","CUSTODY_IN_SCAN","requestBody","JSON","parse","payload","custodyInResponse","requestPost","BULK_JOB_UPDATE","dispatch_id","requestId","data","error","CUSTODY_OUT_SCAN","WORKFLOW","wfiUpdateResponse","JOB_REMOVAL","jobResponse","requestPut","DISPATCH_UPDATE","dispatchUpdateResponse","syncBulkEvent","map","event","extraParameters","endpoint","getInstance","logEvent","SDK_ERROR","response"],"sources":["SyncHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport { DispatchSyncType, EventRow } from '../DBConfig';\nimport GraphQLClient from '../../../network/GraphQLClient';\nimport NetworkClient from '../../../network/NetworkClient';\nimport { ExecEngineSyncType } from '../DBConfig';\n\nimport { flattenObject, isEmptyOrBlank } from '../../../utils/utils';\nimport { ENDPOINTS } from '../../../constants/apiConstants';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\n\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class SyncHttpClient extends HttpClient {\n protected readonly networkInstance: NetworkClient;\n constructor(baseURL: string) {\n super(baseURL);\n this.networkInstance = new NetworkClient(baseURL);\n }\n\n public async syncEvent(\n eventRow: EventRow[],\n syncType: ExecEngineSyncType | DispatchSyncType\n ): Promise<boolean | null> {\n if (eventRow.length < 1) return null;\n return new Promise(async (resolve, reject) => {\n setTimeout(async () => {\n try {\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n // NEW CODE\n const requestBody = JSON.parse(eventRow[0].payload);\n const custodyInResponse = await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'custodyIn: ' + eventRow[0].dispatch_id }\n );\n\n if (custodyInResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n\n // OLD CODE\n // const custodyInScans = [];\n // for (const ev of eventRow) {\n // custodyInScans.push(JSON.parse(ev.payload));\n // }\n // const response = await GraphQLClient.getInstance().postCustodyIn(\n // custodyInScans,\n // eventRow[0].dispatch_id\n // );\n // resolve(response?.data?.custodyInBatch?.success === true);\n // break;\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n // NEW CODE\n const requestBody = JSON.parse(eventRow[0].payload);\n const custodyInResponse = await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'custodyIn: ' + eventRow[0].dispatch_id }\n );\n\n if (custodyInResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n\n // OLD CODE\n // const custodyOutScans = [];\n // for (const ev of eventRow) {\n // custodyOutScans.push(JSON.parse(ev.payload));\n // }\n // const custodyOutResponse =\n // await GraphQLClient.getInstance().postCustodyOut(\n // custodyOutScans,\n // eventRow[0].dispatch_id\n // );\n // resolve(\n // custodyOutResponse?.data?.custodyOutBatch?.success === true\n // );\n // break;\n }\n case SyncType.WORKFLOW: {\n // NEW CODE\n const requestBody = JSON.parse(eventRow[0].payload);\n const wfiUpdateResponse = await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'wfiUpdate: ' + eventRow[0].dispatch_id }\n );\n\n if (wfiUpdateResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n\n // OLD CODE\n // const workflowResp =\n // await GraphQLClient.getInstance().postWorkflowUpdate(\n // JSON.parse(eventRow[0].payload),\n // JSON.parse(eventRow[0].config).params.workflowInstanceId\n // );\n // resolve(\n // !isEmptyOrBlank(workflowResp?.data.updateWorkflowStatus.id)\n // );\n // break;\n }\n case SyncType.JOB_REMOVAL: {\n // NEW CODE\n const requestBody = JSON.parse(eventRow[0].payload);\n const jobResponse = await this.networkInstance.requestPut(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'jobRemoval: ' + eventRow[0].dispatch_id }\n );\n\n if (jobResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n // OLD CODE\n // const requestBody = JSON.parse(eventRow[0].payload);\n // /* Logger.getInstance().logEvent(\n // 'REQUEST BODY: ',\n // JSON.stringify(requestBody),\n // LOG_TYPE.SDK_DEBUG\n // ); */\n // const jobResponse = await this.networkInstance.requestPut(\n // ENDPOINTS.JOB_REMOVAL(requestBody.dispatchId),\n // requestBody.jobs,\n // { requestId: 'jobRemoval:' + requestBody.dispatchId }\n // );\n // if (jobResponse.data.error) {\n // resolve(false);\n // } else {\n // resolve(true);\n // }\n // break;\n }\n // NEW CODE\n case DispatchSyncType.DISPATCH_UPDATE: {\n const requestBody = JSON.parse(eventRow[0].payload);\n const dispatchUpdateResponse =\n await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'dispatchUpdate: ' + eventRow[0].dispatch_id }\n );\n\n if (dispatchUpdateResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n }\n default:\n resolve(null);\n }\n } catch (error: any) {\n reject(error);\n }\n }, 0); //1000\n });\n }\n\n public async syncBulkEvent(eventRow: EventRow[]): Promise<boolean | null> {\n if (eventRow.length < 1) return null;\n return new Promise(async (resolve, reject) => {\n setTimeout(async () => {\n try {\n const requestBody = eventRow.map((event) => {\n return JSON.parse(event.payload);\n });\n let extraParameters = {\n endpoint: ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n };\n Logger.getInstance().logEvent(\n 'syncBulkEvent-request',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n const response = await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'dispatchBulkUpdate: ' + eventRow[0].dispatch_id }\n );\n\n if (response.data.error) {\n let extraParameters = {\n error: response.data.error,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEvent-api-error',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n resolve(false);\n } else {\n let extraParameters = {\n response: '1',\n };\n Logger.getInstance().logEvent(\n 'syncBulkEvent-api-success',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n resolve(true);\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'syncBulkEvent-error',\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n reject(error);\n }\n }, 0); //1000\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["HttpClient","DispatchSyncType","NetworkClient","flattenObject","ENDPOINTS","Logger","LOG_TYPE","IDispatch","SyncType","SyncHttpClient","constructor","baseURL","_defineProperty","networkInstance","syncEvent","eventRow","syncType","length","Promise","resolve","reject","setTimeout","CUSTODY_IN_SCAN","requestBody","JSON","parse","payload","custodyInResponse","requestPost","BULK_JOB_UPDATE","dispatch_id","requestId","data","error","CUSTODY_OUT_SCAN","WORKFLOW","wfiUpdateResponse","JOB_REMOVAL","jobResponse","requestPut","DISPATCH_UPDATE","dispatchUpdateResponse","getInstance","logCora","syncBulkEvent","map","event","extraParameters","endpoint","logEvent","SDK_ERROR","response"],"sources":["SyncHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport { DispatchSyncType, EventRow } from '../DBConfig';\nimport GraphQLClient from '../../../network/GraphQLClient';\nimport NetworkClient from '../../../network/NetworkClient';\nimport { ExecEngineSyncType } from '../DBConfig';\n\nimport { flattenObject, isEmptyOrBlank } from '../../../utils/utils';\nimport { ENDPOINTS } from '../../../constants/apiConstants';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\n\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class SyncHttpClient extends HttpClient {\n protected readonly networkInstance: NetworkClient;\n constructor(baseURL: string) {\n super(baseURL);\n this.networkInstance = new NetworkClient(baseURL);\n }\n\n public async syncEvent(\n eventRow: EventRow[],\n syncType: ExecEngineSyncType | DispatchSyncType\n ): Promise<boolean | null> {\n if (eventRow.length < 1) return null;\n return new Promise(async (resolve, reject) => {\n setTimeout(async () => {\n try {\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n // NEW CODE\n const requestBody = JSON.parse(eventRow[0].payload);\n const custodyInResponse = await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'custodyIn: ' + eventRow[0].dispatch_id }\n );\n\n if (custodyInResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n\n // OLD CODE\n // const custodyInScans = [];\n // for (const ev of eventRow) {\n // custodyInScans.push(JSON.parse(ev.payload));\n // }\n // const response = await GraphQLClient.getInstance().postCustodyIn(\n // custodyInScans,\n // eventRow[0].dispatch_id\n // );\n // resolve(response?.data?.custodyInBatch?.success === true);\n // break;\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n // NEW CODE\n const requestBody = JSON.parse(eventRow[0].payload);\n const custodyInResponse = await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'custodyIn: ' + eventRow[0].dispatch_id }\n );\n\n if (custodyInResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n\n // OLD CODE\n // const custodyOutScans = [];\n // for (const ev of eventRow) {\n // custodyOutScans.push(JSON.parse(ev.payload));\n // }\n // const custodyOutResponse =\n // await GraphQLClient.getInstance().postCustodyOut(\n // custodyOutScans,\n // eventRow[0].dispatch_id\n // );\n // resolve(\n // custodyOutResponse?.data?.custodyOutBatch?.success === true\n // );\n // break;\n }\n case SyncType.WORKFLOW: {\n // NEW CODE\n const requestBody = JSON.parse(eventRow[0].payload);\n const wfiUpdateResponse = await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'wfiUpdate: ' + eventRow[0].dispatch_id }\n );\n\n if (wfiUpdateResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n\n // OLD CODE\n // const workflowResp =\n // await GraphQLClient.getInstance().postWorkflowUpdate(\n // JSON.parse(eventRow[0].payload),\n // JSON.parse(eventRow[0].config).params.workflowInstanceId\n // );\n // resolve(\n // !isEmptyOrBlank(workflowResp?.data.updateWorkflowStatus.id)\n // );\n // break;\n }\n case SyncType.JOB_REMOVAL: {\n // NEW CODE\n const requestBody = JSON.parse(eventRow[0].payload);\n const jobResponse = await this.networkInstance.requestPut(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'jobRemoval: ' + eventRow[0].dispatch_id }\n );\n\n if (jobResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n // OLD CODE\n // const requestBody = JSON.parse(eventRow[0].payload);\n // /* Logger.getInstance().logEvent(\n // 'REQUEST BODY: ',\n // JSON.stringify(requestBody),\n // LOG_TYPE.SDK_DEBUG\n // ); */\n // const jobResponse = await this.networkInstance.requestPut(\n // ENDPOINTS.JOB_REMOVAL(requestBody.dispatchId),\n // requestBody.jobs,\n // { requestId: 'jobRemoval:' + requestBody.dispatchId }\n // );\n // if (jobResponse.data.error) {\n // resolve(false);\n // } else {\n // resolve(true);\n // }\n // break;\n }\n // NEW CODE\n case DispatchSyncType.DISPATCH_UPDATE: {\n const requestBody = JSON.parse(eventRow[0].payload);\n const dispatchUpdateResponse =\n await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'dispatchUpdate: ' + eventRow[0].dispatch_id }\n );\n\n if (dispatchUpdateResponse.data.error) {\n resolve(false);\n } else {\n resolve(true);\n }\n break;\n }\n default:\n resolve(null);\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `SyncHttpClient syncEvent: ${error}`);\n reject(error);\n }\n }, 0); //1000\n });\n }\n\n public async syncBulkEvent(eventRow: EventRow[]): Promise<boolean | null> {\n if (eventRow.length < 1) return null;\n return new Promise(async (resolve, reject) => {\n setTimeout(async () => {\n try {\n const requestBody = eventRow.map((event) => {\n return JSON.parse(event.payload);\n });\n let extraParameters = {\n endpoint: ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n };\n Logger.getInstance().logEvent(\n 'syncBulkEvent-request',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n const response = await this.networkInstance.requestPost(\n ENDPOINTS.BULK_JOB_UPDATE(eventRow[0].dispatch_id),\n requestBody,\n { requestId: 'dispatchBulkUpdate: ' + eventRow[0].dispatch_id }\n );\n\n if (response.data.error) {\n let extraParameters = {\n error: response.data.error,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEvent-api-error',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n resolve(false);\n } else {\n let extraParameters = {\n response: '1',\n };\n Logger.getInstance().logEvent(\n 'syncBulkEvent-api-success',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n resolve(true);\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `SyncHttpClient syncBulkEvent: ${error}`);\n reject(error);\n }\n }, 0); //1000\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,19 +3,26 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
3
3
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import axios from 'axios';
5
5
  import StatusCode from '../constants/statuscode';
6
+ import Logger from '../utils/Logger';
6
7
  // import { handleAccessTokenExpiry } from './utils/helper';
7
8
 
8
9
  export default class HttpClient {
9
10
  constructor(baseURL) {
10
11
  _defineProperty(this, "instance", void 0);
11
12
  _defineProperty(this, "_initializeResponseInterceptor", () => {
13
+ this.instance.interceptors.request.use(this._handleRequest);
12
14
  this.instance.interceptors.response.use(this._handleResponse, this._handleError);
13
15
  });
16
+ _defineProperty(this, "_handleRequest", request => {
17
+ Logger.getInstance().logCora("Info", `API:Request: ${JSON.stringify(request)}`);
18
+ return request;
19
+ });
14
20
  _defineProperty(this, "_handleResponse", response => {
21
+ Logger.getInstance().logCora("Info", `API:Response: ${JSON.stringify(response)}`);
15
22
  return response;
16
23
  });
17
24
  _defineProperty(this, "_handleError", error => {
18
- console.log('error.response: ', error);
25
+ Logger.getInstance().logCora("Error", `API:Error: ${JSON.stringify(error)}`);
19
26
  if (error.response) {
20
27
  // Request made and server responded
21
28
  const {