@os1-platform/dispatch-mobile 2.1.23 → 2.1.24

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 (64) 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/analytics/firebase/FirebaseLogging.js +0 -3
  29. package/lib/commonjs/analytics/firebase/FirebaseLogging.js.map +1 -1
  30. package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +0 -6
  31. package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
  32. package/lib/commonjs/manager/syncmanager/constants.js +1 -1
  33. package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
  34. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +1 -4
  35. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  36. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +6 -32
  37. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  38. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +1 -1
  39. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
  40. package/lib/commonjs/utils/Logger.js +0 -55
  41. package/lib/commonjs/utils/Logger.js.map +1 -1
  42. package/lib/module/analytics/firebase/FirebaseLogging.js +0 -3
  43. package/lib/module/analytics/firebase/FirebaseLogging.js.map +1 -1
  44. package/lib/module/analytics/sentry/SentryAnalyticsUtils.js +0 -6
  45. package/lib/module/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
  46. package/lib/module/manager/syncmanager/constants.js +1 -1
  47. package/lib/module/manager/syncmanager/constants.js.map +1 -1
  48. package/lib/module/manager/syncmanager/document/DocumentManager.js +1 -4
  49. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  50. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +6 -32
  51. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  52. package/lib/module/ui/screens/StartWorkFlowScreen.js +1 -1
  53. package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
  54. package/lib/module/utils/Logger.js +0 -55
  55. package/lib/module/utils/Logger.js.map +1 -1
  56. package/lib/typescript/manager/syncmanager/constants.d.ts +1 -1
  57. package/package.json +2 -2
  58. package/src/analytics/firebase/FirebaseLogging.ts +2 -11
  59. package/src/analytics/sentry/SentryAnalyticsUtils.ts +0 -7
  60. package/src/manager/syncmanager/constants.ts +1 -1
  61. package/src/manager/syncmanager/document/DocumentManager.ts +6 -8
  62. package/src/manager/syncmanager/document/DocumentSyncManager.ts +8 -43
  63. package/src/ui/screens/StartWorkFlowScreen.tsx +1 -1
  64. package/src/utils/Logger.ts +1 -58
@@ -1 +1 @@
1
- {"version":3,"names":["Sentry","Platform","SentryAnalyticsSingleton","fireFirebaseEvent","SentryEventNameSdkConstants","fireEventWithScreenName","severityLevel","eventName","cta","screenName","extraParams","_singletonInstance$ge","_singletonInstance$ge2","_singletonInstance$ge3","_singletonInstance$ge4","_singletonInstance$ge5","BUTTON_CLICKED","console","log","JSON","stringify","singletonInstance","getInstance","tenantId","getDispatchAndUserData","dispatchId","userId","userName","userEmail","event","level","message","tags","ref","extra","trim","user","id","email","username","platform","OS","environment","getEnvironment","captureEvent","__DEV__"],"sources":["SentryAnalyticsUtils.ts"],"sourcesContent":["import * as Sentry from '@sentry/react-native';\nimport { Platform } from 'react-native';\nimport { Event, User } from '@sentry/types';\nimport SentryAnalyticsSingleton from './SentryAnalyticsSingleton';\nimport { SentryEvent } from './SentryModels';\nimport { fireFirebaseEvent } from '../firebase/FirebaseLogging';\nimport { SentryEventNameSdkConstants } from './SentrySdkConstants';\n\nexport async function fireEventWithScreenName({ severityLevel, eventName, cta = \"N/A\", screenName = \"N/A\", extraParams = null }: SentryEvent) {\n\n //ignoring the button clicked event for now\n if (eventName === SentryEventNameSdkConstants.BUTTON_CLICKED) return;\n\n console.log(\"sentry::fireEventWithScreenName()\", \" called\")\n console.log(\"sentry::fireEventWithScreenName::severityLevel\", severityLevel)\n console.log(\"sentry::fireEventWithScreenName::eventName\", eventName)\n console.log(\"sentry::fireEventWithScreenName::cta\", cta)\n console.log(\"sentry::fireEventWithScreenName::screenName\", screenName)\n console.log(\"sentry::fireEventWithScreenName::extraParams\", JSON.stringify(extraParams))\n // \n const singletonInstance = SentryAnalyticsSingleton.getInstance();\n const tenantId = singletonInstance.getDispatchAndUserData()?.tenantId ?? \"N/A\"\n const dispatchId = singletonInstance.getDispatchAndUserData()?.dispatchId ?? \"N/A\"\n const userId = singletonInstance.getDispatchAndUserData()?.userId ?? \"N/A\"\n const userName = singletonInstance.getDispatchAndUserData()?.userName ?? \"N/A\"\n const userEmail = singletonInstance.getDispatchAndUserData()?.userEmail ?? \"N/A\"\n //\n var event: Event = {\n level: severityLevel,\n message: eventName,\n tags: {\n tenantId: tenantId ?? \"N/A\",\n dispatchId: dispatchId ?? \"N/A\",\n screenName: screenName ?? \"N/A\",\n cta: cta ?? \"N/A\",\n ref: SentryAnalyticsSingleton.ref,\n },\n extra: extraParams ?? '',\n };\n\n //fetch user details only if tenantId is present\n if (tenantId != null && tenantId?.trim() != \"\") {\n let user: User = {};\n user.id = userId ?? \"N/A\";\n user.email = userEmail ?? \"N/A\";\n user.username = userName ?? \"N/A\";\n event.user = user;\n }\n //\n event.platform = Platform.OS\n event.environment = await getEnvironment();\n //\n Sentry.captureEvent(event);\n //fire firebase event \n\n await fireFirebaseEvent(event.message ?? \"No_Event_Name\", event);\n}\n\nconst getEnvironment = async () => {\n if (__DEV__) {\n return \"development\";\n } else {\n return \"production\";\n }\n};"],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,sBAAsB;AAC9C,SAASC,QAAQ,QAAQ,cAAc;AAEvC,OAAOC,wBAAwB,MAAM,4BAA4B;AAEjE,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,2BAA2B,QAAQ,sBAAsB;AAElE,OAAO,eAAeC,uBAAuBA,CAAC;EAAEC,aAAa;EAAEC,SAAS;EAAEC,GAAG,GAAG,KAAK;EAAEC,UAAU,GAAG,KAAK;EAAEC,WAAW,GAAG;AAAkB,CAAC,EAAE;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAE5I;EACA,IAAIR,SAAS,KAAKH,2BAA2B,CAACY,cAAc,EAAE;EAE9DC,OAAO,CAACC,GAAG,CAAC,mCAAmC,EAAE,SAAS,CAAC;EAC3DD,OAAO,CAACC,GAAG,CAAC,gDAAgD,EAAEZ,aAAa,CAAC;EAC5EW,OAAO,CAACC,GAAG,CAAC,4CAA4C,EAAEX,SAAS,CAAC;EACpEU,OAAO,CAACC,GAAG,CAAC,sCAAsC,EAAEV,GAAG,CAAC;EACxDS,OAAO,CAACC,GAAG,CAAC,6CAA6C,EAAET,UAAU,CAAC;EACtEQ,OAAO,CAACC,GAAG,CAAC,8CAA8C,EAAEC,IAAI,CAACC,SAAS,CAACV,WAAW,CAAC,CAAC;EACxF;EACA,MAAMW,iBAAiB,GAAGnB,wBAAwB,CAACoB,WAAW,CAAC,CAAC;EAChE,MAAMC,QAAQ,GAAG,EAAAZ,qBAAA,GAAAU,iBAAiB,CAACG,sBAAsB,CAAC,CAAC,cAAAb,qBAAA,uBAA1CA,qBAAA,CAA4CY,QAAQ,KAAI,KAAK;EAC9E,MAAME,UAAU,GAAG,EAAAb,sBAAA,GAAAS,iBAAiB,CAACG,sBAAsB,CAAC,CAAC,cAAAZ,sBAAA,uBAA1CA,sBAAA,CAA4Ca,UAAU,KAAI,KAAK;EAClF,MAAMC,MAAM,GAAG,EAAAb,sBAAA,GAAAQ,iBAAiB,CAACG,sBAAsB,CAAC,CAAC,cAAAX,sBAAA,uBAA1CA,sBAAA,CAA4Ca,MAAM,KAAI,KAAK;EAC1E,MAAMC,QAAQ,GAAG,EAAAb,sBAAA,GAAAO,iBAAiB,CAACG,sBAAsB,CAAC,CAAC,cAAAV,sBAAA,uBAA1CA,sBAAA,CAA4Ca,QAAQ,KAAI,KAAK;EAC9E,MAAMC,SAAS,GAAG,EAAAb,sBAAA,GAAAM,iBAAiB,CAACG,sBAAsB,CAAC,CAAC,cAAAT,sBAAA,uBAA1CA,sBAAA,CAA4Ca,SAAS,KAAI,KAAK;EAChF;EACA,IAAIC,KAAY,GAAG;IACjBC,KAAK,EAAExB,aAAa;IACpByB,OAAO,EAAExB,SAAS;IAClByB,IAAI,EAAE;MACJT,QAAQ,EAAEA,QAAQ,IAAI,KAAK;MAC3BE,UAAU,EAAEA,UAAU,IAAI,KAAK;MAC/BhB,UAAU,EAAEA,UAAU,IAAI,KAAK;MAC/BD,GAAG,EAAEA,GAAG,IAAI,KAAK;MACjByB,GAAG,EAAE/B,wBAAwB,CAAC+B;IAChC,CAAC;IACDC,KAAK,EAAExB,WAAW,IAAI;EACxB,CAAC;;EAED;EACA,IAAIa,QAAQ,IAAI,IAAI,IAAI,CAAAA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEY,IAAI,CAAC,CAAC,KAAI,EAAE,EAAE;IAC9C,IAAIC,IAAU,GAAG,CAAC,CAAC;IACnBA,IAAI,CAACC,EAAE,GAAGX,MAAM,IAAI,KAAK;IACzBU,IAAI,CAACE,KAAK,GAAGV,SAAS,IAAI,KAAK;IAC/BQ,IAAI,CAACG,QAAQ,GAAGZ,QAAQ,IAAI,KAAK;IACjCE,KAAK,CAACO,IAAI,GAAGA,IAAI;EACnB;EACA;EACAP,KAAK,CAACW,QAAQ,GAAGvC,QAAQ,CAACwC,EAAE;EAC5BZ,KAAK,CAACa,WAAW,GAAG,MAAMC,cAAc,CAAC,CAAC;EAC1C;EACA3C,MAAM,CAAC4C,YAAY,CAACf,KAAK,CAAC;EAC1B;;EAEA,MAAM1B,iBAAiB,CAAC0B,KAAK,CAACE,OAAO,IAAI,eAAe,EAAEF,KAAK,CAAC;AAClE;AAEA,MAAMc,cAAc,GAAG,MAAAA,CAAA,KAAY;EACjC,IAAIE,OAAO,EAAE;IACX,OAAO,aAAa;EACtB,CAAC,MAAM;IACL,OAAO,YAAY;EACrB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Sentry","Platform","SentryAnalyticsSingleton","fireFirebaseEvent","SentryEventNameSdkConstants","fireEventWithScreenName","severityLevel","eventName","cta","screenName","extraParams","_singletonInstance$ge","_singletonInstance$ge2","_singletonInstance$ge3","_singletonInstance$ge4","_singletonInstance$ge5","BUTTON_CLICKED","singletonInstance","getInstance","tenantId","getDispatchAndUserData","dispatchId","userId","userName","userEmail","event","level","message","tags","ref","extra","trim","user","id","email","username","platform","OS","environment","getEnvironment","captureEvent","__DEV__"],"sources":["SentryAnalyticsUtils.ts"],"sourcesContent":["import * as Sentry from '@sentry/react-native';\nimport { Platform } from 'react-native';\nimport { Event, User } from '@sentry/types';\nimport SentryAnalyticsSingleton from './SentryAnalyticsSingleton';\nimport { SentryEvent } from './SentryModels';\nimport { fireFirebaseEvent } from '../firebase/FirebaseLogging';\nimport { SentryEventNameSdkConstants } from './SentrySdkConstants';\n\nexport async function fireEventWithScreenName({ severityLevel, eventName, cta = \"N/A\", screenName = \"N/A\", extraParams = null }: SentryEvent) {\n\n //ignoring the button clicked event for now\n if (eventName === SentryEventNameSdkConstants.BUTTON_CLICKED) return;\n // \n const singletonInstance = SentryAnalyticsSingleton.getInstance();\n const tenantId = singletonInstance.getDispatchAndUserData()?.tenantId ?? \"N/A\"\n const dispatchId = singletonInstance.getDispatchAndUserData()?.dispatchId ?? \"N/A\"\n const userId = singletonInstance.getDispatchAndUserData()?.userId ?? \"N/A\"\n const userName = singletonInstance.getDispatchAndUserData()?.userName ?? \"N/A\"\n const userEmail = singletonInstance.getDispatchAndUserData()?.userEmail ?? \"N/A\"\n //\n var event: Event = {\n level: severityLevel,\n message: eventName,\n tags: {\n tenantId: tenantId ?? \"N/A\",\n dispatchId: dispatchId ?? \"N/A\",\n screenName: screenName ?? \"N/A\",\n cta: cta ?? \"N/A\",\n ref: SentryAnalyticsSingleton.ref,\n },\n extra: extraParams ?? '',\n };\n\n //fetch user details only if tenantId is present\n if (tenantId != null && tenantId?.trim() != \"\") {\n let user: User = {};\n user.id = userId ?? \"N/A\";\n user.email = userEmail ?? \"N/A\";\n user.username = userName ?? \"N/A\";\n event.user = user;\n }\n //\n event.platform = Platform.OS\n event.environment = await getEnvironment();\n //\n Sentry.captureEvent(event);\n //fire firebase event \n\n await fireFirebaseEvent(event.message ?? \"No_Event_Name\", event);\n}\n\nconst getEnvironment = async () => {\n if (__DEV__) {\n return \"development\";\n } else {\n return \"production\";\n }\n};"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,6 @@ export const SHARED_PREFERENCE_DISPATCH_ID = 'sharedPreferenceDispatchId';
4
4
  export const SHARED_PREFERENCE_SCAN_OUTPUT = 'scanETMappedOutput';
5
5
  export const SCAN_MERGED_OBJ_ID_OUTPUT = 'scanMergedObjectiveIDs';
6
6
  export const POD_DOC = 'POD_DOC';
7
- export const PROCESS_MAX_RETRIED_ROWS = false;
7
+ export const PROCESS_MAX_RETRIED_ROWS = true;
8
8
  export const MAX_RETRY_COUNT = 3;
9
9
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BULK_DATA_LIMIT","LAST_SYNCED_EVENT_ID","SHARED_PREFERENCE_DISPATCH_ID","SHARED_PREFERENCE_SCAN_OUTPUT","SCAN_MERGED_OBJ_ID_OUTPUT","POD_DOC","PROCESS_MAX_RETRIED_ROWS","MAX_RETRY_COUNT"],"sources":["constants.ts"],"sourcesContent":["export const BULK_DATA_LIMIT = 1000;\nexport const LAST_SYNCED_EVENT_ID = 'lastSyncedEventId';\nexport const SHARED_PREFERENCE_DISPATCH_ID = 'sharedPreferenceDispatchId';\nexport const SHARED_PREFERENCE_SCAN_OUTPUT = 'scanETMappedOutput';\nexport const SCAN_MERGED_OBJ_ID_OUTPUT = 'scanMergedObjectiveIDs';\nexport const POD_DOC = 'POD_DOC';\nexport const PROCESS_MAX_RETRIED_ROWS = false;\nexport const MAX_RETRY_COUNT = 3;\n"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG,IAAI;AACnC,OAAO,MAAMC,oBAAoB,GAAG,mBAAmB;AACvD,OAAO,MAAMC,6BAA6B,GAAG,4BAA4B;AACzE,OAAO,MAAMC,6BAA6B,GAAG,oBAAoB;AACjE,OAAO,MAAMC,yBAAyB,GAAG,wBAAwB;AACjE,OAAO,MAAMC,OAAO,GAAG,SAAS;AAChC,OAAO,MAAMC,wBAAwB,GAAG,KAAK;AAC7C,OAAO,MAAMC,eAAe,GAAG,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BULK_DATA_LIMIT","LAST_SYNCED_EVENT_ID","SHARED_PREFERENCE_DISPATCH_ID","SHARED_PREFERENCE_SCAN_OUTPUT","SCAN_MERGED_OBJ_ID_OUTPUT","POD_DOC","PROCESS_MAX_RETRIED_ROWS","MAX_RETRY_COUNT"],"sources":["constants.ts"],"sourcesContent":["export const BULK_DATA_LIMIT = 1000;\nexport const LAST_SYNCED_EVENT_ID = 'lastSyncedEventId';\nexport const SHARED_PREFERENCE_DISPATCH_ID = 'sharedPreferenceDispatchId';\nexport const SHARED_PREFERENCE_SCAN_OUTPUT = 'scanETMappedOutput';\nexport const SCAN_MERGED_OBJ_ID_OUTPUT = 'scanMergedObjectiveIDs';\nexport const POD_DOC = 'POD_DOC';\nexport const PROCESS_MAX_RETRIED_ROWS = true;\nexport const MAX_RETRY_COUNT = 3;\n"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG,IAAI;AACnC,OAAO,MAAMC,oBAAoB,GAAG,mBAAmB;AACvD,OAAO,MAAMC,6BAA6B,GAAG,4BAA4B;AACzE,OAAO,MAAMC,6BAA6B,GAAG,oBAAoB;AACjE,OAAO,MAAMC,yBAAyB,GAAG,wBAAwB;AACjE,OAAO,MAAMC,OAAO,GAAG,SAAS;AAChC,OAAO,MAAMC,wBAAwB,GAAG,IAAI;AAC5C,OAAO,MAAMC,eAAe,GAAG,CAAC","ignoreList":[]}
@@ -37,10 +37,7 @@ export default class DocumentManager {
37
37
  async truncateDocumentTable() {
38
38
  await Database.executeQuery(`DELETE FROM ${DOCUMENT_TABLE};`, []);
39
39
  }
40
- async insertDocument(fmsFolderID, desc, dspID,
41
- // jobID: string,
42
- // objectiveRef: string,
43
- base64, fileName, fileType, data, filePath, geoTimeStamp, processedFilePath, priority) {
40
+ async insertDocument(fmsFolderID, desc, dspID, base64, fileName, fileType, data, filePath, geoTimeStamp, processedFilePath, priority) {
44
41
  console.log('insertDocument2:', fmsFolderID);
45
42
  return await Database.executeQuery(`INSERT INTO ${DOCUMENT_TABLE}(\
46
43
  ${DOCUMENT_COLUMNS.DATA},\
@@ -1 +1 @@
1
- {"version":3,"names":["DOCUMENT_COLUMNS","DOCUMENT_TABLE","MAX_RETRY_COUNT","PROCESS_MAX_RETRIED_ROWS","Database","DocumentManager","constructor","getInstance","instance","managerInstance","init","executeQuery","ID","DATA","BASE64","FILE_PATH","DISPATCH_ID","FILE_NAME","FILE_TYPE","SYNCED","FMS_ID","FMS_FOLDER_ID","PRIORITY","SYNC_ERROR","ATTEMPT_COUNT","GEO_TIMESTAMP","PROCESSED_FILE_PATH","DESCRIPTION","truncateDocumentTable","insertDocument","fmsFolderID","desc","dspID","base64","fileName","fileType","data","filePath","geoTimeStamp","processedFilePath","priority","console","log","getAllDocuments","dispatchID","resultSet","rows","_array","getAllUnsyncedDocs","deleteAllSyncedDocuments","markDocumentSynced","id","fmsID","markDocumentSyncedWithAttempt","attempt","sync","updateProcesedFilePath","origialFilePath","updateDocSyncError","uploadError","TypeError","updateDocPriority","getUnsyncedDocument","rs","_DocumentManager","_defineProperty"],"sources":["DocumentManager.ts"],"sourcesContent":["import { DOCUMENT_COLUMNS, DOCUMENT_TABLE, DocumentRow } from '../DBConfig';\nimport { MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';\nimport * as Database from '../database';\nimport type { SQLResultSet } from 'expo-sqlite';\n\nexport default class DocumentManager {\n private static instance: DocumentManager;\n\n private constructor() {}\n\n public static async getInstance(): Promise<DocumentManager> {\n if (!DocumentManager.instance) {\n let managerInstance = new DocumentManager();\n await managerInstance.init();\n DocumentManager.instance = managerInstance;\n }\n return DocumentManager.instance;\n }\n\n public async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${DOCUMENT_TABLE} (\\\n ${DOCUMENT_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${DOCUMENT_COLUMNS.DATA} TEXT,\\\n ${DOCUMENT_COLUMNS.BASE64} INTEGER NOT NULL DEFAULT 0,\\\n ${DOCUMENT_COLUMNS.FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${DOCUMENT_COLUMNS.FILE_NAME} TEXT,\\\n ${DOCUMENT_COLUMNS.FILE_TYPE} TEXT,\\\n ${DOCUMENT_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${DOCUMENT_COLUMNS.FMS_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.PRIORITY} INTEGER NOT NULL DEFAULT 1,\\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} TEXT,\\\n ${DOCUMENT_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\\\n ${DOCUMENT_COLUMNS.GEO_TIMESTAMP} TEXT,\\\n ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DESCRIPTION} TEXT);`,\n []\n );\n }\n\n public async truncateDocumentTable(): Promise<void> {\n await Database.executeQuery(`DELETE FROM ${DOCUMENT_TABLE};`, []);\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n desc: string,\n dspID: string,\n // jobID: string,\n // objectiveRef: string,\n base64: boolean,\n fileName: string,\n fileType: string,\n data?: string | null,\n filePath?: string | null,\n geoTimeStamp?: string | null,\n processedFilePath?: string | null,\n priority?: number\n ): Promise<SQLResultSet> {\n console.log('insertDocument2:', fmsFolderID);\n return await Database.executeQuery(\n `INSERT INTO ${DOCUMENT_TABLE}(\\\n ${DOCUMENT_COLUMNS.DATA},\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID},\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID},\\\n ${DOCUMENT_COLUMNS.BASE64},\\\n ${DOCUMENT_COLUMNS.FILE_PATH},\\\n ${DOCUMENT_COLUMNS.FILE_NAME},\\\n ${DOCUMENT_COLUMNS.FILE_TYPE},\\\n ${DOCUMENT_COLUMNS.DESCRIPTION},\\\n ${DOCUMENT_COLUMNS.PRIORITY},\\\n ${DOCUMENT_COLUMNS.GEO_TIMESTAMP},\\\n ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH}) \\\n values (?,?,?,?,?,?,?,?,?,?,?)`,\n [\n data,\n dspID,\n fmsFolderID,\n base64,\n filePath,\n fileName,\n fileType,\n desc,\n priority ? priority : 1,\n geoTimeStamp,\n processedFilePath,\n ]\n );\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE};`,\n []\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.DISPATCH_ID} =?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n }\n }\n\n public async getAllUnsyncedDocs(): Promise<DocumentRow[]> {\n if(PROCESS_MAX_RETRIED_ROWS){\n let resultSet = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }else{\n let resultSet = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 AND ${DOCUMENT_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n public deleteAllSyncedDocuments(dispatchID: string) {\n return Database.executeQuery(\n `DELETE FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 1 and ${DOCUMENT_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n }\n\n public async markDocumentSynced(id: number, fmsID: string): Promise<void> {\n if (!id || !fmsID) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = 1,${DOCUMENT_COLUMNS.FMS_ID} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [fmsID, id]\n );\n }\n\n // This function will actualy update the document row with sync and attempt count.\n public async markDocumentSyncedWithAttempt(\n id: number,\n fmsID: string,\n attempt: number,\n sync: number\n ): Promise<void> {\n if (!id) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = ?,${DOCUMENT_COLUMNS.FMS_ID} = ?,${DOCUMENT_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [sync, fmsID, attempt, id]\n );\n }\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n public async updateProcesedFilePath(\n id: number,\n origialFilePath: String,\n processedFilePath: String\n ): Promise<void> {\n if (!id || !processedFilePath) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.FILE_PATH} = ?, ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [origialFilePath, processedFilePath, id]\n );\n }\n\n public async updateDocSyncError(\n id: number,\n uploadError: string\n ): Promise<void> {\n if (!id) throw new TypeError('Document ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE}\\\n SET \\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} = ?\\\n WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [uploadError, id]\n );\n }\n\n public async updateDocPriority(\n id: number,\n priority: number\n ): Promise<void> {\n if (!id) throw new TypeError('Document ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE}\\\n SET \\\n ${DOCUMENT_COLUMNS.PRIORITY} = ?\\\n WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [priority, id]\n );\n }\n\n\n public async getUnsyncedDocument(): Promise<DocumentRow[]> {\n // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.\n if(PROCESS_MAX_RETRIED_ROWS){\n let rs = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${DOCUMENT_COLUMNS.PRIORITY} ASC LIMIT 1;`,\n []\n );\n return rs.rows._array;\n }else{\n let rs = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 AND ${DOCUMENT_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \\\n ORDER BY ${DOCUMENT_COLUMNS.PRIORITY} ASC LIMIT 1;`,\n []\n );\n return rs.rows._array;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DOCUMENT_COLUMNS","DOCUMENT_TABLE","MAX_RETRY_COUNT","PROCESS_MAX_RETRIED_ROWS","Database","DocumentManager","constructor","getInstance","instance","managerInstance","init","executeQuery","ID","DATA","BASE64","FILE_PATH","DISPATCH_ID","FILE_NAME","FILE_TYPE","SYNCED","FMS_ID","FMS_FOLDER_ID","PRIORITY","SYNC_ERROR","ATTEMPT_COUNT","GEO_TIMESTAMP","PROCESSED_FILE_PATH","DESCRIPTION","truncateDocumentTable","insertDocument","fmsFolderID","desc","dspID","base64","fileName","fileType","data","filePath","geoTimeStamp","processedFilePath","priority","console","log","getAllDocuments","dispatchID","resultSet","rows","_array","getAllUnsyncedDocs","deleteAllSyncedDocuments","markDocumentSynced","id","fmsID","markDocumentSyncedWithAttempt","attempt","sync","updateProcesedFilePath","origialFilePath","updateDocSyncError","uploadError","TypeError","updateDocPriority","getUnsyncedDocument","rs","_DocumentManager","_defineProperty"],"sources":["DocumentManager.ts"],"sourcesContent":["import { DOCUMENT_COLUMNS, DOCUMENT_TABLE, DocumentRow } from '../DBConfig';\nimport { MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';\nimport * as Database from '../database';\nimport type { SQLResultSet } from 'expo-sqlite';\n\nexport default class DocumentManager {\n private static instance: DocumentManager;\n\n private constructor() { }\n\n public static async getInstance(): Promise<DocumentManager> {\n if (!DocumentManager.instance) {\n let managerInstance = new DocumentManager();\n await managerInstance.init();\n DocumentManager.instance = managerInstance;\n }\n return DocumentManager.instance;\n }\n\n public async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${DOCUMENT_TABLE} (\\\n ${DOCUMENT_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${DOCUMENT_COLUMNS.DATA} TEXT,\\\n ${DOCUMENT_COLUMNS.BASE64} INTEGER NOT NULL DEFAULT 0,\\\n ${DOCUMENT_COLUMNS.FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${DOCUMENT_COLUMNS.FILE_NAME} TEXT,\\\n ${DOCUMENT_COLUMNS.FILE_TYPE} TEXT,\\\n ${DOCUMENT_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${DOCUMENT_COLUMNS.FMS_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.PRIORITY} INTEGER NOT NULL DEFAULT 1,\\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} TEXT,\\\n ${DOCUMENT_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\\\n ${DOCUMENT_COLUMNS.GEO_TIMESTAMP} TEXT,\\\n ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DESCRIPTION} TEXT);`,\n []\n );\n }\n\n public async truncateDocumentTable(): Promise<void> {\n await Database.executeQuery(`DELETE FROM ${DOCUMENT_TABLE};`, []);\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n desc: string,\n dspID: string,\n base64: boolean,\n fileName: string,\n fileType: string,\n data?: string | null,\n filePath?: string | null,\n geoTimeStamp?: string | null,\n processedFilePath?: string | null,\n priority?: number\n ): Promise<SQLResultSet> {\n console.log('insertDocument2:', fmsFolderID);\n return await Database.executeQuery(\n `INSERT INTO ${DOCUMENT_TABLE}(\\\n ${DOCUMENT_COLUMNS.DATA},\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID},\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID},\\\n ${DOCUMENT_COLUMNS.BASE64},\\\n ${DOCUMENT_COLUMNS.FILE_PATH},\\\n ${DOCUMENT_COLUMNS.FILE_NAME},\\\n ${DOCUMENT_COLUMNS.FILE_TYPE},\\\n ${DOCUMENT_COLUMNS.DESCRIPTION},\\\n ${DOCUMENT_COLUMNS.PRIORITY},\\\n ${DOCUMENT_COLUMNS.GEO_TIMESTAMP},\\\n ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH}) \\\n values (?,?,?,?,?,?,?,?,?,?,?)`,\n [\n data,\n dspID,\n fmsFolderID,\n base64,\n filePath,\n fileName,\n fileType,\n desc,\n priority ? priority : 1,\n geoTimeStamp,\n processedFilePath,\n ]\n );\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE};`,\n []\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.DISPATCH_ID} =?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n }\n }\n\n public async getAllUnsyncedDocs(): Promise<DocumentRow[]> {\n if (PROCESS_MAX_RETRIED_ROWS) {\n let resultSet = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n } else {\n let resultSet = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 AND ${DOCUMENT_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n public deleteAllSyncedDocuments(dispatchID: string) {\n return Database.executeQuery(\n `DELETE FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 1 and ${DOCUMENT_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n }\n\n public async markDocumentSynced(id: number, fmsID: string): Promise<void> {\n if (!id || !fmsID) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = 1,${DOCUMENT_COLUMNS.FMS_ID} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [fmsID, id]\n );\n }\n\n // This function will actualy update the document row with sync and attempt count.\n public async markDocumentSyncedWithAttempt(\n id: number,\n fmsID: string,\n attempt: number,\n sync: number\n ): Promise<void> {\n if (!id) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = ?,${DOCUMENT_COLUMNS.FMS_ID} = ?,${DOCUMENT_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [sync, fmsID, attempt, id]\n );\n }\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n public async updateProcesedFilePath(\n id: number,\n origialFilePath: String,\n processedFilePath: String\n ): Promise<void> {\n if (!id || !processedFilePath) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.FILE_PATH} = ?, ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [origialFilePath, processedFilePath, id]\n );\n }\n\n public async updateDocSyncError(\n id: number,\n uploadError: string\n ): Promise<void> {\n if (!id) throw new TypeError('Document ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE}\\\n SET \\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} = ?\\\n WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [uploadError, id]\n );\n }\n\n public async updateDocPriority(\n id: number,\n priority: number\n ): Promise<void> {\n if (!id) throw new TypeError('Document ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE}\\\n SET \\\n ${DOCUMENT_COLUMNS.PRIORITY} = ?\\\n WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [priority, id]\n );\n }\n\n\n public async getUnsyncedDocument(): Promise<DocumentRow[]> {\n // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.\n if (PROCESS_MAX_RETRIED_ROWS) {\n let rs = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${DOCUMENT_COLUMNS.PRIORITY} ASC LIMIT 1;`,\n []\n );\n return rs.rows._array;\n } else {\n let rs = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 AND ${DOCUMENT_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \\\n ORDER BY ${DOCUMENT_COLUMNS.PRIORITY} ASC LIMIT 1;`,\n []\n );\n return rs.rows._array;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -136,23 +136,14 @@ export default class DocumentSyncManager {
136
136
  let leftDocuments = await this.docManager.getAllUnsyncedDocs();
137
137
  return (leftDocuments === null || leftDocuments === void 0 ? void 0 : leftDocuments.length) > 0 && this._retries < this.maxRetryCount;
138
138
  }
139
- async insertDocument(fmsFolderID, data, base64, desc, dspID,
140
- // jobID: string,
141
- // objRef: string,
142
- filePath, fileType, fileName, geoTimeStamp, processedFilePath, priority = 1) {
143
- if (isEmptyOrBlank(desc) || isEmptyOrBlank(dspID) ||
144
- // isEmptyOrBlank(jobID) ||
145
- // isEmptyOrBlank(objRef) ||
146
- isEmptyOrBlank(fileType) || isEmptyOrBlank(fileName) || base64 && isEmptyOrBlank(data) || !base64 && isEmptyOrBlank(filePath)) throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);else {
139
+ async insertDocument(fmsFolderID, data, base64, desc, dspID, filePath, fileType, fileName, geoTimeStamp, processedFilePath, priority = 1) {
140
+ if (isEmptyOrBlank(desc) || isEmptyOrBlank(dspID) || isEmptyOrBlank(fileType) || isEmptyOrBlank(fileName) || base64 && isEmptyOrBlank(data) || !base64 && isEmptyOrBlank(filePath)) throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);else {
147
141
  var _this$docManager;
148
142
  if (!this.docManager) {
149
143
  this.docManager = await DocumentManager.getInstance();
150
144
  }
151
145
  console.log('insertDocument1:', fmsFolderID);
152
- let insertResponse = await ((_this$docManager = this.docManager) === null || _this$docManager === void 0 ? void 0 : _this$docManager.insertDocument(fmsFolderID, desc, dspID,
153
- // jobID,
154
- // objRef,
155
- base64, fileName, fileType, data, filePath, geoTimeStamp, processedFilePath, priority));
146
+ let insertResponse = await ((_this$docManager = this.docManager) === null || _this$docManager === void 0 ? void 0 : _this$docManager.insertDocument(fmsFolderID, desc, dspID, base64, fileName, fileType, data, filePath, geoTimeStamp, processedFilePath, priority));
156
147
  let cta = 'insertDocument';
157
148
  fireEventWithScreenName({
158
149
  severityLevel: SeverityLevelValue.LOG,
@@ -160,10 +151,10 @@ export default class DocumentSyncManager {
160
151
  screenName: cta,
161
152
  cta: cta,
162
153
  extraParams: {
163
- msg: 'INIT DOC SYNC AGAIN'
154
+ msg: 'insertResponse ' + flattenObject(insertResponse)
164
155
  }
165
156
  });
166
- Logger.getInstance().logEvent(cta, 'INIT DOC SYNC AGAIN', LOG_TYPE.SDK_ERROR);
157
+ Logger.getInstance().logEvent(cta, 'insertResponse ' + flattenObject(insertResponse), LOG_TYPE.SDK_ERROR);
167
158
  return insertResponse;
168
159
  }
169
160
  }
@@ -173,23 +164,6 @@ export default class DocumentSyncManager {
173
164
  await this.startDocumentSync();
174
165
  }
175
166
 
176
- // private async updateDocument(documentRow: DocumentRow, fmsID: string) {
177
- // if (!this.docManager) this.docManager = await DocumentManager.getInstance();
178
- // try {
179
- // await this.docManager.markDocumentSynced(documentRow.id, fmsID);
180
- // let eventsManager = await ETEventsManager.getInstance();
181
- // let podId = POD_DOC + '_' + documentRow.id;
182
- // await eventsManager.markPODDocEventSynced(1, 1, podId);
183
- // EventsSyncManager.getInstance().startSync();
184
- // } catch (err: any) {
185
- // Logger.getInstance().logEvent(
186
- // 'updateDocument',
187
- // err.message,
188
- // LOG_TYPE.SDK_WARNING
189
- // );
190
- // }
191
- // }
192
-
193
167
  // This function will update document row with attempt count and sync status
194
168
  async updateDocumentWithAttempt(documentRow, fmsID, attempt, sync) {
195
169
  if (!this.docManager) this.docManager = await DocumentManager.getInstance();
@@ -231,7 +205,7 @@ export default class DocumentSyncManager {
231
205
  msg: flattenObject(err)
232
206
  }
233
207
  });
234
- Logger.getInstance().logEvent(cta, flattenObject(err), LOG_TYPE.SDK_WARNING);
208
+ Logger.getInstance().logEvent(cta, flattenObject(err), LOG_TYPE.SDK_ERROR);
235
209
  }
236
210
  }
237
211
 
@@ -1 +1 @@
1
- {"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","ETEventsManager","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","EventsSyncManager","Marker","Position","TextBackgroundType","ImageFormat","RNFS","Storage","Platform","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","latlngToDms","require","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","severityLevel","LOG","eventName","APP_LOG","screenName","extraParams","msg","logEvent","SDK_ERROR","error","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","InvalidArgumentError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","podId","markPODDocEventSynced","lastSyncedEventId","getSharedItem","syncEventId","parseInt","setSharedItem","startSync","err","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","_DocumentSyncManager"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, {\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":[]}
1
+ {"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","ETEventsManager","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","EventsSyncManager","Marker","Position","TextBackgroundType","ImageFormat","RNFS","Storage","Platform","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","latlngToDms","require","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","severityLevel","LOG","eventName","APP_LOG","screenName","extraParams","msg","logEvent","SDK_ERROR","error","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","InvalidArgumentError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","podId","markPODDocEventSynced","lastSyncedEventId","getSharedItem","syncEventId","parseInt","setSharedItem","startSync","err","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","ERROR","APP_ERROR","SDK_WARNING","updateDocError","uploadError","updateDocSyncError","processImageData","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","_DocumentSyncManager"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, { Position, TextBackgroundType, ImageFormat } from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] = await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No data to sync'\n },\n });\n Logger.getInstance().logEvent(cta, 'No data to sync', LOG_TYPE.SDK_ERROR);\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n let cta = 'startDocumentSync-error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(error)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);\n else {\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:', fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'insertResponse ' + flattenObject(insertResponse)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'insertResponse ' + flattenObject(insertResponse),\n LOG_TYPE.SDK_ERROR\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n // This function will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if (sync == 1) {\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n let cta = 'updateDocumentWithAttempt'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n let cta = 'updateDocument-updateDocumentProcessedPath'\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":[]}
@@ -139,7 +139,7 @@ const StartWorkFlowScreen = ({
139
139
  }
140
140
  } catch (error) {
141
141
  baseETProps.showProgress(false);
142
- navigateWithError(ErrorCodes.UNEXPECTED_ERROR, error.message);
142
+ navigateWithError((error === null || error === void 0 ? void 0 : error.code) ?? ErrorCodes.UNEXPECTED_ERROR, error.message);
143
143
  Logger.getInstance().logEvent(TAG, error.message, LOG_TYPE.SDK_ERROR);
144
144
  }
145
145
  })();
@@ -1 +1 @@
1
- {"version":3,"names":["withBaseDispatchScreen","Platform","StyleSheet","Text","View","React","useCallback","useEffect","DispatchStateContainer","LocationManager","EntityCode","ExecutionTaskID","getBaseETResponse","onTaskStart","getEventCodeByET","RouteParams","isMandatoryKeysPresent","Logger","LOG_TYPE","SdkUtils","showAlert","ErrorCodes","MultiObjectiveError","NativeSyncManager","AppSyncManager","IDispatchExecutor","instance","getInstance","TAG","StartWorkFlowScreen","baseETProps","route","navigation","showAlertMessage","errorMessage","title","goBack","navigateWithError","errorCode","params","initRoute","navigate","name","sdkError","code","message","merge","showProgress","checkMandatory","checkForLocationPermissions","InvalidArgumentError","OS","stopSyncManager","isForceStartEnabled","isSyncActive","setSuccessRoute","successRoute","setFailureRoute","failureRoute","stateKeys","mappedStates","clear","statusFilter","mergedWI","prefixedMergedObjectiveId","mwId","nextStateData","queryNextET","taskId","COLLECT_PAYMENT_ET","paymentConfig","updatedStatusFilter","includes","ExecutionStatus","COMPLETED_FAILURE","READY","IN_PROGRESS","ROOT_META_DATA","meta","customEventsData","Object","keys","length","_nextStateData$meta","wfMeta","workflow","enableMultiObjectiveFlow","undefined","MULTI_OBJECTIVE_ERROR","START_WORKFLOW","_input$applicableReas","_input$applicableReas2","mergedObjectiveIds","_input","input","_appRC","success","applicableReasons","failure","etResponse","NEXT_STATES","navigateToNextTask","rParams","replace","EXECUTION_ENGINE_ERROR","LOCATION_PERMISSION_DENIED","error","UNEXPECTED_ERROR","logEvent","SDK_ERROR","createElement","style","styles","container","create","flex","justifyContent","alignItems"],"sources":["StartWorkFlowScreen.tsx"],"sourcesContent":["import withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport { Platform, StyleSheet, Text, View } from 'react-native';\nimport React, { useCallback, useEffect } from 'react';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport type { BaseETProps } from '../../models/DispatchModels';\nimport LocationManager from '../../manager/location/LocationManager';\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\nimport { getBaseETResponse, onTaskStart } from '../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../manager/dispatchCodes/EventCodeContainer';\nimport { RouteParams } from '../uiConfig/RouteParams';\nimport { isMandatoryKeysPresent } from '../../utils/utils';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport SdkUtils from '../../utils/SdkUtils';\nimport { showAlert } from '../../components/widgets/AlertDisplay';\nimport ErrorCodes, { MultiObjectiveError } from '../../errors/ErrorCodes';\nimport NativeSyncManager from '../../manager/syncmanager/NativeSyncManager';\nimport AppSyncManager from '../../manager/syncmanager/AppSyncManager';\nimport {\n IDispatch,\n IDispatchExecutor,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\n\nconst instance = DispatchStateContainer.getInstance();\nconst TAG = 'StartWorkFlowScreen';\n\nconst StartWorkFlowScreen = ({\n baseETProps,\n route,\n navigation,\n}: {\n baseETProps: BaseETProps;\n route: any;\n navigation: any;\n}) => {\n const showAlertMessage = useCallback(\n (errorMessage: string, title: string) => {\n showAlert(title, errorMessage, false, 'OK', () => {\n navigation.goBack();\n });\n },\n [navigation]\n );\n const navigateWithError = useCallback(\n (errorCode: string, errorMessage: string) => {\n if (route.params.initRoute) {\n navigation.navigate({\n name: route.params.initRoute,\n params: { sdkError: { code: errorCode, message: errorMessage } },\n merge: true,\n });\n } else {\n showAlertMessage(errorMessage, 'Error');\n }\n },\n [navigation, route.params.initRoute, showAlertMessage]\n );\n useEffect(() => {\n (async () => {\n try {\n baseETProps.showProgress(true);\n await SdkUtils.checkMandatory();\n if (await LocationManager.getInstance().checkForLocationPermissions()) {\n if (\n !isMandatoryKeysPresent(route.params, [\n 'success',\n // 'objectives',\n 'successRoute',\n 'failureRoute',\n 'mergedWI',\n ])\n ) {\n navigateWithError(\n ErrorCodes.InvalidArgumentError,\n 'Missing or Invalid Route Params'\n );\n return;\n }\n if (Platform.OS === 'android') {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isForceStartEnabled = false;\n AppSyncManager.getInstance().isSyncActive = true;\n }\n\n instance.setSuccessRoute(route.params.successRoute);\n instance.setFailureRoute(route.params.failureRoute);\n // instance._jobObjectives = route.params.objectives;\n /**\n * Clear all prev state and Map before starting new objective / Merged Objective\n */\n instance.stateKeys = [];\n instance.mappedStates.clear();\n /* let nextStateList = await instance.bulkQueryNextET(\n route.params.objectives\n ); */\n\n // const statusFilter =\n // route.params.mergedWI.statusFilter.indexOf(\n // IDispatchExecutor.ExecutionStatus.COMPLETED_FAILURE\n // ) === -1\n // ? route.params.mergedWI.statusFilter\n // : [\n // IDispatchExecutor.ExecutionStatus.READY,\n // IDispatchExecutor.ExecutionStatus.IN_PROGRESS,\n // ];\n const statusFilter = route.params.mergedWI.statusFilter;\n\n const prefixedMergedObjectiveId: string = route.params.mergedWI.mwId;\n let nextStateData: IDispatch.IExecutionTaskQueryResponse = (\n await instance.queryNextET(\n [prefixedMergedObjectiveId],\n statusFilter\n )\n )[0];\n\n if (\n nextStateData.taskId === ExecutionTaskID.COLLECT_PAYMENT_ET &&\n (!isMandatoryKeysPresent(route.params, ['paymentConfig']) ||\n !isMandatoryKeysPresent(route.params.paymentConfig, [\n 'paymentRefId',\n ]))\n ) {\n navigateWithError(\n ErrorCodes.InvalidArgumentError,\n 'Missing or Invalid Route Params'\n );\n return;\n }\n\n let updatedStatusFilter: IDispatchExecutor.ExecutionStatus[] = [];\n\n if (\n statusFilter.includes(\n `${IDispatchExecutor.ExecutionStatus.COMPLETED_FAILURE}`\n )\n ) {\n route.params.mergedWI.statusFilter = [\n IDispatchExecutor.ExecutionStatus.READY,\n IDispatchExecutor.ExecutionStatus.IN_PROGRESS,\n ];\n updatedStatusFilter = [\n IDispatchExecutor.ExecutionStatus.READY,\n IDispatchExecutor.ExecutionStatus.IN_PROGRESS,\n ];\n } else {\n updatedStatusFilter = [...statusFilter];\n }\n\n route.params[RouteParams.ROOT_META_DATA] = {\n meta: route.params.meta || {},\n customEventsData: route.params.mergedWI.customEventsData,\n statusFilter: updatedStatusFilter,\n prefixedMergedObjectiveId,\n paymentConfig: route.params.paymentConfig,\n };\n\n // if (nextStateList != null && nextStateList.length > 0) {\n if (nextStateData != null && Object.keys(nextStateData).length > 0) {\n /* const wfMeta = JSON.parse(\n nextStateList[0].nextState.data?.wfMeta || '{}'\n ); */\n\n const wfMeta = nextStateData.meta?.workflow;\n if (\n wfMeta?.enableMultiObjectiveFlow !== undefined &&\n wfMeta?.enableMultiObjectiveFlow === false\n ) {\n navigateWithError(\n ErrorCodes.MULTI_OBJECTIVE_ERROR,\n MultiObjectiveError\n );\n }\n if (nextStateData.taskId === ExecutionTaskID.START_WORKFLOW) {\n const mergedObjectiveIds = nextStateData.mergedObjectiveIds;\n onTaskStart(\n nextStateData,\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n const _input: any = nextStateData.input;\n const _appRC = route.params.success\n ? _input?.applicableReasons?.success\n : _input?.applicableReasons?.failure;\n let etResponse = {\n ...(await getBaseETResponse(\n EntityCode.START_WORKFLOW,\n route.params.success,\n getEventCodeByET(\n ExecutionTaskID.START_WORKFLOW,\n route.params.success,\n _appRC\n ),\n '',\n mergedObjectiveIds,\n ExecutionTaskID.START_WORKFLOW\n )),\n };\n\n route.params[RouteParams.NEXT_STATES] = nextStateData;\n await instance.navigateToNextTask(\n navigation,\n route,\n etResponse,\n route.params.success,\n EntityCode.START_WORKFLOW,\n ExecutionTaskID.START_WORKFLOW,\n baseETProps,\n false\n );\n } else {\n let rParams: any = {};\n rParams[RouteParams.NEXT_STATES] = nextStateData;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n navigation.replace(nextStateData.taskId, rParams);\n }\n } else {\n navigateWithError(\n ErrorCodes.EXECUTION_ENGINE_ERROR,\n 'Unable to start the given objective'\n );\n }\n } else {\n navigateWithError(\n ErrorCodes.LOCATION_PERMISSION_DENIED,\n 'Please enable Location permissions'\n );\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n navigateWithError(ErrorCodes.UNEXPECTED_ERROR, error.message);\n Logger.getInstance().logEvent(TAG, error.message, LOG_TYPE.SDK_ERROR);\n }\n })();\n }, []);\n return (\n <View style={styles.container}>\n <Text>Please wait...</Text>\n </View>\n );\n};\nexport default withBaseDispatchScreen(StartWorkFlowScreen);\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["withBaseDispatchScreen","Platform","StyleSheet","Text","View","React","useCallback","useEffect","DispatchStateContainer","LocationManager","EntityCode","ExecutionTaskID","getBaseETResponse","onTaskStart","getEventCodeByET","RouteParams","isMandatoryKeysPresent","Logger","LOG_TYPE","SdkUtils","showAlert","ErrorCodes","MultiObjectiveError","NativeSyncManager","AppSyncManager","IDispatchExecutor","instance","getInstance","TAG","StartWorkFlowScreen","baseETProps","route","navigation","showAlertMessage","errorMessage","title","goBack","navigateWithError","errorCode","params","initRoute","navigate","name","sdkError","code","message","merge","showProgress","checkMandatory","checkForLocationPermissions","InvalidArgumentError","OS","stopSyncManager","isForceStartEnabled","isSyncActive","setSuccessRoute","successRoute","setFailureRoute","failureRoute","stateKeys","mappedStates","clear","statusFilter","mergedWI","prefixedMergedObjectiveId","mwId","nextStateData","queryNextET","taskId","COLLECT_PAYMENT_ET","paymentConfig","updatedStatusFilter","includes","ExecutionStatus","COMPLETED_FAILURE","READY","IN_PROGRESS","ROOT_META_DATA","meta","customEventsData","Object","keys","length","_nextStateData$meta","wfMeta","workflow","enableMultiObjectiveFlow","undefined","MULTI_OBJECTIVE_ERROR","START_WORKFLOW","_input$applicableReas","_input$applicableReas2","mergedObjectiveIds","_input","input","_appRC","success","applicableReasons","failure","etResponse","NEXT_STATES","navigateToNextTask","rParams","replace","EXECUTION_ENGINE_ERROR","LOCATION_PERMISSION_DENIED","error","UNEXPECTED_ERROR","logEvent","SDK_ERROR","createElement","style","styles","container","create","flex","justifyContent","alignItems"],"sources":["StartWorkFlowScreen.tsx"],"sourcesContent":["import withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport { Platform, StyleSheet, Text, View } from 'react-native';\nimport React, { useCallback, useEffect } from 'react';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport type { BaseETProps } from '../../models/DispatchModels';\nimport LocationManager from '../../manager/location/LocationManager';\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\nimport { getBaseETResponse, onTaskStart } from '../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../manager/dispatchCodes/EventCodeContainer';\nimport { RouteParams } from '../uiConfig/RouteParams';\nimport { isMandatoryKeysPresent } from '../../utils/utils';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport SdkUtils from '../../utils/SdkUtils';\nimport { showAlert } from '../../components/widgets/AlertDisplay';\nimport ErrorCodes, { MultiObjectiveError } from '../../errors/ErrorCodes';\nimport NativeSyncManager from '../../manager/syncmanager/NativeSyncManager';\nimport AppSyncManager from '../../manager/syncmanager/AppSyncManager';\nimport {\n IDispatch,\n IDispatchExecutor,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\n\nconst instance = DispatchStateContainer.getInstance();\nconst TAG = 'StartWorkFlowScreen';\n\nconst StartWorkFlowScreen = ({\n baseETProps,\n route,\n navigation,\n}: {\n baseETProps: BaseETProps;\n route: any;\n navigation: any;\n}) => {\n const showAlertMessage = useCallback(\n (errorMessage: string, title: string) => {\n showAlert(title, errorMessage, false, 'OK', () => {\n navigation.goBack();\n });\n },\n [navigation]\n );\n const navigateWithError = useCallback(\n (errorCode: string, errorMessage: string) => {\n if (route.params.initRoute) {\n navigation.navigate({\n name: route.params.initRoute,\n params: { sdkError: { code: errorCode, message: errorMessage } },\n merge: true,\n });\n } else {\n showAlertMessage(errorMessage, 'Error');\n }\n },\n [navigation, route.params.initRoute, showAlertMessage]\n );\n useEffect(() => {\n (async () => {\n try {\n baseETProps.showProgress(true);\n await SdkUtils.checkMandatory();\n if (await LocationManager.getInstance().checkForLocationPermissions()) {\n if (\n !isMandatoryKeysPresent(route.params, [\n 'success',\n // 'objectives',\n 'successRoute',\n 'failureRoute',\n 'mergedWI',\n ])\n ) {\n navigateWithError(\n ErrorCodes.InvalidArgumentError,\n 'Missing or Invalid Route Params'\n );\n return;\n }\n if (Platform.OS === 'android') {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isForceStartEnabled = false;\n AppSyncManager.getInstance().isSyncActive = true;\n }\n\n instance.setSuccessRoute(route.params.successRoute);\n instance.setFailureRoute(route.params.failureRoute);\n // instance._jobObjectives = route.params.objectives;\n /**\n * Clear all prev state and Map before starting new objective / Merged Objective\n */\n instance.stateKeys = [];\n instance.mappedStates.clear();\n /* let nextStateList = await instance.bulkQueryNextET(\n route.params.objectives\n ); */\n\n // const statusFilter =\n // route.params.mergedWI.statusFilter.indexOf(\n // IDispatchExecutor.ExecutionStatus.COMPLETED_FAILURE\n // ) === -1\n // ? route.params.mergedWI.statusFilter\n // : [\n // IDispatchExecutor.ExecutionStatus.READY,\n // IDispatchExecutor.ExecutionStatus.IN_PROGRESS,\n // ];\n const statusFilter = route.params.mergedWI.statusFilter;\n\n const prefixedMergedObjectiveId: string = route.params.mergedWI.mwId;\n let nextStateData: IDispatch.IExecutionTaskQueryResponse = (\n await instance.queryNextET(\n [prefixedMergedObjectiveId],\n statusFilter\n )\n )[0];\n\n if (\n nextStateData.taskId === ExecutionTaskID.COLLECT_PAYMENT_ET &&\n (!isMandatoryKeysPresent(route.params, ['paymentConfig']) ||\n !isMandatoryKeysPresent(route.params.paymentConfig, [\n 'paymentRefId',\n ]))\n ) {\n navigateWithError(\n ErrorCodes.InvalidArgumentError,\n 'Missing or Invalid Route Params'\n );\n return;\n }\n\n let updatedStatusFilter: IDispatchExecutor.ExecutionStatus[] = [];\n\n if (\n statusFilter.includes(\n `${IDispatchExecutor.ExecutionStatus.COMPLETED_FAILURE}`\n )\n ) {\n route.params.mergedWI.statusFilter = [\n IDispatchExecutor.ExecutionStatus.READY,\n IDispatchExecutor.ExecutionStatus.IN_PROGRESS,\n ];\n updatedStatusFilter = [\n IDispatchExecutor.ExecutionStatus.READY,\n IDispatchExecutor.ExecutionStatus.IN_PROGRESS,\n ];\n } else {\n updatedStatusFilter = [...statusFilter];\n }\n\n route.params[RouteParams.ROOT_META_DATA] = {\n meta: route.params.meta || {},\n customEventsData: route.params.mergedWI.customEventsData,\n statusFilter: updatedStatusFilter,\n prefixedMergedObjectiveId,\n paymentConfig: route.params.paymentConfig,\n };\n\n // if (nextStateList != null && nextStateList.length > 0) {\n if (nextStateData != null && Object.keys(nextStateData).length > 0) {\n /* const wfMeta = JSON.parse(\n nextStateList[0].nextState.data?.wfMeta || '{}'\n ); */\n\n const wfMeta = nextStateData.meta?.workflow;\n if (\n wfMeta?.enableMultiObjectiveFlow !== undefined &&\n wfMeta?.enableMultiObjectiveFlow === false\n ) {\n navigateWithError(\n ErrorCodes.MULTI_OBJECTIVE_ERROR,\n MultiObjectiveError\n );\n }\n if (nextStateData.taskId === ExecutionTaskID.START_WORKFLOW) {\n const mergedObjectiveIds = nextStateData.mergedObjectiveIds;\n onTaskStart(\n nextStateData,\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n const _input: any = nextStateData.input;\n const _appRC = route.params.success\n ? _input?.applicableReasons?.success\n : _input?.applicableReasons?.failure;\n let etResponse = {\n ...(await getBaseETResponse(\n EntityCode.START_WORKFLOW,\n route.params.success,\n getEventCodeByET(\n ExecutionTaskID.START_WORKFLOW,\n route.params.success,\n _appRC\n ),\n '',\n mergedObjectiveIds,\n ExecutionTaskID.START_WORKFLOW\n )),\n };\n\n route.params[RouteParams.NEXT_STATES] = nextStateData;\n await instance.navigateToNextTask(\n navigation,\n route,\n etResponse,\n route.params.success,\n EntityCode.START_WORKFLOW,\n ExecutionTaskID.START_WORKFLOW,\n baseETProps,\n false\n );\n } else {\n let rParams: any = {};\n rParams[RouteParams.NEXT_STATES] = nextStateData;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n navigation.replace(nextStateData.taskId, rParams);\n }\n } else {\n navigateWithError(\n ErrorCodes.EXECUTION_ENGINE_ERROR,\n 'Unable to start the given objective'\n );\n }\n } else {\n navigateWithError(\n ErrorCodes.LOCATION_PERMISSION_DENIED,\n 'Please enable Location permissions'\n );\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n navigateWithError(error?.code ?? ErrorCodes.UNEXPECTED_ERROR, error.message);\n Logger.getInstance().logEvent(TAG, error.message, LOG_TYPE.SDK_ERROR);\n }\n })();\n }, []);\n return (\n <View style={styles.container}>\n <Text>Please wait...</Text>\n </View>\n );\n};\nexport default withBaseDispatchScreen(StartWorkFlowScreen);\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n"],"mappings":"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","ignoreList":[]}