@os1-platform/dispatch-mobile 2.1.20 → 2.1.21

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 (77) hide show
  1. package/android/.gradle/6.8/fileChanges/last-build.bin +0 -0
  2. package/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
  3. package/android/.gradle/6.8/gc.properties +0 -0
  4. package/android/.gradle/7.5/checksums/checksums.lock +0 -0
  5. package/android/.gradle/7.5/checksums/md5-checksums.bin +0 -0
  6. package/android/.gradle/7.5/checksums/sha1-checksums.bin +0 -0
  7. package/android/.gradle/7.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  8. package/android/.gradle/7.5/dependencies-accessors/gc.properties +0 -0
  9. package/android/.gradle/7.5/executionHistory/executionHistory.lock +0 -0
  10. package/android/.gradle/7.5/fileChanges/last-build.bin +0 -0
  11. package/android/.gradle/7.5/fileHashes/fileHashes.bin +0 -0
  12. package/android/.gradle/7.5/fileHashes/fileHashes.lock +0 -0
  13. package/android/.gradle/7.5/gc.properties +0 -0
  14. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  15. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  16. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  17. package/android/.gradle/checksums/checksums.lock +0 -0
  18. package/android/.gradle/config.properties +2 -0
  19. package/android/.gradle/configuration-cache/gc.properties +0 -0
  20. package/android/.gradle/vcs-1/gc.properties +0 -0
  21. package/android/.idea/compiler.xml +6 -0
  22. package/android/.idea/gradle.xml +18 -0
  23. package/android/.idea/kotlinc.xml +6 -0
  24. package/android/.idea/migrations.xml +10 -0
  25. package/android/.idea/misc.xml +10 -0
  26. package/android/.idea/other.xml +263 -0
  27. package/android/.idea/vcs.xml +6 -0
  28. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
  29. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  30. package/lib/commonjs/errors/ErrorCodes.js +2 -5
  31. package/lib/commonjs/errors/ErrorCodes.js.map +1 -1
  32. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +1 -1
  33. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  34. package/lib/commonjs/manager/sdk/callbacksHandler.js +2 -2
  35. package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
  36. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +1 -1
  37. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  38. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +1 -1
  39. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  40. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +1 -1
  41. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  42. package/lib/commonjs/network/GraphQLClient.js +1 -1
  43. package/lib/commonjs/network/GraphQLClient.js.map +1 -1
  44. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +1 -1
  45. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
  46. package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
  47. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
  48. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  49. package/lib/module/errors/ErrorCodes.js +2 -5
  50. package/lib/module/errors/ErrorCodes.js.map +1 -1
  51. package/lib/module/manager/sdk/DispatchSDKManager.js +1 -1
  52. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  53. package/lib/module/manager/sdk/callbacksHandler.js +2 -2
  54. package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
  55. package/lib/module/manager/syncmanager/AppSyncManager.js +1 -1
  56. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  57. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +2 -2
  58. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  59. package/lib/module/manager/syncmanager/events/EventsSyncManager.js +2 -2
  60. package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  61. package/lib/module/network/GraphQLClient.js +1 -1
  62. package/lib/module/network/GraphQLClient.js.map +1 -1
  63. package/lib/module/ui/screens/StartWorkFlowScreen.js +1 -1
  64. package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
  65. package/lib/module/utils/SyncManagerUtils.js.map +1 -1
  66. package/lib/typescript/errors/ErrorCodes.d.ts +2 -5
  67. package/package.json +3 -3
  68. package/src/components/executiontasks/imageCapture/CaptureUtils.ts +29 -29
  69. package/src/errors/ErrorCodes.ts +2 -5
  70. package/src/manager/sdk/DispatchSDKManager.ts +8 -5
  71. package/src/manager/sdk/callbacksHandler.ts +12 -12
  72. package/src/manager/syncmanager/AppSyncManager.ts +1 -1
  73. package/src/manager/syncmanager/document/DocumentSyncManager.ts +4 -1
  74. package/src/manager/syncmanager/events/EventsSyncManager.ts +8 -5
  75. package/src/network/GraphQLClient.ts +3 -3
  76. package/src/ui/screens/StartWorkFlowScreen.tsx +1 -1
  77. package/src/utils/SyncManagerUtils.ts +6 -3
@@ -1 +1 @@
1
- {"version":3,"names":["BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","AppSyncInitError","MissingOrInvalidProps","MultiObjectiveError"],"sources":["ErrorCodes.ts"],"sourcesContent":["const enum BaseErrorCodes {\n InvalidArgumentError = '100100',\n InvalidBaseURL = '100101',\n EVENT_SYNC_INIT_FAILED = '100102',\n MissingOrInvalidProps = '100103',\n SQLiteDBIssue = '100104',\n AppSyncNotInitialized = '100105',\n FMS_FOLDER_CREATION_ERROR = '100106',\n REASON_CODE_API_ERROR = '100107',\n MERGING_ERROR = '100108',\n LOCATION_PERMISSION_DENIED = '100109',\n CAMERA_PERMISSION_DENIED = '100110',\n STORAGE_PERMISSION_DENIED = '100111',\n GRAPHQL_CLIENT_NOT_INITIALIZED = '100112',\n FMS_GRAPHQL_API_ERROR = '100113',\n INTERNET_NOT_ENABLED = '100114',\n LOCATION_OR_GPS_NOT_ENABLED = '100115',\n EXECUTION_ENGINE_ERROR = '100116',\n UNEXPECTED_ERROR = '100117',\n SYSTEM_TIME_CHECK_FAILED = '100118',\n ACCESS_TOKEN_EXPIRED = '100119',\n MULTI_OBJECTIVE_ERROR = '100120',\n REFRESH_TOKEN_CALLBACK_ERROR = '100121',\n DOC_SYNC_INIT_FAILED = '100122',\n REFRESH_TOKEN_ERROR = '100123'\n}\nexport const InvalidArgumentsError = 'Missing or invalid arguments';\nexport const InvalidBaseURL = 'URL is invalid';\nexport const SyncManagerNotInitialized =\n 'Sync Manager is not initialized.Please call init method first';\n\nexport const AppSyncInitError =\n \"App sync Manager not initialized.Please call initSyncManager() with valid BASE URLs from your app's index file\";\n\nexport const MissingOrInvalidProps =\n 'One or more prop(s) is missing or invalid';\n\nexport const MultiObjectiveError =\n 'Multiple objective not allowed as enableMultiObjectiveFlow is false.';\n\nexport default BaseErrorCodes;\n"],"mappings":"IAAWA,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA,EAAdA,cAAc;AA0BzB,OAAO,MAAMC,qBAAqB,GAAG,8BAA8B;AACnE,OAAO,MAAMC,cAAc,GAAG,gBAAgB;AAC9C,OAAO,MAAMC,yBAAyB,GACpC,+DAA+D;AAEjE,OAAO,MAAMC,gBAAgB,GAC3B,gHAAgH;AAElH,OAAO,MAAMC,qBAAqB,GAChC,2CAA2C;AAE7C,OAAO,MAAMC,mBAAmB,GAC9B,sEAAsE;AAExE,eAAeN,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","AppSyncInitError","MissingOrInvalidProps","MultiObjectiveError"],"sources":["ErrorCodes.ts"],"sourcesContent":["const enum BaseErrorCodes {\n InvalidArgumentError = '100100',\n InvalidBaseURL = '100101',\n SyncManagerNotInitialized = '100102',\n MissingOrInvalidProps = '100103',\n SQLiteDBIssue = '100104',\n AppSyncNotInitialized = '100105',\n FMS_FOLDER_CREATION_ERROR = '100106',\n REASON_CODE_API_ERROR = '100107',\n MERGING_ERROR = '100108',\n LOCATION_PERMISSION_DENIED = '100109',\n CAMERA_PERMISSION_DENIED = '100110',\n STORAGE_PERMISSION_DENIED = '100111',\n GRAPHQL_CLIENT_NOT_INITIALIZED = '100112',\n FMS_GRAPHQL_API_ERROR = '100113',\n INTERNET_NOT_ENABLED = '100114',\n LOCATION_OR_GPS_NOT_ENABLED = '100115',\n EXECUTION_ENGINE_ERROR = '100116',\n UNEXPECTED_ERROR = '100117',\n SYSTEM_TIME_CHECK_FAILED = '100118',\n ACCESS_TOKEN_EXPIRED = '100119',\n MULTI_OBJECTIVE_ERROR = '100119',\n}\nexport const InvalidArgumentsError = 'Missing or invalid arguments';\nexport const InvalidBaseURL = 'URL is invalid';\nexport const SyncManagerNotInitialized =\n 'Sync Manager is not initialized.Please call init method first';\n\nexport const AppSyncInitError =\n \"App sync Manager not initialized.Please call initSyncManager() with valid BASE URLs from your app's index file\";\n\nexport const MissingOrInvalidProps =\n 'One or more prop(s) is missing or invalid';\n\nexport const MultiObjectiveError =\n 'Multiple objective not allowed as enableMultiObjectiveFlow is false.';\n\nexport default BaseErrorCodes;\n"],"mappings":"IAAWA,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA,EAAdA,cAAc;AAuBzB,OAAO,MAAMC,qBAAqB,GAAG,8BAA8B;AACnE,OAAO,MAAMC,cAAc,GAAG,gBAAgB;AAC9C,OAAO,MAAMC,yBAAyB,GACpC,+DAA+D;AAEjE,OAAO,MAAMC,gBAAgB,GAC3B,gHAAgH;AAElH,OAAO,MAAMC,qBAAqB,GAChC,2CAA2C;AAE7C,OAAO,MAAMC,mBAAmB,GAC9B,sEAAsE;AAExE,eAAeN,cAAc","ignoreList":[]}
@@ -41,7 +41,7 @@ export class DispatchSDKManager {
41
41
  throw new BaseError(ErrorCodes.InvalidArgumentError, 'Invalid/Missing Argument Passed in SdkConfig');
42
42
  }
43
43
  if (isTokenExpired(sdkConfig.accessToken)) {
44
- throw new BaseError(ErrorCodes.ACCESS_TOKEN_EXPIRED, 'Access Token Expired!');
44
+ throw new BaseError(ErrorCodes.ACCESS_TOKEN_EXPIRED, 'JWT Token Expired!');
45
45
  }
46
46
  if (sdkConfig.sentry && (_sdkConfig$sentry = sdkConfig.sentry) !== null && _sdkConfig$sentry !== void 0 && _sdkConfig$sentry.enabled) {
47
47
  Sentry.init({
@@ -1 +1 @@
1
- {"version":3,"names":["DispatchSdkCache","LocationManager","AppSyncManager","Logger","ReasonCodeContainer","GraphQLClient","isMandatoryKeysPresent","isTokenExpired","BaseError","ErrorCodes","SdkUtils","Sentry","EventCodeRepo","Storage","pushBulkEventForSync","callbackHandler","DispatchExecutor","dispatchExecutor","MAX_RETRY_COUNT","DispatchSDKManager","constructor","_defineProperty","getInstance","KEYS","instance","initDispatchSDK","sdkConfig","_sdkConfig$sentry","_sdkConfig$callbacks","_sdkConfig$callbacks2","_sdkConfig$callbacks3","InvalidArgumentError","accessToken","ACCESS_TOKEN_EXPIRED","sentry","enabled","init","enableNative","environment","env","dsn","tracesSampleRate","checkMandatory","cache","setObjectInCache","keys","SDK_CONFIG","tenantBaseURL","initAppSync","syncRetryCount","startUpdates","eventMapping","saveEventCode","fetchReasonCode","setLogging","enableLogging","storage","callbacks","fetchPhoneNumbersCallback","fetchDateTimeCallback","tokenRefreshCallback","storeMultipleKeysCallback","setSharedItems","readMultipleKeysCallback","getSharedItems","deleteMultipleKeysCallback","removeSharedItems","eventBulkSyncCallback","debugLevelLog","startSDKSyncManager","removeLocationUpdates","stopLocationUpdates","_class"],"sources":["DispatchSDKManager.ts"],"sourcesContent":["import DispatchSdkCache from './DispatchSdkCache';\nimport LocationManager from '../location/LocationManager';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport Logger from '../../utils/Logger';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport GraphQLClient from '../../network/GraphQLClient';\nimport { isMandatoryKeysPresent, isTokenExpired } from '../../utils/utils';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport SdkUtils from '../../utils/SdkUtils';\nimport * as Sentry from '@sentry/react-native';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport EventCodeRepo from '../dispatchCodes/EventCodeRepo';\nimport Storage from '../../utils/storage';\nimport { pushBulkEventForSync } from '../../utils/SyncManagerUtils';\nimport callbackHandler from './callbacksHandler';\nimport { DispatchExecutor as dispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { MAX_RETRY_COUNT } from '../syncmanager/constants';\n\nexport class DispatchSDKManager {\n private static instance: DispatchSDKManager;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private keys = DispatchSdkCache.KEYS;\n\n private constructor() { }\n\n public static getInstance(): DispatchSDKManager {\n if (!DispatchSDKManager.instance) {\n DispatchSDKManager.instance = new DispatchSDKManager();\n }\n return DispatchSDKManager.instance;\n }\n\n\n /**\n * Call this init method with username,userID & authentication tokens\n * @param sdkConfig\n */\n public async initDispatchSDK(sdkConfig: DispatchSDKConfig) {\n if (\n !isMandatoryKeysPresent(sdkConfig, [\n 'tenantID',\n 'userID',\n 'userName',\n 'tenantBaseURL',\n 'accessToken',\n ])\n ) {\n throw new BaseError(\n ErrorCodes.InvalidArgumentError,\n 'Invalid/Missing Argument Passed in SdkConfig'\n );\n }\n if (isTokenExpired(sdkConfig.accessToken)) {\n throw new BaseError(ErrorCodes.ACCESS_TOKEN_EXPIRED, 'Access Token Expired!');\n }\n if (sdkConfig.sentry && sdkConfig.sentry?.enabled) {\n Sentry.init({\n enableNative: true,\n environment: sdkConfig.sentry.env,\n dsn: sdkConfig.sentry.dsn,\n tracesSampleRate: 1.0,\n });\n }\n await SdkUtils.checkMandatory();\n await this.cache.setObjectInCache(this.keys.SDK_CONFIG, sdkConfig);\n GraphQLClient.init(sdkConfig.tenantBaseURL);\n AppSyncManager.initAppSync(\n sdkConfig.tenantBaseURL,\n sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT\n );\n LocationManager.getInstance().startUpdates();\n if (sdkConfig.eventMapping) {\n EventCodeRepo.getInstance().saveEventCode(sdkConfig.eventMapping);\n }\n await ReasonCodeContainer.getInstance().fetchReasonCode();\n Logger.getInstance().setLogging(sdkConfig.enableLogging ?? true, sdkConfig);\n let storage = Storage.getInstance();\n\n if (\n sdkConfig.callbacks?.fetchPhoneNumbersCallback &&\n sdkConfig?.callbacks?.fetchDateTimeCallback &&\n sdkConfig?.callbacks?.tokenRefreshCallback\n ) {\n await callbackHandler.init(\n sdkConfig.callbacks.fetchPhoneNumbersCallback,\n sdkConfig.callbacks.fetchDateTimeCallback,\n sdkConfig.callbacks.tokenRefreshCallback\n );\n }\n await dispatchExecutor.init(\n {\n storeMultipleKeysCallback: storage.setSharedItems,\n readMultipleKeysCallback: storage.getSharedItems,\n deleteMultipleKeysCallback: storage.removeSharedItems,\n eventBulkSyncCallback: pushBulkEventForSync,\n },\n sdkConfig.debugLevelLog ? 'debug' : 'emerg'\n );\n AppSyncManager.getInstance().startSDKSyncManager();\n }\n\n public removeLocationUpdates() {\n LocationManager.getInstance().stopLocationUpdates();\n }\n\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DispatchSdkCache","LocationManager","AppSyncManager","Logger","ReasonCodeContainer","GraphQLClient","isMandatoryKeysPresent","isTokenExpired","BaseError","ErrorCodes","SdkUtils","Sentry","EventCodeRepo","Storage","pushBulkEventForSync","callbackHandler","DispatchExecutor","dispatchExecutor","MAX_RETRY_COUNT","DispatchSDKManager","constructor","_defineProperty","getInstance","KEYS","instance","initDispatchSDK","sdkConfig","_sdkConfig$sentry","_sdkConfig$callbacks","_sdkConfig$callbacks2","_sdkConfig$callbacks3","InvalidArgumentError","accessToken","ACCESS_TOKEN_EXPIRED","sentry","enabled","init","enableNative","environment","env","dsn","tracesSampleRate","checkMandatory","cache","setObjectInCache","keys","SDK_CONFIG","tenantBaseURL","initAppSync","syncRetryCount","startUpdates","eventMapping","saveEventCode","fetchReasonCode","setLogging","enableLogging","storage","callbacks","fetchPhoneNumbersCallback","fetchDateTimeCallback","tokenRefreshCallback","storeMultipleKeysCallback","setSharedItems","readMultipleKeysCallback","getSharedItems","deleteMultipleKeysCallback","removeSharedItems","eventBulkSyncCallback","debugLevelLog","startSDKSyncManager","removeLocationUpdates","stopLocationUpdates","_class"],"sources":["DispatchSDKManager.ts"],"sourcesContent":["import DispatchSdkCache from './DispatchSdkCache';\nimport LocationManager from '../location/LocationManager';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport Logger from '../../utils/Logger';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport GraphQLClient from '../../network/GraphQLClient';\nimport { isMandatoryKeysPresent, isTokenExpired } from '../../utils/utils';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport SdkUtils from '../../utils/SdkUtils';\nimport * as Sentry from '@sentry/react-native';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport EventCodeRepo from '../dispatchCodes/EventCodeRepo';\nimport Storage from '../../utils/storage';\nimport { pushBulkEventForSync } from '../../utils/SyncManagerUtils';\nimport callbackHandler from './callbacksHandler';\nimport { DispatchExecutor as dispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { MAX_RETRY_COUNT } from '../syncmanager/constants';\n\nexport class DispatchSDKManager {\n private static instance: DispatchSDKManager;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private keys = DispatchSdkCache.KEYS;\n\n private constructor() {}\n\n public static getInstance(): DispatchSDKManager {\n if (!DispatchSDKManager.instance) {\n DispatchSDKManager.instance = new DispatchSDKManager();\n }\n return DispatchSDKManager.instance;\n }\n\n \n /**\n * Call this init method with username,userID & authentication tokens\n * @param sdkConfig\n */\n public async initDispatchSDK(sdkConfig: DispatchSDKConfig) {\n if (\n !isMandatoryKeysPresent(sdkConfig, [\n 'tenantID',\n 'userID',\n 'userName',\n 'tenantBaseURL',\n 'accessToken',\n ])\n ) {\n throw new BaseError(\n ErrorCodes.InvalidArgumentError,\n 'Invalid/Missing Argument Passed in SdkConfig'\n );\n }\n if (isTokenExpired(sdkConfig.accessToken)) {\n throw new BaseError(\n ErrorCodes.ACCESS_TOKEN_EXPIRED,\n 'JWT Token Expired!'\n );\n }\n if (sdkConfig.sentry && sdkConfig.sentry?.enabled) {\n Sentry.init({\n enableNative: true,\n environment: sdkConfig.sentry.env,\n dsn: sdkConfig.sentry.dsn,\n tracesSampleRate: 1.0,\n });\n }\n await SdkUtils.checkMandatory();\n await this.cache.setObjectInCache(this.keys.SDK_CONFIG, sdkConfig);\n GraphQLClient.init(sdkConfig.tenantBaseURL);\n AppSyncManager.initAppSync(\n sdkConfig.tenantBaseURL,\n sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT\n );\n LocationManager.getInstance().startUpdates();\n if (sdkConfig.eventMapping) {\n EventCodeRepo.getInstance().saveEventCode(sdkConfig.eventMapping);\n }\n await ReasonCodeContainer.getInstance().fetchReasonCode();\n Logger.getInstance().setLogging(sdkConfig.enableLogging ?? true, sdkConfig);\n let storage = Storage.getInstance();\n\n if (\n sdkConfig.callbacks?.fetchPhoneNumbersCallback &&\n sdkConfig?.callbacks?.fetchDateTimeCallback && \n sdkConfig?.callbacks?.tokenRefreshCallback\n ) {\n await callbackHandler.init(\n sdkConfig.callbacks.fetchPhoneNumbersCallback,\n sdkConfig.callbacks.fetchDateTimeCallback,\n sdkConfig.callbacks.tokenRefreshCallback\n );\n }\n await dispatchExecutor.init(\n {\n storeMultipleKeysCallback: storage.setSharedItems,\n readMultipleKeysCallback: storage.getSharedItems,\n deleteMultipleKeysCallback: storage.removeSharedItems,\n eventBulkSyncCallback: pushBulkEventForSync,\n },\n sdkConfig.debugLevelLog ? 'debug' : 'emerg'\n );\n AppSyncManager.getInstance().startSDKSyncManager();\n }\n\n public removeLocationUpdates() {\n LocationManager.getInstance().stopLocationUpdates();\n }\n \n}\n"],"mappings":"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","ignoreList":[]}
@@ -27,7 +27,7 @@ class CallbacksHandler {
27
27
  }
28
28
  async refresheAndUpdateToken() {
29
29
  if (!this._callbackRefreshToken) {
30
- throw new BaseError(ErrorCodes.REFRESH_TOKEN_CALLBACK_ERROR, 'Refresh token callback not initialized');
30
+ throw new BaseError(ErrorCodes.SyncManagerNotInitialized, 'Dispatch SDK Not Initalised');
31
31
  } else {
32
32
  let token = await this._callbackRefreshToken();
33
33
  if (token && token.length != 0) {
@@ -42,7 +42,7 @@ class CallbacksHandler {
42
42
  let keys = DispatchSdkCache.KEYS;
43
43
  cache.setObjectInCache(keys.SDK_CONFIG, sdkConfig);
44
44
  } else {
45
- throw new BaseError(ErrorCodes.REFRESH_TOKEN_ERROR, 'Unable to refresh access token');
45
+ throw new BaseError(ErrorCodes.ACCESS_TOKEN_EXPIRED, 'Unable to refresh token');
46
46
  }
47
47
  }
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DispatchSdkCache","BaseError","ErrorCodes","CallbacksHandler","constructor","_defineProperty","init","phoneCallback","dateTimeCallBack","tokenRefreshCallback","_callbackToFetchPhoneNumbers","_callbackToFetchDateTime","_callbackRefreshToken","getPhoneNumbers","sdsIds","getDateTime","refresheAndUpdateToken","REFRESH_TOKEN_CALLBACK_ERROR","token","length","sdkConfig","getInstance","getObjectFromCache","KEYS","SDK_CONFIG","accessToken","headers","cache","keys","setObjectInCache","REFRESH_TOKEN_ERROR","callbackHandler"],"sources":["callbacksHandler.ts"],"sourcesContent":["import { DispatchSDKConfig } from \"src/models/sdk\";\nimport DispatchSdkCache from \"./DispatchSdkCache\";\nimport { BaseError, } from \"../../errors/BaseError\";\nimport ErrorCodes from '../../errors/ErrorCodes';\n\nclass CallbacksHandler {\n private _callbackToFetchPhoneNumbers!: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>;\n\n private _callbackToFetchDateTime!: () => Promise<string>;\n private _callbackRefreshToken!: () => Promise<string>;\n\n public init(\n phoneCallback: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>,\n dateTimeCallBack: () => Promise<string>, tokenRefreshCallback: () => Promise<string>\n ) {\n this._callbackToFetchPhoneNumbers = phoneCallback;\n this._callbackToFetchDateTime = dateTimeCallBack;\n this._callbackRefreshToken = tokenRefreshCallback;\n }\n\n public async getPhoneNumbers(\n sdsIds: string[]\n ): Promise<{ key: string; value: string[] } | null> {\n if (!this._callbackToFetchPhoneNumbers) return null;\n else {\n return await this._callbackToFetchPhoneNumbers(sdsIds);\n }\n }\n\n public async getDateTime(): Promise<string | ''> {\n if (!this._callbackToFetchDateTime) return '';\n else {\n return await this._callbackToFetchDateTime();\n }\n }\n\n public async refresheAndUpdateToken() {\n if (!this._callbackRefreshToken) {\n throw new BaseError(\n ErrorCodes.REFRESH_TOKEN_CALLBACK_ERROR,\n 'Refresh token callback not initialized'\n );\n } else {\n let token = await this._callbackRefreshToken();\n if (token && token.length != 0) {\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n sdkConfig.accessToken = token;\n var headers = sdkConfig.headers;\n if (headers) {\n headers['x-coreos-access'] = token;\n sdkConfig.headers = headers;\n }\n let cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n let keys = DispatchSdkCache.KEYS;\n cache.setObjectInCache(keys.SDK_CONFIG, sdkConfig);\n } else {\n throw new BaseError(\n ErrorCodes.REFRESH_TOKEN_ERROR,\n 'Unable to refresh access token'\n );\n }\n }\n }\n}\nconst callbackHandler = new CallbacksHandler();\nexport default callbackHandler;\n"],"mappings":";;;AACA,OAAOA,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,SAAS,QAAS,wBAAwB;AACnD,OAAOC,UAAU,MAAM,yBAAyB;AAEhD,MAAMC,gBAAgB,CAAC;EAAAC,YAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;EAAA;EAQdC,IAAIA,CACTC,aAE8C,EAC9CC,gBAAuC,EAAEC,oBAA2C,EACpF;IACA,IAAI,CAACC,4BAA4B,GAAGH,aAAa;IACjD,IAAI,CAACI,wBAAwB,GAAGH,gBAAgB;IAChD,IAAI,CAACI,qBAAqB,GAAGH,oBAAoB;EACnD;EAEA,MAAaI,eAAeA,CAC1BC,MAAgB,EACkC;IAClD,IAAI,CAAC,IAAI,CAACJ,4BAA4B,EAAE,OAAO,IAAI,CAAC,KAC/C;MACH,OAAO,MAAM,IAAI,CAACA,4BAA4B,CAACI,MAAM,CAAC;IACxD;EACF;EAEA,MAAaC,WAAWA,CAAA,EAAyB;IAC/C,IAAI,CAAC,IAAI,CAACJ,wBAAwB,EAAE,OAAO,EAAE,CAAC,KACzC;MACH,OAAO,MAAM,IAAI,CAACA,wBAAwB,CAAC,CAAC;IAC9C;EACF;EAEA,MAAaK,sBAAsBA,CAAA,EAAG;IACpC,IAAI,CAAC,IAAI,CAACJ,qBAAqB,EAAE;MAC/B,MAAM,IAAIX,SAAS,CACjBC,UAAU,CAACe,4BAA4B,EACvC,wCACF,CAAC;IACH,CAAC,MAAM;MACL,IAAIC,KAAK,GAAG,MAAM,IAAI,CAACN,qBAAqB,CAAC,CAAC;MAC9C,IAAIM,KAAK,IAAIA,KAAK,CAACC,MAAM,IAAI,CAAC,EAAE;QAC9B,IAAIC,SAAS,GACV,MAAMpB,gBAAgB,CAACqB,WAAW,CAAC,CAAC,CAACC,kBAAkB,CACtDtB,gBAAgB,CAACuB,IAAI,CAACC,UACxB,CAAuB;QACzBJ,SAAS,CAACK,WAAW,GAAGP,KAAK;QAC7B,IAAIQ,OAAO,GAAGN,SAAS,CAACM,OAAO;QAC/B,IAAIA,OAAO,EAAE;UACXA,OAAO,CAAC,iBAAiB,CAAC,GAAGR,KAAK;UAClCE,SAAS,CAACM,OAAO,GAAGA,OAAO;QAC7B;QACA,IAAIC,KAAuB,GAAG3B,gBAAgB,CAACqB,WAAW,CAAC,CAAC;QAC5D,IAAIO,IAAI,GAAG5B,gBAAgB,CAACuB,IAAI;QAChCI,KAAK,CAACE,gBAAgB,CAACD,IAAI,CAACJ,UAAU,EAAEJ,SAAS,CAAC;MACpD,CAAC,MAAM;QACL,MAAM,IAAInB,SAAS,CACjBC,UAAU,CAAC4B,mBAAmB,EAC9B,gCACF,CAAC;MACH;IACF;EACF;AACF;AACA,MAAMC,eAAe,GAAG,IAAI5B,gBAAgB,CAAC,CAAC;AAC9C,eAAe4B,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["DispatchSdkCache","BaseError","ErrorCodes","CallbacksHandler","constructor","_defineProperty","init","phoneCallback","dateTimeCallBack","tokenRefreshCallback","_callbackToFetchPhoneNumbers","_callbackToFetchDateTime","_callbackRefreshToken","getPhoneNumbers","sdsIds","getDateTime","refresheAndUpdateToken","SyncManagerNotInitialized","token","length","sdkConfig","getInstance","getObjectFromCache","KEYS","SDK_CONFIG","accessToken","headers","cache","keys","setObjectInCache","ACCESS_TOKEN_EXPIRED","callbackHandler"],"sources":["callbacksHandler.ts"],"sourcesContent":["import { DispatchSDKConfig } from \"src/models/sdk\";\nimport DispatchSdkCache from \"./DispatchSdkCache\";\nimport { BaseError, } from \"../../errors/BaseError\";\nimport ErrorCodes from '../../errors/ErrorCodes';\n\nclass CallbacksHandler {\n private _callbackToFetchPhoneNumbers!: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>;\n\n private _callbackToFetchDateTime!: () => Promise<string>;\n private _callbackRefreshToken!: () => Promise<string>;\n\n public init(\n phoneCallback: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>,\n dateTimeCallBack: () => Promise<string>, tokenRefreshCallback: () => Promise<string>\n ) {\n this._callbackToFetchPhoneNumbers = phoneCallback;\n this._callbackToFetchDateTime = dateTimeCallBack;\n this._callbackRefreshToken = tokenRefreshCallback;\n }\n\n public async getPhoneNumbers(\n sdsIds: string[]\n ): Promise<{ key: string; value: string[] } | null> {\n if (!this._callbackToFetchPhoneNumbers) return null;\n else {\n return await this._callbackToFetchPhoneNumbers(sdsIds);\n }\n }\n\n public async getDateTime(): Promise<string | ''> {\n if (!this._callbackToFetchDateTime) return '';\n else {\n return await this._callbackToFetchDateTime();\n }\n }\n\n public async refresheAndUpdateToken() {\n if (!this._callbackRefreshToken){\n throw new BaseError(\n ErrorCodes.SyncManagerNotInitialized,\n 'Dispatch SDK Not Initalised'\n );\n } else {\n let token = await this._callbackRefreshToken();\n if(token && token.length != 0){\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n sdkConfig.accessToken = token;\n var headers = sdkConfig.headers;\n if(headers){\n headers['x-coreos-access'] = token;\n sdkConfig.headers = headers;\n }\n let cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n let keys = DispatchSdkCache.KEYS;\n cache.setObjectInCache(keys.SDK_CONFIG, sdkConfig);\n }else{\n throw new BaseError(\n ErrorCodes.ACCESS_TOKEN_EXPIRED,\n 'Unable to refresh token'\n );\n }\n }\n }\n}\nconst callbackHandler = new CallbacksHandler();\nexport default callbackHandler;\n"],"mappings":";;;AACA,OAAOA,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,SAAS,QAAS,wBAAwB;AACnD,OAAOC,UAAU,MAAM,yBAAyB;AAEhD,MAAMC,gBAAgB,CAAC;EAAAC,YAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;EAAA;EAQdC,IAAIA,CACTC,aAE8C,EAC9CC,gBAAuC,EAAEC,oBAA2C,EACpF;IACA,IAAI,CAACC,4BAA4B,GAAGH,aAAa;IACjD,IAAI,CAACI,wBAAwB,GAAGH,gBAAgB;IAChD,IAAI,CAACI,qBAAqB,GAAGH,oBAAoB;EACnD;EAEA,MAAaI,eAAeA,CAC1BC,MAAgB,EACkC;IAClD,IAAI,CAAC,IAAI,CAACJ,4BAA4B,EAAE,OAAO,IAAI,CAAC,KAC/C;MACH,OAAO,MAAM,IAAI,CAACA,4BAA4B,CAACI,MAAM,CAAC;IACxD;EACF;EAEA,MAAaC,WAAWA,CAAA,EAAyB;IAC/C,IAAI,CAAC,IAAI,CAACJ,wBAAwB,EAAE,OAAO,EAAE,CAAC,KACzC;MACH,OAAO,MAAM,IAAI,CAACA,wBAAwB,CAAC,CAAC;IAC9C;EACF;EAEA,MAAaK,sBAAsBA,CAAA,EAAG;IACpC,IAAI,CAAC,IAAI,CAACJ,qBAAqB,EAAC;MAC9B,MAAM,IAAIX,SAAS,CACjBC,UAAU,CAACe,yBAAyB,EACpC,6BACF,CAAC;IACH,CAAC,MAAM;MACL,IAAIC,KAAK,GAAI,MAAM,IAAI,CAACN,qBAAqB,CAAC,CAAC;MAC/C,IAAGM,KAAK,IAAIA,KAAK,CAACC,MAAM,IAAI,CAAC,EAAC;QAC5B,IAAIC,SAAS,GACZ,MAAMpB,gBAAgB,CAACqB,WAAW,CAAC,CAAC,CAACC,kBAAkB,CACtDtB,gBAAgB,CAACuB,IAAI,CAACC,UACxB,CAAuB;QACvBJ,SAAS,CAACK,WAAW,GAAGP,KAAK;QAC7B,IAAIQ,OAAO,GAAGN,SAAS,CAACM,OAAO;QAC/B,IAAGA,OAAO,EAAC;UACTA,OAAO,CAAC,iBAAiB,CAAC,GAAGR,KAAK;UAClCE,SAAS,CAACM,OAAO,GAAGA,OAAO;QAC7B;QACA,IAAIC,KAAuB,GAAG3B,gBAAgB,CAACqB,WAAW,CAAC,CAAC;QAC5D,IAAIO,IAAI,GAAG5B,gBAAgB,CAACuB,IAAI;QAChCI,KAAK,CAACE,gBAAgB,CAACD,IAAI,CAACJ,UAAU,EAAEJ,SAAS,CAAC;MACpD,CAAC,MAAI;QACH,MAAM,IAAInB,SAAS,CACjBC,UAAU,CAAC4B,oBAAoB,EAC/B,yBACF,CAAC;MACH;IACF;EACF;AACF;AACA,MAAMC,eAAe,GAAG,IAAI5B,gBAAgB,CAAC,CAAC;AAC9C,eAAe4B,eAAe","ignoreList":[]}
@@ -50,7 +50,7 @@ export default class AppSyncManager {
50
50
  return AppSyncManager.instance;
51
51
  }
52
52
  static getInstance() {
53
- if (!AppSyncManager.instance) throw new BaseError(ErrorCodes.AppSyncNotInitialized, 'SDK sync manager init failed');else return AppSyncManager.instance;
53
+ if (!AppSyncManager.instance) throw new BaseError(ErrorCodes.AppSyncNotInitialized, 'SDK sync Manager is not initialized');else return AppSyncManager.instance;
54
54
  }
55
55
  static async startAppSyncManager() {
56
56
  try {
@@ -1 +1 @@
1
- {"version":3,"names":["DocumentSyncManager","EventsSyncManager","NetworkUtil","Logger","LOG_TYPE","NativeSyncManager","DispatchSdkCache","AppRegistry","Platform","BaseError","ErrorCodes","DEFAULT_INTERVAL","DEFAULT_NOTIFICATION_DESCRIPTION","DEFAULT_NOTIFICATION_TITLE","MAX_RETRY_COUNT","AppSyncManager","constructor","tenantBaseURL","retryCount","_defineProperty","getInstance","init","initSyncManager","startSyncing","forceSync","_syncType","isAvailableAsync","forceDocumentSync","startSync","startDocumentSync","logEvent","SDK_INFO","isAppSyncPending","isSyncPending","initAppSync","syncRetryCount","instance","AppSyncNotInitialized","startAppSyncManager","stopSyncManager","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startSDKSyncManager","SDK_ERROR","isSyncActive","error","message","SDK_WARNING","registerSyncTask","registerHeadlessTask","getAllEvents","dispatchID","getAllDocuments","config","OS","isForceStartEnabled","_config$notificationC","_config$notificationC2","_config$notificationC3","retries","startSyncManager","notificationConfig","interval","title","description","then","catch","pushToQueue","pushData","insertBulkEvent","JSON","stringify","errorMessage","_class"],"sources":["AppSyncManager.ts"],"sourcesContent":["import DocumentSyncManager from './document/DocumentSyncManager';\nimport EventsSyncManager from './events/EventsSyncManager';\nimport NetworkUtil from '../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport NativeSyncManager from './NativeSyncManager';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport { AppRegistry, Platform } from 'react-native';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport type { SdkSyncType } from '../../models/DispatchModels';\nimport type { BulkEvent, DocumentRow, EventRow } from './DBConfig';\nimport {\n DEFAULT_INTERVAL,\n DEFAULT_NOTIFICATION_DESCRIPTION,\n DEFAULT_NOTIFICATION_TITLE,\n} from '../../constants/constants';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport { MAX_RETRY_COUNT } from './constants';\n\nexport default class AppSyncManager {\n private constructor(tenantBaseURL: string, retryCount: number) {\n DocumentSyncManager.getInstance().init(tenantBaseURL, retryCount);\n EventsSyncManager.getInstance().initSyncManager(tenantBaseURL, retryCount);\n }\n private static instance: AppSyncManager;\n public isSyncActive = false;\n public isForceStartEnabled = true;\n\n /**\n *\n * @param forceSync - true/false - if true resets the retry count key and start the sync\n * @param syncType\n */\n public async startSyncing(forceSync: boolean, _syncType?: SdkSyncType) {\n if (await NetworkUtil.isAvailableAsync()) {\n if (forceSync) {\n EventsSyncManager.getInstance().forceSync();\n DocumentSyncManager.getInstance().forceDocumentSync();\n } else {\n EventsSyncManager.getInstance().startSync();\n DocumentSyncManager.getInstance().startDocumentSync();\n }\n } else {\n Logger.getInstance().logEvent(\n 'startSync',\n 'No network',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isAppSyncPending(): Promise<boolean> {\n return (\n (await EventsSyncManager.getInstance().isSyncPending()) ||\n (await DocumentSyncManager.getInstance().isSyncPending())\n );\n }\n public static initAppSync(\n tenantBaseURL: string,\n syncRetryCount: number\n ): AppSyncManager {\n // removing this check to allow tenant change in app due to this manager instance did't re-init and event and docs didn't sync\n // if (!AppSyncManager.instance) {\n Logger.getInstance().logEvent(\n 'initAppSync',\n 'CREATING NEW INSTANCE',\n LOG_TYPE.SDK_INFO\n );\n AppSyncManager.instance = new AppSyncManager(\n tenantBaseURL,\n syncRetryCount\n );\n // }\n return AppSyncManager.instance;\n }\n public static getInstance(): AppSyncManager {\n if (!AppSyncManager.instance)\n throw new BaseError(\n ErrorCodes.AppSyncNotInitialized,\n 'SDK sync manager init failed'\n );\n else return AppSyncManager.instance;\n }\n\n public static async startAppSyncManager() {\n try {\n if (!AppSyncManager.instance) {\n NativeSyncManager.stopSyncManager();\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const retryCount = sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT;\n if (sdkConfig.tenantBaseURL != null && retryCount != null) {\n AppSyncManager.initAppSync(sdkConfig.tenantBaseURL, +retryCount);\n AppSyncManager.getInstance().startSDKSyncManager();\n } else {\n Logger.getInstance().logEvent(\n 'SYNC_MANAGER_ASM',\n 'TENANT BASE URL IS NULL',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else if (await AppSyncManager.instance.isAppSyncPending()) {\n AppSyncManager.instance.startSyncing(false);\n } else {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isSyncActive = false;\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startAppSyncManager',\n `Unable to start App Sync Manager ${error.message}`,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n /**\n * Call this method from index file of the app\n */\n public static registerSyncTask() {\n AppRegistry.registerHeadlessTask(\n 'SYNC_MANAGER',\n () => AppSyncManager.startAppSyncManager\n );\n }\n\n public async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n return EventsSyncManager.getInstance().getAllEvents(dispatchID);\n }\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n return DocumentSyncManager.getInstance().getAllDocuments(dispatchID);\n }\n public startSDKSyncManager() {\n (async () => {\n const config = (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n if (Platform.OS === 'android') {\n if (!this.isSyncActive && this.isForceStartEnabled) {\n this.isSyncActive = true;\n\n /**\n * Reset Retry Counter\n */\n EventsSyncManager.getInstance().retries = 0;\n DocumentSyncManager.getInstance().retries = 0;\n NativeSyncManager.startSyncManager(\n config?.notificationConfig?.interval ?? DEFAULT_INTERVAL,\n config?.notificationConfig?.title ?? DEFAULT_NOTIFICATION_TITLE,\n config?.notificationConfig?.description ??\n DEFAULT_NOTIFICATION_DESCRIPTION\n );\n } else {\n Logger.getInstance().logEvent(\n 'startNativeSyncManager',\n 'ANDROID SYNC SERVICE ALREADY RUNNING',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n /**\n * For iOS we have to start Normal Foreground sync\n */\n this.startSyncing(true).then().catch();\n }\n })();\n }\n\n // NEW CODE\n public async pushToQueue(pushData: BulkEvent): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushToQueue ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DocumentSyncManager","EventsSyncManager","NetworkUtil","Logger","LOG_TYPE","NativeSyncManager","DispatchSdkCache","AppRegistry","Platform","BaseError","ErrorCodes","DEFAULT_INTERVAL","DEFAULT_NOTIFICATION_DESCRIPTION","DEFAULT_NOTIFICATION_TITLE","MAX_RETRY_COUNT","AppSyncManager","constructor","tenantBaseURL","retryCount","_defineProperty","getInstance","init","initSyncManager","startSyncing","forceSync","_syncType","isAvailableAsync","forceDocumentSync","startSync","startDocumentSync","logEvent","SDK_INFO","isAppSyncPending","isSyncPending","initAppSync","syncRetryCount","instance","AppSyncNotInitialized","startAppSyncManager","stopSyncManager","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startSDKSyncManager","SDK_ERROR","isSyncActive","error","message","SDK_WARNING","registerSyncTask","registerHeadlessTask","getAllEvents","dispatchID","getAllDocuments","config","OS","isForceStartEnabled","_config$notificationC","_config$notificationC2","_config$notificationC3","retries","startSyncManager","notificationConfig","interval","title","description","then","catch","pushToQueue","pushData","insertBulkEvent","JSON","stringify","errorMessage","_class"],"sources":["AppSyncManager.ts"],"sourcesContent":["import DocumentSyncManager from './document/DocumentSyncManager';\nimport EventsSyncManager from './events/EventsSyncManager';\nimport NetworkUtil from '../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport NativeSyncManager from './NativeSyncManager';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport { AppRegistry, Platform } from 'react-native';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport type { SdkSyncType } from '../../models/DispatchModels';\nimport type { BulkEvent, DocumentRow, EventRow } from './DBConfig';\nimport {\n DEFAULT_INTERVAL,\n DEFAULT_NOTIFICATION_DESCRIPTION,\n DEFAULT_NOTIFICATION_TITLE,\n} from '../../constants/constants';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport { MAX_RETRY_COUNT } from './constants';\n\nexport default class AppSyncManager {\n private constructor(tenantBaseURL: string, retryCount: number) {\n DocumentSyncManager.getInstance().init(tenantBaseURL, retryCount);\n EventsSyncManager.getInstance().initSyncManager(tenantBaseURL, retryCount);\n }\n private static instance: AppSyncManager;\n public isSyncActive = false;\n public isForceStartEnabled = true;\n\n /**\n *\n * @param forceSync - true/false - if true resets the retry count key and start the sync\n * @param syncType\n */\n public async startSyncing(forceSync: boolean, _syncType?: SdkSyncType) {\n if (await NetworkUtil.isAvailableAsync()) {\n if (forceSync) {\n EventsSyncManager.getInstance().forceSync();\n DocumentSyncManager.getInstance().forceDocumentSync();\n } else {\n EventsSyncManager.getInstance().startSync();\n DocumentSyncManager.getInstance().startDocumentSync();\n }\n } else {\n Logger.getInstance().logEvent(\n 'startSync',\n 'No network',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isAppSyncPending(): Promise<boolean> {\n return (\n (await EventsSyncManager.getInstance().isSyncPending()) ||\n (await DocumentSyncManager.getInstance().isSyncPending())\n );\n }\n public static initAppSync(\n tenantBaseURL: string,\n syncRetryCount: number\n ): AppSyncManager {\n // removing this check to allow tenant change in app due to this manager instance did't re-init and event and docs didn't sync\n // if (!AppSyncManager.instance) {\n Logger.getInstance().logEvent(\n 'initAppSync',\n 'CREATING NEW INSTANCE',\n LOG_TYPE.SDK_INFO\n );\n AppSyncManager.instance = new AppSyncManager(\n tenantBaseURL,\n syncRetryCount\n );\n // }\n return AppSyncManager.instance;\n }\n public static getInstance(): AppSyncManager {\n if (!AppSyncManager.instance)\n throw new BaseError(\n ErrorCodes.AppSyncNotInitialized,\n 'SDK sync Manager is not initialized'\n );\n else return AppSyncManager.instance;\n }\n\n public static async startAppSyncManager() {\n try {\n if (!AppSyncManager.instance) {\n NativeSyncManager.stopSyncManager();\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const retryCount = sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT;\n if (sdkConfig.tenantBaseURL != null && retryCount != null) {\n AppSyncManager.initAppSync(sdkConfig.tenantBaseURL, +retryCount);\n AppSyncManager.getInstance().startSDKSyncManager();\n } else {\n Logger.getInstance().logEvent(\n 'SYNC_MANAGER_ASM',\n 'TENANT BASE URL IS NULL',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else if (await AppSyncManager.instance.isAppSyncPending()) {\n AppSyncManager.instance.startSyncing(false);\n } else {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isSyncActive = false;\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startAppSyncManager',\n `Unable to start App Sync Manager ${error.message}`,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n /**\n * Call this method from index file of the app\n */\n public static registerSyncTask() {\n AppRegistry.registerHeadlessTask(\n 'SYNC_MANAGER',\n () => AppSyncManager.startAppSyncManager\n );\n }\n\n public async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n return EventsSyncManager.getInstance().getAllEvents(dispatchID);\n }\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n return DocumentSyncManager.getInstance().getAllDocuments(dispatchID);\n }\n public startSDKSyncManager() {\n (async () => {\n const config = (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n if (Platform.OS === 'android') {\n if (!this.isSyncActive && this.isForceStartEnabled) {\n this.isSyncActive = true;\n\n /**\n * Reset Retry Counter\n */\n EventsSyncManager.getInstance().retries = 0;\n DocumentSyncManager.getInstance().retries = 0;\n NativeSyncManager.startSyncManager(\n config?.notificationConfig?.interval ?? DEFAULT_INTERVAL,\n config?.notificationConfig?.title ?? DEFAULT_NOTIFICATION_TITLE,\n config?.notificationConfig?.description ??\n DEFAULT_NOTIFICATION_DESCRIPTION\n );\n } else {\n Logger.getInstance().logEvent(\n 'startNativeSyncManager',\n 'ANDROID SYNC SERVICE ALREADY RUNNING',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n /**\n * For iOS we have to start Normal Foreground sync\n */\n this.startSyncing(true).then().catch();\n }\n })();\n }\n\n // NEW CODE\n public async pushToQueue(pushData: BulkEvent): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushToQueue ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ import DocumentManager from './DocumentManager';
6
6
  import DocumentHttpClient from './DocumentHttpClient';
7
7
  import { isEmptyOrBlank, flattenObject } from '../../../utils/utils';
8
8
  import { BaseError } from '../../../errors/BaseError';
9
- import BaseErrorCodes, { InvalidArgumentsError, InvalidBaseURL } from '../../../errors/ErrorCodes';
9
+ import BaseErrorCodes, { InvalidArgumentsError, InvalidBaseURL, SyncManagerNotInitialized } from '../../../errors/ErrorCodes';
10
10
  import Logger, { LOG_TYPE } from '../../../utils/Logger';
11
11
  import NetworkUtil from '../../../utils/NetworkUtil';
12
12
  import ETEventsManager from '../events/ETEventsManager';
@@ -275,7 +275,7 @@ export default class DocumentSyncManager {
275
275
  }
276
276
  checkForInitialization() {
277
277
  if (!this.documentHttpClient) {
278
- throw new BaseError(BaseErrorCodes.DOC_SYNC_INIT_FAILED, 'DOC Sync Manger init failed.');
278
+ throw new BaseError(BaseErrorCodes.SyncManagerNotInitialized, SyncManagerNotInitialized);
279
279
  }
280
280
  }
281
281
 
@@ -1 +1 @@
1
- {"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","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","arguments","undefined","InvalidArgumentError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","podId","markPODDocEventSynced","lastSyncedEventId","getSharedItem","syncEventId","parseInt","setSharedItem","startSync","err","SDK_WARNING","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","ERROR","APP_ERROR","updateDocError","uploadError","updateDocSyncError","DOC_SYNC_INIT_FAILED","processImageData","processed_file_path","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","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","_class"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, {\n Position,\n TextBackgroundType,\n ImageFormat,\n} from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No data to sync'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No data to sync',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n let cta = 'startDocumentSync-error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(error)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n // jobID: string,\n // objRef: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(jobID) ||\n // isEmptyOrBlank(objRef) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n else {\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:', fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n // jobID,\n // objRef,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'INIT DOC SYNC AGAIN'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_ERROR\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n // private async updateDocument(documentRow: DocumentRow, fmsID: string) {\n // if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n // try {\n // await this.docManager.markDocumentSynced(documentRow.id, fmsID);\n // let eventsManager = await ETEventsManager.getInstance();\n // let podId = POD_DOC + '_' + documentRow.id;\n // await eventsManager.markPODDocEventSynced(1, 1, podId);\n // EventsSyncManager.getInstance().startSync();\n // } catch (err: any) {\n // Logger.getInstance().logEvent(\n // 'updateDocument',\n // err.message,\n // LOG_TYPE.SDK_WARNING\n // );\n // }\n // }\n\n // This function will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if (sync == 1) {\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n let cta = 'updateDocumentWithAttempt'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n let cta = 'updateDocument-updateDocumentProcessedPath'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n let cta = 'updateDocError'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(BaseErrorCodes.DOC_SYNC_INIT_FAILED, 'DOC Sync Manger init failed.');\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let cta = 'processImageData-started';\n let extra = {\n msg: 'processImageData-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath;\n }\n }\n let cta = 'processImageData-completed';\n let extra = {\n msg: 'processImageData-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n if (\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","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","arguments","undefined","InvalidArgumentError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","podId","markPODDocEventSynced","lastSyncedEventId","getSharedItem","syncEventId","parseInt","setSharedItem","startSync","err","SDK_WARNING","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","ERROR","APP_ERROR","updateDocError","uploadError","updateDocSyncError","processImageData","processed_file_path","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","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","_class"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, {\n Position,\n TextBackgroundType,\n ImageFormat,\n} from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No data to sync'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No data to sync',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n let cta = 'startDocumentSync-error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(error)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n // jobID: string,\n // objRef: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(jobID) ||\n // isEmptyOrBlank(objRef) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n else {\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:', fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n // jobID,\n // objRef,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'INIT DOC SYNC AGAIN'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_ERROR\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n // private async updateDocument(documentRow: DocumentRow, fmsID: string) {\n // if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n // try {\n // await this.docManager.markDocumentSynced(documentRow.id, fmsID);\n // let eventsManager = await ETEventsManager.getInstance();\n // let podId = POD_DOC + '_' + documentRow.id;\n // await eventsManager.markPODDocEventSynced(1, 1, podId);\n // EventsSyncManager.getInstance().startSync();\n // } catch (err: any) {\n // Logger.getInstance().logEvent(\n // 'updateDocument',\n // err.message,\n // LOG_TYPE.SDK_WARNING\n // );\n // }\n // }\n\n // This function will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if (sync == 1) {\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n let cta = 'updateDocumentWithAttempt'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n let cta = 'updateDocument-updateDocumentProcessedPath'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n let cta = 'updateDocError'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let cta = 'processImageData-started';\n let extra = {\n msg: 'processImageData-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath;\n }\n }\n let cta = 'processImageData-completed';\n let extra = {\n msg: 'processImageData-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n if (\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":[]}
@@ -6,7 +6,7 @@ import ETEventsManager from './ETEventsManager';
6
6
  import SyncHttpClient from './SyncHttpClient';
7
7
  import { flattenObject, isEmptyOrBlank } from '../../../utils/utils';
8
8
  import { BaseError } from '../../../errors/BaseError';
9
- import BaseErrorCodes, { InvalidArgumentsError, InvalidBaseURL } from '../../../errors/ErrorCodes';
9
+ import BaseErrorCodes, { InvalidArgumentsError, InvalidBaseURL, SyncManagerNotInitialized } from '../../../errors/ErrorCodes';
10
10
  import NetworkUtil from '../../../utils/NetworkUtil';
11
11
  import Logger, { LOG_TYPE } from '../../../utils/Logger';
12
12
  import { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';
@@ -323,7 +323,7 @@ export default class EventsSyncManager {
323
323
 
324
324
  checkForInitialization() {
325
325
  if (!this.syncHttpClient) {
326
- throw new BaseError(BaseErrorCodes.EVENT_SYNC_INIT_FAILED, 'Event sync manager init failed.');
326
+ throw new BaseError(BaseErrorCodes.SyncManagerNotInitialized, SyncManagerNotInitialized);
327
327
  }
328
328
  }
329
329
  async getObjectiveSummary(objectiveRef) {