@os1-platform/dispatch-mobile 2.1.6 → 2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js +11 -2
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +6 -2
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js +3 -0
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js.map +1 -1
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +8 -1
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +16 -15
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +9 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager/location/LocationManager.js +9 -2
- package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +3 -3
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js +8 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/DBConfig.js +3 -1
- package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +77 -3
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +17 -3
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +206 -6
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/models/sdk.js.map +1 -1
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/SyncManagerUtils.js +12 -2
- package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
- package/lib/commonjs/utils/utils.js +24 -0
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/module/analytics/firebase/FirebaseLogging.js +11 -2
- package/lib/module/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js +6 -2
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
- package/lib/module/analytics/sentry/SentrySdkConstants.js +3 -0
- package/lib/module/analytics/sentry/SentrySdkConstants.js.map +1 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js +8 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureSchema.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +16 -15
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +9 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager/location/LocationManager.js +9 -2
- package/lib/module/manager/location/LocationManager.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +3 -3
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/sdk/callbacksHandler.js +8 -1
- package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/module/manager/syncmanager/DBConfig.js +3 -1
- package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +77 -3
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js +17 -3
- package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +207 -7
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/models/sdk.js.map +1 -1
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/SyncManagerUtils.js +12 -2
- package/lib/module/utils/SyncManagerUtils.js.map +1 -1
- package/lib/module/utils/utils.js +22 -0
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/typescript/analytics/sentry/SentrySdkConstants.d.ts +3 -0
- package/lib/typescript/components/executiontasks/imageCapture/CaptureSchema.d.ts +4 -0
- package/lib/typescript/components/executiontasks/imageCapture/CaptureUtils.d.ts +7 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/manager/location/LocationManager.d.ts +1 -0
- package/lib/typescript/manager/sdk/callbacksHandler.d.ts +3 -1
- package/lib/typescript/manager/syncmanager/DBConfig.d.ts +4 -0
- package/lib/typescript/manager/syncmanager/document/DocumentManager.d.ts +3 -1
- package/lib/typescript/manager/syncmanager/document/DocumentSyncManager.d.ts +5 -1
- package/lib/typescript/models/sdk.d.ts +1 -0
- package/lib/typescript/utils/SyncManagerUtils.d.ts +1 -1
- package/lib/typescript/utils/utils.d.ts +4 -0
- package/package.json +6 -5
- package/src/analytics/firebase/FirebaseLogging.ts +22 -10
- package/src/analytics/sentry/SentryAnalyticsUtils.ts +8 -2
- package/src/analytics/sentry/SentrySdkConstants.ts +3 -0
- package/src/components/executiontasks/doodle/SignatureET.tsx +14 -1
- package/src/components/executiontasks/imageCapture/CaptureSchema.ts +4 -0
- package/src/components/executiontasks/imageCapture/CaptureUtils.ts +32 -17
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +10 -2
- package/src/index.tsx +2 -0
- package/src/manager/location/LocationManager.ts +8 -1
- package/src/manager/sdk/DispatchSDKManager.ts +8 -2
- package/src/manager/sdk/callbacksHandler.ts +12 -1
- package/src/manager/syncmanager/DBConfig.ts +4 -0
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +105 -5
- package/src/manager/syncmanager/document/DocumentManager.ts +28 -2
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +230 -5
- package/src/models/sdk.ts +1 -0
- package/src/utils/ExecTaskUtils.ts +1 -1
- package/src/utils/SyncManagerUtils.ts +20 -2
- package/src/utils/utils.ts +23 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Location","Accuracy","Logger","LOG_TYPE","LocationManager","constructor","_defineProperty","checkForLocationPermissions","permissionResponse","getForegroundPermissionsAsync","status","startUpdates","requestForegroundPermissionsAsync","stopLocationUpdates","getInstance","instance","watchPositionAsync","accuracy","Highest","timeInterval","distanceInterval","location","lastLocation","then","r","stopUpdate","catch","error","logEvent","message","SDK_WARNING","getLastLocation","coords","
|
|
1
|
+
{"version":3,"names":["Location","Accuracy","Logger","LOG_TYPE","LocationManager","constructor","_defineProperty","checkForLocationPermissions","permissionResponse","getForegroundPermissionsAsync","status","startUpdates","requestForegroundPermissionsAsync","stopLocationUpdates","getInstance","instance","watchPositionAsync","accuracy","Highest","timeInterval","distanceInterval","location","lastLocation","then","r","stopUpdate","catch","error","logEvent","message","SDK_WARNING","getLastLocation","coords","accuracyVal","Math","round","toString","latitude","longitude","remove","_class"],"sources":["LocationManager.ts"],"sourcesContent":["import * as Location from 'expo-location';\nimport { Accuracy, LocationObject } from 'expo-location';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\n\nexport default class LocationManager {\n private static instance: LocationManager;\n private lastLocation: LocationObject | null = null;\n private stopUpdate: { remove(): void } | undefined;\n\n public async checkForLocationPermissions(): Promise<boolean> {\n let permissionResponse = await Location.getForegroundPermissionsAsync();\n if (permissionResponse.status === 'granted') {\n this.startUpdates();\n return true;\n } else {\n let { status } = await Location.requestForegroundPermissionsAsync();\n if (status === 'granted') {\n this.startUpdates();\n return true;\n } else {\n this.stopLocationUpdates();\n return false;\n }\n }\n }\n\n public static getInstance(): LocationManager {\n if (!LocationManager.instance) {\n LocationManager.instance = new LocationManager();\n }\n return LocationManager.instance;\n }\n public startUpdates() {\n Location.watchPositionAsync(\n {\n accuracy: Accuracy.Highest,\n timeInterval: 10000, // in millis\n distanceInterval: 10, //in metres\n },\n (location) => {\n if (location != null) {\n this.lastLocation = location;\n }\n }\n )\n .then((r) => {\n this.stopUpdate = r;\n })\n .catch((error) => {\n Logger.getInstance().logEvent(\n 'LOCATION_MANAGER',\n error.message,\n LOG_TYPE.SDK_WARNING\n );\n });\n }\n public getLastLocation(): DLocation {\n if (this.lastLocation != null && this.lastLocation.coords != null) {\n let accuracy = '';\n if (this.lastLocation.coords.accuracy !== null) {\n let accuracyVal = Math.round(this.lastLocation.coords.accuracy);\n accuracy = accuracyVal.toString();\n }\n return {\n latitude: this.lastLocation.coords.latitude.toString(),\n longitude: this.lastLocation.coords.longitude.toString(),\n accuracy: accuracy,\n };\n } else {\n return { latitude: 'null', longitude: 'null', accuracy: 'null' };\n }\n }\n public stopLocationUpdates() {\n try {\n if (this.stopUpdate) this.stopUpdate.remove();\n } catch (error: any) {}\n }\n}\n\nexport interface DLocation {\n latitude: string;\n longitude: string;\n accuracy: string;\n}\n"],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ export class DispatchSDKManager {
|
|
|
35
35
|
* @param sdkConfig
|
|
36
36
|
*/
|
|
37
37
|
async initDispatchSDK(sdkConfig) {
|
|
38
|
-
var _sdkConfig$sentry, _sdkConfig$callbacks;
|
|
38
|
+
var _sdkConfig$sentry, _sdkConfig$callbacks, _sdkConfig$callbacks2;
|
|
39
39
|
if (!isMandatoryKeysPresent(sdkConfig, ['tenantID', 'userID', 'userName', 'tenantBaseURL', 'accessToken'])) {
|
|
40
40
|
throw new BaseError(ErrorCodes.InvalidArgumentError, 'Invalid/Missing Argument Passed in SdkConfig');
|
|
41
41
|
}
|
|
@@ -61,8 +61,8 @@ export class DispatchSDKManager {
|
|
|
61
61
|
await ReasonCodeContainer.getInstance().fetchReasonCode();
|
|
62
62
|
Logger.getInstance().setLogging(sdkConfig.enableLogging ?? true, sdkConfig);
|
|
63
63
|
let storage = Storage.getInstance();
|
|
64
|
-
if ((_sdkConfig$callbacks = sdkConfig.callbacks) !== null && _sdkConfig$callbacks !== void 0 && _sdkConfig$callbacks.fetchPhoneNumbersCallback) {
|
|
65
|
-
await callbackHandler.init(sdkConfig.callbacks.fetchPhoneNumbersCallback);
|
|
64
|
+
if ((_sdkConfig$callbacks = sdkConfig.callbacks) !== null && _sdkConfig$callbacks !== void 0 && _sdkConfig$callbacks.fetchPhoneNumbersCallback && sdkConfig !== null && sdkConfig !== void 0 && (_sdkConfig$callbacks2 = sdkConfig.callbacks) !== null && _sdkConfig$callbacks2 !== void 0 && _sdkConfig$callbacks2.fetchDateTimeCallback) {
|
|
65
|
+
await callbackHandler.init(sdkConfig.callbacks.fetchPhoneNumbersCallback, sdkConfig.callbacks.fetchDateTimeCallback);
|
|
66
66
|
}
|
|
67
67
|
await dispatchExecutor.init({
|
|
68
68
|
storeMultipleKeysCallback: storage.setSharedItems,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DispatchSdkCache","LocationManager","AppSyncManager","Logger","ReasonCodeContainer","GraphQLClient","isMandatoryKeysPresent","isTokenExpired","BaseError","ErrorCodes","SdkUtils","Sentry","EventCodeRepo","Storage","pushBulkEventForSync","callbackHandler","DispatchExecutor","dispatchExecutor","DispatchSDKManager","constructor","_defineProperty","getInstance","KEYS","instance","initDispatchSDK","sdkConfig","_sdkConfig$sentry","_sdkConfig$callbacks","InvalidArgumentError","accessToken","ACCESS_TOKEN_EXPIRED","sentry","enabled","init","enableNative","environment","env","dsn","tracesSampleRate","checkMandatory","cache","setObjectInCache","keys","SDK_CONFIG","tenantBaseURL","initAppSync","syncRetryCount","startUpdates","eventMapping","saveEventCode","fetchReasonCode","setLogging","enableLogging","storage","callbacks","fetchPhoneNumbersCallback","storeMultipleKeysCallback","setSharedItems","readMultipleKeysCallback","getSharedItems","deleteMultipleKeysCallback","removeSharedItems","eventBulkSyncCallback","debugLevelLog","startSDKSyncManager","removeLocationUpdates","stopLocationUpdates","_class"],"sources":["DispatchSDKManager.ts"],"sourcesContent":["import DispatchSdkCache from './DispatchSdkCache';\nimport LocationManager from '../location/LocationManager';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport Logger from '../../utils/Logger';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport GraphQLClient from '../../network/GraphQLClient';\nimport { isMandatoryKeysPresent, isTokenExpired } from '../../utils/utils';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport SdkUtils from '../../utils/SdkUtils';\nimport * as Sentry from '@sentry/react-native';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport EventCodeRepo from '../dispatchCodes/EventCodeRepo';\nimport Storage from '../../utils/storage';\nimport { pushBulkEventForSync } from '../../utils/SyncManagerUtils';\nimport callbackHandler from './callbacksHandler';\nimport { DispatchExecutor as dispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\n\nexport class DispatchSDKManager {\n private static instance: DispatchSDKManager;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private keys = DispatchSdkCache.KEYS;\n\n private constructor() {}\n\n public static getInstance(): DispatchSDKManager {\n if (!DispatchSDKManager.instance) {\n DispatchSDKManager.instance = new DispatchSDKManager();\n }\n return DispatchSDKManager.instance;\n }\n\n /**\n * Call this init method with username,userID & authentication tokens\n * @param sdkConfig\n */\n public async initDispatchSDK(sdkConfig: DispatchSDKConfig) {\n if (\n !isMandatoryKeysPresent(sdkConfig, [\n 'tenantID',\n 'userID',\n 'userName',\n 'tenantBaseURL',\n 'accessToken',\n ])\n ) {\n throw new BaseError(\n ErrorCodes.InvalidArgumentError,\n 'Invalid/Missing Argument Passed in SdkConfig'\n );\n }\n if (isTokenExpired(sdkConfig.accessToken)) {\n throw new BaseError(\n ErrorCodes.ACCESS_TOKEN_EXPIRED,\n 'JWT Token Expired!'\n );\n }\n if (sdkConfig.sentry && sdkConfig.sentry?.enabled) {\n Sentry.init({\n enableNative: true,\n environment: sdkConfig.sentry.env,\n dsn: sdkConfig.sentry.dsn,\n tracesSampleRate: 1.0,\n });\n }\n await SdkUtils.checkMandatory();\n await this.cache.setObjectInCache(this.keys.SDK_CONFIG, sdkConfig);\n GraphQLClient.init(sdkConfig.tenantBaseURL);\n AppSyncManager.initAppSync(\n sdkConfig.tenantBaseURL,\n sdkConfig.syncRetryCount ?? 3\n );\n LocationManager.getInstance().startUpdates();\n if (sdkConfig.eventMapping) {\n EventCodeRepo.getInstance().saveEventCode(sdkConfig.eventMapping);\n }\n await ReasonCodeContainer.getInstance().fetchReasonCode();\n Logger.getInstance().setLogging(sdkConfig.enableLogging ?? true, sdkConfig);\n let storage = Storage.getInstance();\n\n if (sdkConfig.callbacks?.fetchPhoneNumbersCallback) {\n await callbackHandler.init(sdkConfig.callbacks.fetchPhoneNumbersCallback);\n }\n await dispatchExecutor.init(\n {\n storeMultipleKeysCallback: storage.setSharedItems,\n readMultipleKeysCallback: storage.getSharedItems,\n deleteMultipleKeysCallback: storage.removeSharedItems,\n eventBulkSyncCallback: pushBulkEventForSync,\n },\n sdkConfig.debugLevelLog ? 'debug' : 'emerg'\n );\n AppSyncManager.getInstance().startSDKSyncManager();\n }\n\n public removeLocationUpdates() {\n LocationManager.getInstance().stopLocationUpdates();\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,cAAc,MAAM,+BAA+B;AAC1D,OAAOC,MAAM,MAAM,oBAAoB;AACvC,OAAOC,mBAAmB,MAAM,sCAAsC;AACtE,OAAOC,aAAa,MAAM,6BAA6B;AACvD,SAASC,sBAAsB,EAAEC,cAAc,QAAQ,mBAAmB;AAC1E,SAASC,SAAS,QAAQ,wBAAwB;AAClD,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,OAAO,KAAKC,MAAM,MAAM,sBAAsB;AAE9C,OAAOC,aAAa,MAAM,gCAAgC;AAC1D,OAAOC,OAAO,MAAM,qBAAqB;AACzC,SAASC,oBAAoB,QAAQ,8BAA8B;AACnE,OAAOC,eAAe,MAAM,oBAAoB;AAChD,SAASC,gBAAgB,IAAIC,gBAAgB,QAAQ,oDAAoD;AAEzG,OAAO,MAAMC,kBAAkB,CAAC;EAKtBC,WAAWA,CAAA,EAAG;IAAAC,eAAA,gBAHYpB,gBAAgB,CAACqB,WAAW,CAAC,CAAC;IAAAD,eAAA,eACjDpB,gBAAgB,CAACsB,IAAI;EAEb;EAEvB,OAAcD,WAAWA,CAAA,EAAuB;IAC9C,IAAI,CAACH,kBAAkB,CAACK,QAAQ,EAAE;MAChCL,kBAAkB,CAACK,QAAQ,GAAG,IAAIL,kBAAkB,CAAC,CAAC;IACxD;IACA,OAAOA,kBAAkB,CAACK,QAAQ;EACpC;;EAEA;AACF;AACA;AACA;EACE,MAAaC,eAAeA,CAACC,SAA4B,EAAE;IAAA,IAAAC,iBAAA,EAAAC,oBAAA;IACzD,IACE,
|
|
1
|
+
{"version":3,"names":["DispatchSdkCache","LocationManager","AppSyncManager","Logger","ReasonCodeContainer","GraphQLClient","isMandatoryKeysPresent","isTokenExpired","BaseError","ErrorCodes","SdkUtils","Sentry","EventCodeRepo","Storage","pushBulkEventForSync","callbackHandler","DispatchExecutor","dispatchExecutor","DispatchSDKManager","constructor","_defineProperty","getInstance","KEYS","instance","initDispatchSDK","sdkConfig","_sdkConfig$sentry","_sdkConfig$callbacks","_sdkConfig$callbacks2","InvalidArgumentError","accessToken","ACCESS_TOKEN_EXPIRED","sentry","enabled","init","enableNative","environment","env","dsn","tracesSampleRate","checkMandatory","cache","setObjectInCache","keys","SDK_CONFIG","tenantBaseURL","initAppSync","syncRetryCount","startUpdates","eventMapping","saveEventCode","fetchReasonCode","setLogging","enableLogging","storage","callbacks","fetchPhoneNumbersCallback","fetchDateTimeCallback","storeMultipleKeysCallback","setSharedItems","readMultipleKeysCallback","getSharedItems","deleteMultipleKeysCallback","removeSharedItems","eventBulkSyncCallback","debugLevelLog","startSDKSyncManager","removeLocationUpdates","stopLocationUpdates","_class"],"sources":["DispatchSDKManager.ts"],"sourcesContent":["import DispatchSdkCache from './DispatchSdkCache';\nimport LocationManager from '../location/LocationManager';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport Logger from '../../utils/Logger';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport GraphQLClient from '../../network/GraphQLClient';\nimport { isMandatoryKeysPresent, isTokenExpired } from '../../utils/utils';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport SdkUtils from '../../utils/SdkUtils';\nimport * as Sentry from '@sentry/react-native';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport EventCodeRepo from '../dispatchCodes/EventCodeRepo';\nimport Storage from '../../utils/storage';\nimport { pushBulkEventForSync } from '../../utils/SyncManagerUtils';\nimport callbackHandler from './callbacksHandler';\nimport { DispatchExecutor as dispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\n\nexport class DispatchSDKManager {\n private static instance: DispatchSDKManager;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private keys = DispatchSdkCache.KEYS;\n\n private constructor() {}\n\n public static getInstance(): DispatchSDKManager {\n if (!DispatchSDKManager.instance) {\n DispatchSDKManager.instance = new DispatchSDKManager();\n }\n return DispatchSDKManager.instance;\n }\n\n /**\n * Call this init method with username,userID & authentication tokens\n * @param sdkConfig\n */\n public async initDispatchSDK(sdkConfig: DispatchSDKConfig) {\n if (\n !isMandatoryKeysPresent(sdkConfig, [\n 'tenantID',\n 'userID',\n 'userName',\n 'tenantBaseURL',\n 'accessToken',\n ])\n ) {\n throw new BaseError(\n ErrorCodes.InvalidArgumentError,\n 'Invalid/Missing Argument Passed in SdkConfig'\n );\n }\n if (isTokenExpired(sdkConfig.accessToken)) {\n throw new BaseError(\n ErrorCodes.ACCESS_TOKEN_EXPIRED,\n 'JWT Token Expired!'\n );\n }\n if (sdkConfig.sentry && sdkConfig.sentry?.enabled) {\n Sentry.init({\n enableNative: true,\n environment: sdkConfig.sentry.env,\n dsn: sdkConfig.sentry.dsn,\n tracesSampleRate: 1.0,\n });\n }\n await SdkUtils.checkMandatory();\n await this.cache.setObjectInCache(this.keys.SDK_CONFIG, sdkConfig);\n GraphQLClient.init(sdkConfig.tenantBaseURL);\n AppSyncManager.initAppSync(\n sdkConfig.tenantBaseURL,\n sdkConfig.syncRetryCount ?? 3\n );\n LocationManager.getInstance().startUpdates();\n if (sdkConfig.eventMapping) {\n EventCodeRepo.getInstance().saveEventCode(sdkConfig.eventMapping);\n }\n await ReasonCodeContainer.getInstance().fetchReasonCode();\n Logger.getInstance().setLogging(sdkConfig.enableLogging ?? true, sdkConfig);\n let storage = Storage.getInstance();\n\n if (\n sdkConfig.callbacks?.fetchPhoneNumbersCallback &&\n sdkConfig?.callbacks?.fetchDateTimeCallback\n ) {\n await callbackHandler.init(\n sdkConfig.callbacks.fetchPhoneNumbersCallback,\n sdkConfig.callbacks.fetchDateTimeCallback\n );\n }\n await dispatchExecutor.init(\n {\n storeMultipleKeysCallback: storage.setSharedItems,\n readMultipleKeysCallback: storage.getSharedItems,\n deleteMultipleKeysCallback: storage.removeSharedItems,\n eventBulkSyncCallback: pushBulkEventForSync,\n },\n sdkConfig.debugLevelLog ? 'debug' : 'emerg'\n );\n AppSyncManager.getInstance().startSDKSyncManager();\n }\n\n public removeLocationUpdates() {\n LocationManager.getInstance().stopLocationUpdates();\n }\n}\n"],"mappings":"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"}
|
|
@@ -4,15 +4,22 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
4
4
|
class CallbacksHandler {
|
|
5
5
|
constructor() {
|
|
6
6
|
_defineProperty(this, "_callbackToFetchPhoneNumbers", void 0);
|
|
7
|
+
_defineProperty(this, "_callbackToFetchDateTime", void 0);
|
|
7
8
|
}
|
|
8
|
-
init(phoneCallback) {
|
|
9
|
+
init(phoneCallback, dateTimeCallBack) {
|
|
9
10
|
this._callbackToFetchPhoneNumbers = phoneCallback;
|
|
11
|
+
this._callbackToFetchDateTime = dateTimeCallBack;
|
|
10
12
|
}
|
|
11
13
|
async getPhoneNumbers(sdsIds) {
|
|
12
14
|
if (!this._callbackToFetchPhoneNumbers) return null;else {
|
|
13
15
|
return await this._callbackToFetchPhoneNumbers(sdsIds);
|
|
14
16
|
}
|
|
15
17
|
}
|
|
18
|
+
async getDateTime() {
|
|
19
|
+
if (!this._callbackToFetchDateTime) return '';else {
|
|
20
|
+
return await this._callbackToFetchDateTime();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
16
23
|
}
|
|
17
24
|
const callbackHandler = new CallbacksHandler();
|
|
18
25
|
export default callbackHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CallbacksHandler","constructor","_defineProperty","init","phoneCallback","_callbackToFetchPhoneNumbers","getPhoneNumbers","sdsIds","callbackHandler"],"sources":["callbacksHandler.ts"],"sourcesContent":["class CallbacksHandler {\n private _callbackToFetchPhoneNumbers!: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>;\n\n public init(\n phoneCallback: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>\n ) {\n this._callbackToFetchPhoneNumbers = phoneCallback;\n }\n\n public async getPhoneNumbers(\n sdsIds: string[]\n ): Promise<{ key: string; value: string[] } | null> {\n if (!this._callbackToFetchPhoneNumbers) return null;\n else {\n return await this._callbackToFetchPhoneNumbers(sdsIds);\n }\n }\n}\n\nconst callbackHandler = new CallbacksHandler();\nexport default callbackHandler;\n"],"mappings":";;;AAAA,MAAMA,gBAAgB,CAAC;EAAAC,YAAA;IAAAC,eAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["CallbacksHandler","constructor","_defineProperty","init","phoneCallback","dateTimeCallBack","_callbackToFetchPhoneNumbers","_callbackToFetchDateTime","getPhoneNumbers","sdsIds","getDateTime","callbackHandler"],"sources":["callbacksHandler.ts"],"sourcesContent":["class CallbacksHandler {\n private _callbackToFetchPhoneNumbers!: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>;\n\n private _callbackToFetchDateTime!: () => Promise<string>;\n\n public init(\n phoneCallback: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>,\n dateTimeCallBack: () => Promise<string>\n ) {\n this._callbackToFetchPhoneNumbers = phoneCallback;\n this._callbackToFetchDateTime = dateTimeCallBack;\n }\n\n public async getPhoneNumbers(\n sdsIds: string[]\n ): Promise<{ key: string; value: string[] } | null> {\n if (!this._callbackToFetchPhoneNumbers) return null;\n else {\n return await this._callbackToFetchPhoneNumbers(sdsIds);\n }\n }\n\n public async getDateTime(): Promise<string | ''> {\n if (!this._callbackToFetchDateTime) return '';\n else {\n return await this._callbackToFetchDateTime();\n }\n }\n}\n\nconst callbackHandler = new CallbacksHandler();\nexport default callbackHandler;\n"],"mappings":";;;AAAA,MAAMA,gBAAgB,CAAC;EAAAC,YAAA;IAAAC,eAAA;IAAAA,eAAA;EAAA;EAOdC,IAAIA,CACTC,aAE8C,EAC9CC,gBAAuC,EACvC;IACA,IAAI,CAACC,4BAA4B,GAAGF,aAAa;IACjD,IAAI,CAACG,wBAAwB,GAAGF,gBAAgB;EAClD;EAEA,MAAaG,eAAeA,CAC1BC,MAAgB,EACkC;IAClD,IAAI,CAAC,IAAI,CAACH,4BAA4B,EAAE,OAAO,IAAI,CAAC,KAC/C;MACH,OAAO,MAAM,IAAI,CAACA,4BAA4B,CAACG,MAAM,CAAC;IACxD;EACF;EAEA,MAAaC,WAAWA,CAAA,EAAyB;IAC/C,IAAI,CAAC,IAAI,CAACH,wBAAwB,EAAE,OAAO,EAAE,CAAC,KACzC;MACH,OAAO,MAAM,IAAI,CAACA,wBAAwB,CAAC,CAAC;IAC9C;EACF;AACF;AAEA,MAAMI,eAAe,GAAG,IAAIX,gBAAgB,CAAC,CAAC;AAC9C,eAAeW,eAAe"}
|
|
@@ -36,7 +36,9 @@ export const DOCUMENT_COLUMNS = {
|
|
|
36
36
|
SYNC_ERROR: 'sync_error',
|
|
37
37
|
DISPATCH_ID: 'dispatch_id',
|
|
38
38
|
JOB_ID: 'job_id',
|
|
39
|
-
OBJECTIVE_REF: 'objective_ref'
|
|
39
|
+
OBJECTIVE_REF: 'objective_ref',
|
|
40
|
+
GEO_TIMESTAMP: 'geo_timestamp',
|
|
41
|
+
PROCESSED_FILE_PATH: 'processed_file_path'
|
|
40
42
|
};
|
|
41
43
|
export let SyncMethod = /*#__PURE__*/function (SyncMethod) {
|
|
42
44
|
SyncMethod["POST"] = "POST";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DispatchSyncType","DATABASE_NAME","EVENTS_TABLE","REASONS_TABLE","EVENT_CODES_TABLE","EVENTS_COLUMNS","ID","SEQUENCE","PAYLOAD","SYNCED","CONFIG","SYNC_TYPE","META","SYNC_ERROR","DISPATCH_ID","DATA_LENGTH","DOCUMENT_TABLE","DOCUMENT_COLUMNS","DATA","BASE64","FILE_PATH","FILE_NAME","FILE_TYPE","FMS_FOLDER_ID","FMS_ID","PRIORITY","DESCRIPTION","JOB_ID","OBJECTIVE_REF","SyncMethod","ReasonColums","CODE","IS_ENABLED","SYSTEM_DEFINED","EventColumns","SUCCESS_EVENT","WORKFLOW_INSTANCE_TABLE","WORKFLOW_INSTANCE_COLUMNS","WORKFLOW_INSTANCE_ID","MERGED_WORKFLOW_INSTANCE_ID","SCANNABLE_ID","INITIAL_MERGED_WORKFLOW_INSTANCE_ID","STATUS","JOB_WF_ID","DISPLAY_DATA","WORKFLOW_ID"],"sources":["DBConfig.ts"],"sourcesContent":["import { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nexport type ExecEngineSyncType = IDispatch.SyncType;\n\nexport enum DispatchSyncType {\n DEFAULT = 'DEFAULT',\n DISPATCH_UPDATE = 'DISPATCH_UPDATE',\n DISPATCH_SUB_STATUS_UPDATE = 'DISPATCH_SUB_STATUS_UPDATE',\n}\n\nexport const DATABASE_NAME = 'OS1_Driver_App_DB';\nexport const EVENTS_TABLE = 'EVENTS_TABLE';\nexport const REASONS_TABLE = 'REASONS_TABLE';\nexport const EVENT_CODES_TABLE = 'EVENT_CODES_TABLE';\n\nexport const EVENTS_COLUMNS = {\n ID: 'id',\n SEQUENCE: 'seq_number',\n PAYLOAD: 'payload',\n SYNCED: 'synced',\n CONFIG: 'config',\n SYNC_TYPE: 'sync_type',\n META: 'meta',\n SYNC_ERROR: 'sync_error',\n DISPATCH_ID: 'dispatch_id',\n DATA_LENGTH: 'data_length',\n};\n\nexport const DOCUMENT_TABLE = 'DOCUMENTS_TABLE';\nexport const DOCUMENT_COLUMNS = {\n ID: 'id',\n DATA: 'data',\n BASE64: 'base64',\n FILE_PATH: 'file_path',\n FILE_NAME: 'file_name',\n FILE_TYPE: 'file_type',\n SYNCED: 'synced',\n FMS_FOLDER_ID: 'fms_folder_id',\n FMS_ID: 'fms_id',\n PRIORITY: 'priority',\n DESCRIPTION: 'desc',\n SYNC_ERROR: 'sync_error',\n DISPATCH_ID: 'dispatch_id',\n JOB_ID: 'job_id',\n OBJECTIVE_REF: 'objective_ref',\n};\nexport type DocumentRow = {\n id: number;\n data: string;\n base64: boolean;\n file_path: string;\n file_name: string;\n file_type: string;\n synced: boolean;\n fms_folder_id: string;\n fms_id: string;\n priority: number;\n desc: string;\n sync_error: string;\n dispatch_id: string;\n job_id: string;\n objective_ref: string;\n};\nexport type EventRow = {\n id: number;\n payload: string;\n synced: boolean;\n config: string;\n sync_type: ExecEngineSyncType | DispatchSyncType;\n objective_ref: string;\n sync_error: string;\n dispatch_id: string;\n};\n\nexport enum SyncMethod {\n POST = 'POST',\n PUT = 'PUT',\n GET = 'GET',\n DELETE = 'DELETE',\n}\nexport const ReasonColums = {\n CODE: 'reasonCode',\n DESCRIPTION: 'description',\n IS_ENABLED: 'isEnabled',\n SYSTEM_DEFINED: 'isSystemDefined',\n};\nexport interface ReasonsRow {\n description: string;\n isEnabled: boolean;\n reasonCode: string;\n isSystemDefined: boolean;\n}\n\nexport interface EventsRow {\n description: string;\n successEvent: boolean;\n eventCode: string;\n}\n\nexport const EventColumns = {\n CODE: 'eventCode',\n DESCRIPTION: 'description',\n SUCCESS_EVENT: 'successEvent',\n};\n\n// NEW CODE\nexport interface BulkEvent {\n syncType: ExecEngineSyncType | DispatchSyncType;\n dispatchId: string;\n data: any;\n meta?: any; // updatedBy, code, status, timestamp, [{jobId,wfId}]\n}\n\n// OLD CODE\n// export interface BulkEvent {\n// syncType: SyncType;\n// dispatchId: string;\n// data: string;\n// config: string;\n// sequence: number;\n// meta?: any;\n// }\n\nexport interface WFUpdateBulkEventData {\n [customETName: string]: EventETData;\n}\n\nexport interface EventETData {\n output: any;\n}\n\nexport interface WIUpdateOutputPayload {\n dispatchId: string;\n updatedBy: any;\n workflows: Array<WorkflowUpdatePayload>;\n}\n\nexport interface WorkflowUpdatePayload {\n status: string;\n timestamp: number;\n attemptId: 1;\n code: string;\n data: any;\n meta?: any;\n __unmerged?: Array<UnmergedData>;\n}\n\nexport interface UnmergedData {\n workflowInstanceId: string;\n jobId: string;\n data?: any;\n}\n\nexport interface CustodyData {\n dispatchId: string;\n jobId: string;\n custodyEntity: string;\n custodyLocationId: string;\n custodyEntityAmount: number;\n custodyEntityId: string;\n}\n\nexport const WORKFLOW_INSTANCE_TABLE = 'WF_INSTANCE_TABLE';\nexport const WORKFLOW_INSTANCE_COLUMNS = {\n WORKFLOW_INSTANCE_ID: 'WFIId',\n MERGED_WORKFLOW_INSTANCE_ID: 'MWFIId',\n JOB_ID: 'jobId',\n SCANNABLE_ID: 'scannableId',\n INITIAL_MERGED_WORKFLOW_INSTANCE_ID: 'InitialMWFIId',\n STATUS: 'status',\n JOB_WF_ID: 'jobWfId',\n DISPLAY_DATA: 'displayData',\n WORKFLOW_ID: 'WFId',\n};\n\nexport interface SyncManagerPayload {\n data: {\n action: ExecEngineSyncType | DispatchSyncType;\n payload: any;\n };\n length: number;\n}\n"],"mappings":"AAGA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAM5B,OAAO,MAAMC,aAAa,GAAG,mBAAmB;AAChD,OAAO,MAAMC,YAAY,GAAG,cAAc;AAC1C,OAAO,MAAMC,aAAa,GAAG,eAAe;AAC5C,OAAO,MAAMC,iBAAiB,GAAG,mBAAmB;AAEpD,OAAO,MAAMC,cAAc,GAAG;EAC5BC,EAAE,EAAE,IAAI;EACRC,QAAQ,EAAE,YAAY;EACtBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,SAAS,EAAE,WAAW;EACtBC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,YAAY;EACxBC,WAAW,EAAE,aAAa;EAC1BC,WAAW,EAAE;AACf,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,iBAAiB;AAC/C,OAAO,MAAMC,gBAAgB,GAAG;EAC9BX,EAAE,EAAE,IAAI;EACRY,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,QAAQ;EAChBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBb,MAAM,EAAE,QAAQ;EAChBc,aAAa,EAAE,eAAe;EAC9BC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,WAAW,EAAE,MAAM;EACnBb,UAAU,EAAE,YAAY;EACxBC,WAAW,EAAE,aAAa;EAC1Ba,MAAM,EAAE,QAAQ;EAChBC,aAAa,EAAE;
|
|
1
|
+
{"version":3,"names":["DispatchSyncType","DATABASE_NAME","EVENTS_TABLE","REASONS_TABLE","EVENT_CODES_TABLE","EVENTS_COLUMNS","ID","SEQUENCE","PAYLOAD","SYNCED","CONFIG","SYNC_TYPE","META","SYNC_ERROR","DISPATCH_ID","DATA_LENGTH","DOCUMENT_TABLE","DOCUMENT_COLUMNS","DATA","BASE64","FILE_PATH","FILE_NAME","FILE_TYPE","FMS_FOLDER_ID","FMS_ID","PRIORITY","DESCRIPTION","JOB_ID","OBJECTIVE_REF","GEO_TIMESTAMP","PROCESSED_FILE_PATH","SyncMethod","ReasonColums","CODE","IS_ENABLED","SYSTEM_DEFINED","EventColumns","SUCCESS_EVENT","WORKFLOW_INSTANCE_TABLE","WORKFLOW_INSTANCE_COLUMNS","WORKFLOW_INSTANCE_ID","MERGED_WORKFLOW_INSTANCE_ID","SCANNABLE_ID","INITIAL_MERGED_WORKFLOW_INSTANCE_ID","STATUS","JOB_WF_ID","DISPLAY_DATA","WORKFLOW_ID"],"sources":["DBConfig.ts"],"sourcesContent":["import { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nexport type ExecEngineSyncType = IDispatch.SyncType;\n\nexport enum DispatchSyncType {\n DEFAULT = 'DEFAULT',\n DISPATCH_UPDATE = 'DISPATCH_UPDATE',\n DISPATCH_SUB_STATUS_UPDATE = 'DISPATCH_SUB_STATUS_UPDATE',\n}\n\nexport const DATABASE_NAME = 'OS1_Driver_App_DB';\nexport const EVENTS_TABLE = 'EVENTS_TABLE';\nexport const REASONS_TABLE = 'REASONS_TABLE';\nexport const EVENT_CODES_TABLE = 'EVENT_CODES_TABLE';\n\nexport const EVENTS_COLUMNS = {\n ID: 'id',\n SEQUENCE: 'seq_number',\n PAYLOAD: 'payload',\n SYNCED: 'synced',\n CONFIG: 'config',\n SYNC_TYPE: 'sync_type',\n META: 'meta',\n SYNC_ERROR: 'sync_error',\n DISPATCH_ID: 'dispatch_id',\n DATA_LENGTH: 'data_length',\n};\n\nexport const DOCUMENT_TABLE = 'DOCUMENTS_TABLE';\nexport const DOCUMENT_COLUMNS = {\n ID: 'id',\n DATA: 'data',\n BASE64: 'base64',\n FILE_PATH: 'file_path',\n FILE_NAME: 'file_name',\n FILE_TYPE: 'file_type',\n SYNCED: 'synced',\n FMS_FOLDER_ID: 'fms_folder_id',\n FMS_ID: 'fms_id',\n PRIORITY: 'priority',\n DESCRIPTION: 'desc',\n SYNC_ERROR: 'sync_error',\n DISPATCH_ID: 'dispatch_id',\n JOB_ID: 'job_id',\n OBJECTIVE_REF: 'objective_ref',\n GEO_TIMESTAMP: 'geo_timestamp',\n PROCESSED_FILE_PATH: 'processed_file_path',\n};\nexport type DocumentRow = {\n id: number;\n data: string;\n base64: boolean;\n file_path: string;\n file_name: string;\n file_type: string;\n synced: boolean;\n fms_folder_id: string;\n fms_id: string;\n priority: number;\n desc: string;\n sync_error: string;\n dispatch_id: string;\n job_id: string;\n objective_ref: string;\n geo_timestamp: string;\n processed_file_path: string;\n};\nexport type EventRow = {\n id: number;\n payload: string;\n synced: boolean;\n config: string;\n sync_type: ExecEngineSyncType | DispatchSyncType;\n objective_ref: string;\n sync_error: string;\n dispatch_id: string;\n};\n\nexport enum SyncMethod {\n POST = 'POST',\n PUT = 'PUT',\n GET = 'GET',\n DELETE = 'DELETE',\n}\nexport const ReasonColums = {\n CODE: 'reasonCode',\n DESCRIPTION: 'description',\n IS_ENABLED: 'isEnabled',\n SYSTEM_DEFINED: 'isSystemDefined',\n};\nexport interface ReasonsRow {\n description: string;\n isEnabled: boolean;\n reasonCode: string;\n isSystemDefined: boolean;\n}\n\nexport interface EventsRow {\n description: string;\n successEvent: boolean;\n eventCode: string;\n}\n\nexport const EventColumns = {\n CODE: 'eventCode',\n DESCRIPTION: 'description',\n SUCCESS_EVENT: 'successEvent',\n};\n\n// NEW CODE\nexport interface BulkEvent {\n syncType: ExecEngineSyncType | DispatchSyncType;\n dispatchId: string;\n data: any;\n meta?: any; // updatedBy, code, status, timestamp, [{jobId,wfId}]\n}\n\n// OLD CODE\n// export interface BulkEvent {\n// syncType: SyncType;\n// dispatchId: string;\n// data: string;\n// config: string;\n// sequence: number;\n// meta?: any;\n// }\n\nexport interface WFUpdateBulkEventData {\n [customETName: string]: EventETData;\n}\n\nexport interface EventETData {\n output: any;\n}\n\nexport interface WIUpdateOutputPayload {\n dispatchId: string;\n updatedBy: any;\n workflows: Array<WorkflowUpdatePayload>;\n}\n\nexport interface WorkflowUpdatePayload {\n status: string;\n timestamp: number;\n attemptId: 1;\n code: string;\n data: any;\n meta?: any;\n __unmerged?: Array<UnmergedData>;\n}\n\nexport interface UnmergedData {\n workflowInstanceId: string;\n jobId: string;\n data?: any;\n}\n\nexport interface CustodyData {\n dispatchId: string;\n jobId: string;\n custodyEntity: string;\n custodyLocationId: string;\n custodyEntityAmount: number;\n custodyEntityId: string;\n}\n\nexport const WORKFLOW_INSTANCE_TABLE = 'WF_INSTANCE_TABLE';\nexport const WORKFLOW_INSTANCE_COLUMNS = {\n WORKFLOW_INSTANCE_ID: 'WFIId',\n MERGED_WORKFLOW_INSTANCE_ID: 'MWFIId',\n JOB_ID: 'jobId',\n SCANNABLE_ID: 'scannableId',\n INITIAL_MERGED_WORKFLOW_INSTANCE_ID: 'InitialMWFIId',\n STATUS: 'status',\n JOB_WF_ID: 'jobWfId',\n DISPLAY_DATA: 'displayData',\n WORKFLOW_ID: 'WFId',\n};\n\nexport interface SyncManagerPayload {\n data: {\n action: ExecEngineSyncType | DispatchSyncType;\n payload: any;\n };\n length: number;\n}\n"],"mappings":"AAGA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAM5B,OAAO,MAAMC,aAAa,GAAG,mBAAmB;AAChD,OAAO,MAAMC,YAAY,GAAG,cAAc;AAC1C,OAAO,MAAMC,aAAa,GAAG,eAAe;AAC5C,OAAO,MAAMC,iBAAiB,GAAG,mBAAmB;AAEpD,OAAO,MAAMC,cAAc,GAAG;EAC5BC,EAAE,EAAE,IAAI;EACRC,QAAQ,EAAE,YAAY;EACtBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,SAAS,EAAE,WAAW;EACtBC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,YAAY;EACxBC,WAAW,EAAE,aAAa;EAC1BC,WAAW,EAAE;AACf,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,iBAAiB;AAC/C,OAAO,MAAMC,gBAAgB,GAAG;EAC9BX,EAAE,EAAE,IAAI;EACRY,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,QAAQ;EAChBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBb,MAAM,EAAE,QAAQ;EAChBc,aAAa,EAAE,eAAe;EAC9BC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,WAAW,EAAE,MAAM;EACnBb,UAAU,EAAE,YAAY;EACxBC,WAAW,EAAE,aAAa;EAC1Ba,MAAM,EAAE,QAAQ;EAChBC,aAAa,EAAE,eAAe;EAC9BC,aAAa,EAAE,eAAe;EAC9BC,mBAAmB,EAAE;AACvB,CAAC;AA+BD,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAMtB,OAAO,MAAMC,YAAY,GAAG;EAC1BC,IAAI,EAAE,YAAY;EAClBP,WAAW,EAAE,aAAa;EAC1BQ,UAAU,EAAE,WAAW;EACvBC,cAAc,EAAE;AAClB,CAAC;AAcD,OAAO,MAAMC,YAAY,GAAG;EAC1BH,IAAI,EAAE,WAAW;EACjBP,WAAW,EAAE,aAAa;EAC1BW,aAAa,EAAE;AACjB,CAAC;;AAED;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAyCA,OAAO,MAAMC,uBAAuB,GAAG,mBAAmB;AAC1D,OAAO,MAAMC,yBAAyB,GAAG;EACvCC,oBAAoB,EAAE,OAAO;EAC7BC,2BAA2B,EAAE,QAAQ;EACrCd,MAAM,EAAE,OAAO;EACfe,YAAY,EAAE,aAAa;EAC3BC,mCAAmC,EAAE,eAAe;EACpDC,MAAM,EAAE,QAAQ;EAChBC,SAAS,EAAE,SAAS;EACpBC,YAAY,EAAE,aAAa;EAC3BC,WAAW,EAAE;AACf,CAAC"}
|
|
@@ -3,6 +3,10 @@ import * as FileSystem from 'expo-file-system';
|
|
|
3
3
|
import { FileSystemUploadType } from 'expo-file-system';
|
|
4
4
|
import DispatchSdkCache from '../../sdk/DispatchSdkCache';
|
|
5
5
|
import Logger, { LOG_TYPE } from '../../../utils/Logger';
|
|
6
|
+
import RNFS from 'react-native-fs';
|
|
7
|
+
import { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';
|
|
8
|
+
import { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';
|
|
9
|
+
import { flattenObject } from '../../../utils/utils';
|
|
6
10
|
const cache = DispatchSdkCache.getInstance();
|
|
7
11
|
const cacheKeys = DispatchSdkCache.KEYS;
|
|
8
12
|
export default class DocumentHttpClient extends HttpClient {
|
|
@@ -12,6 +16,23 @@ export default class DocumentHttpClient extends HttpClient {
|
|
|
12
16
|
async uploadDocument(document) {
|
|
13
17
|
if (document.base64 && document.data != null) {
|
|
14
18
|
const response = await this.uploadBase64File(document);
|
|
19
|
+
let info = '';
|
|
20
|
+
if (response && response.data !== null && response.data.body !== null && response.status !== 202) {
|
|
21
|
+
let body = response.data.body;
|
|
22
|
+
info = body.substring(40);
|
|
23
|
+
} else {
|
|
24
|
+
info = String(response.status);
|
|
25
|
+
}
|
|
26
|
+
let extraParameters = {
|
|
27
|
+
response: info
|
|
28
|
+
};
|
|
29
|
+
fireEventWithScreenName({
|
|
30
|
+
severityLevel: SeverityLevelValue.LOG,
|
|
31
|
+
eventName: SentryEventNameSdkConstants.API_RESPONSE,
|
|
32
|
+
screenName: 'Upload_Base64_File_Response',
|
|
33
|
+
extraParams: extraParameters
|
|
34
|
+
});
|
|
35
|
+
Logger.getInstance().logEvent('uploadBase64FileResponse', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);
|
|
15
36
|
if (response && response.data != null && response.data.data != null && response.data.data.id && response.status === 202) {
|
|
16
37
|
return response.data.data.id;
|
|
17
38
|
} else {
|
|
@@ -19,21 +40,45 @@ export default class DocumentHttpClient extends HttpClient {
|
|
|
19
40
|
}
|
|
20
41
|
} else {
|
|
21
42
|
const uploadResponse = await this.uploadBinaryFile(document);
|
|
22
|
-
|
|
43
|
+
let info = '';
|
|
44
|
+
if (uploadResponse && uploadResponse.body !== null && uploadResponse.status !== 202) {
|
|
45
|
+
let body = uploadResponse.body;
|
|
46
|
+
info = body.substring(40);
|
|
47
|
+
} else {
|
|
48
|
+
info = String(uploadResponse.status);
|
|
49
|
+
}
|
|
50
|
+
let extraParams = {
|
|
51
|
+
response: info
|
|
52
|
+
};
|
|
53
|
+
fireEventWithScreenName({
|
|
54
|
+
severityLevel: SeverityLevelValue.LOG,
|
|
55
|
+
eventName: SentryEventNameSdkConstants.API_RESPONSE,
|
|
56
|
+
screenName: 'Upload_Binary_File_Response',
|
|
57
|
+
extraParams: extraParams
|
|
58
|
+
});
|
|
59
|
+
Logger.getInstance().logEvent('uploadBinaryFileResponse', flattenObject(extraParams), LOG_TYPE.SDK_ERROR);
|
|
23
60
|
if (uploadResponse != null && uploadResponse.status === 202 && uploadResponse.body != null) {
|
|
24
61
|
var _JSON$parse;
|
|
25
62
|
FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE
|
|
63
|
+
FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE
|
|
64
|
+
|
|
26
65
|
return (_JSON$parse = JSON.parse(uploadResponse.body)) === null || _JSON$parse === void 0 || (_JSON$parse = _JSON$parse.data) === null || _JSON$parse === void 0 ? void 0 : _JSON$parse.id;
|
|
27
66
|
} else {
|
|
28
67
|
return null;
|
|
29
68
|
}
|
|
30
69
|
}
|
|
31
70
|
}
|
|
71
|
+
|
|
72
|
+
// This function will upload processed base64 data (overlayed base64 data ) if exist otherwise will uplaod original base 64 data for pod signature.
|
|
32
73
|
async uploadBase64File(document) {
|
|
74
|
+
let dataToUpload = document.data;
|
|
75
|
+
if (document.processed_file_path !== null && document.processed_file_path !== undefined && document.processed_file_path !== '') {
|
|
76
|
+
dataToUpload = document.processed_file_path;
|
|
77
|
+
}
|
|
33
78
|
let requestBody = JSON.stringify({
|
|
34
79
|
file: {
|
|
35
80
|
type: 'FILE',
|
|
36
|
-
data:
|
|
81
|
+
data: dataToUpload
|
|
37
82
|
},
|
|
38
83
|
description: document.desc,
|
|
39
84
|
tags: [{
|
|
@@ -49,6 +94,17 @@ export default class DocumentHttpClient extends HttpClient {
|
|
|
49
94
|
fileName: document.file_name
|
|
50
95
|
});
|
|
51
96
|
const sdkConfig = await cache.getObjectFromCache(cacheKeys.SDK_CONFIG);
|
|
97
|
+
let extraParams = {
|
|
98
|
+
fileName: document.file_name,
|
|
99
|
+
folderName: document.fms_folder_id
|
|
100
|
+
};
|
|
101
|
+
fireEventWithScreenName({
|
|
102
|
+
severityLevel: SeverityLevelValue.LOG,
|
|
103
|
+
eventName: SentryEventNameSdkConstants.API_CALL,
|
|
104
|
+
screenName: 'Upload_Base64_File_Request',
|
|
105
|
+
extraParams: extraParams
|
|
106
|
+
});
|
|
107
|
+
Logger.getInstance().logEvent('uploadBase64FileRequest', flattenObject(extraParams), LOG_TYPE.SDK_ERROR);
|
|
52
108
|
return this.instance.post(`/api/folders/${document.fms_folder_id}/files`, requestBody, {
|
|
53
109
|
headers: {
|
|
54
110
|
'accept': 'application/json',
|
|
@@ -59,10 +115,28 @@ export default class DocumentHttpClient extends HttpClient {
|
|
|
59
115
|
}
|
|
60
116
|
});
|
|
61
117
|
}
|
|
118
|
+
|
|
119
|
+
// This function will upload processed (overlayed file) if exist otherwise will uplaod original file for pod images.
|
|
62
120
|
async uploadBinaryFile(document) {
|
|
63
121
|
const sdkConfig = await cache.getObjectFromCache(cacheKeys.SDK_CONFIG);
|
|
122
|
+
let filePathToUpload = document.file_path;
|
|
123
|
+
let processedFileExist = await RNFS.exists(document.processed_file_path);
|
|
124
|
+
if (processedFileExist) {
|
|
125
|
+
filePathToUpload = document.processed_file_path;
|
|
126
|
+
}
|
|
64
127
|
const url = sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
|
|
65
|
-
|
|
128
|
+
let extraParams = {
|
|
129
|
+
fileName: document.file_name,
|
|
130
|
+
folderName: document.fms_folder_id
|
|
131
|
+
};
|
|
132
|
+
fireEventWithScreenName({
|
|
133
|
+
severityLevel: SeverityLevelValue.LOG,
|
|
134
|
+
eventName: SentryEventNameSdkConstants.API_CALL,
|
|
135
|
+
screenName: 'Upload_Binary_File_Request',
|
|
136
|
+
extraParams: extraParams
|
|
137
|
+
});
|
|
138
|
+
Logger.getInstance().logEvent('uploadBinaryFileRequest', flattenObject(extraParams), LOG_TYPE.SDK_ERROR);
|
|
139
|
+
return FileSystem.uploadAsync(url, filePathToUpload, {
|
|
66
140
|
headers: {
|
|
67
141
|
'accept': 'application/json',
|
|
68
142
|
'Content-Type': 'multipart/form-data',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HttpClient","FileSystem","FileSystemUploadType","DispatchSdkCache","Logger","LOG_TYPE","cache","getInstance","cacheKeys","KEYS","DocumentHttpClient","constructor","baseURL","uploadDocument","document","base64","data","response","uploadBase64File","id","status","uploadResponse","uploadBinaryFile","logEvent","JSON","stringify","SDK_INFO","body","_JSON$parse","deleteAsync","file_path","then","catch","parse","requestBody","file","type","description","desc","tags","key","value","dispatch_id","file_name","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","instance","post","fms_folder_id","headers","accessToken","tenantID","url","tenantBaseURL","uploadAsync","httpMethod","uploadType","MULTIPART","fieldName","parameters"],"sources":["DocumentHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport type { DocumentRow } from '../DBConfig';\nimport type { AxiosResponse } from 'axios';\nimport * as FileSystem from 'expo-file-system';\nimport { FileSystemUploadResult, FileSystemUploadType } from 'expo-file-system';\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { DispatchSDKConfig } from '../../../models/sdk';\n\nconst cache = DispatchSdkCache.getInstance();\nconst cacheKeys = DispatchSdkCache.KEYS;\nexport default class DocumentHttpClient extends HttpClient {\n constructor(baseURL: string) {\n super(baseURL);\n }\n public async uploadDocument(document: DocumentRow): Promise<string | null> {\n if (document.base64 && document.data != null) {\n const response = await this.uploadBase64File(document);\n if (\n response &&\n response.data != null &&\n response.data.data != null &&\n response.data.data.id &&\n response.status === 202\n ) {\n return response.data.data.id;\n } else {\n return null;\n }\n } else {\n const uploadResponse = await this.uploadBinaryFile(document);\n Logger.getInstance().logEvent(\n 'uploadDocument',\n JSON.stringify(uploadResponse),\n LOG_TYPE.SDK_INFO\n );\n if (\n uploadResponse != null &&\n uploadResponse.status === 202 &&\n uploadResponse.body != null\n ) {\n FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE\n return JSON.parse(uploadResponse.body)?.data?.id;\n } else {\n return null;\n }\n }\n }\n\n public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {\n let requestBody = JSON.stringify({\n file: {\n type: 'FILE',\n data: document.data,\n },\n description: document.desc,\n tags: [\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ],\n fileName: document.file_name,\n });\n const sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n return this.instance.post(\n `/api/folders/${document.fms_folder_id}/files`,\n requestBody,\n {\n headers: {\n 'accept': 'application/json',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'Content-Type': 'application/json',\n },\n }\n );\n }\n private async uploadBinaryFile(\n document: DocumentRow\n ): Promise<FileSystemUploadResult> {\n const sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n return FileSystem.uploadAsync(url, document.file_path, {\n headers: {\n 'accept': 'application/json',\n 'Content-Type': 'multipart/form-data',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n },\n httpMethod: 'POST',\n uploadType: FileSystemUploadType.MULTIPART,\n fieldName: 'file',\n parameters: {\n tags: JSON.stringify([\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ]),\n },\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["HttpClient","FileSystem","FileSystemUploadType","DispatchSdkCache","Logger","LOG_TYPE","RNFS","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","flattenObject","cache","getInstance","cacheKeys","KEYS","DocumentHttpClient","constructor","baseURL","uploadDocument","document","base64","data","response","uploadBase64File","info","body","status","substring","String","extraParameters","severityLevel","LOG","eventName","API_RESPONSE","screenName","extraParams","logEvent","SDK_ERROR","id","uploadResponse","uploadBinaryFile","_JSON$parse","deleteAsync","file_path","then","catch","processed_file_path","JSON","parse","dataToUpload","undefined","requestBody","stringify","file","type","description","desc","tags","key","value","dispatch_id","file_name","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","folderName","fms_folder_id","API_CALL","instance","post","headers","accessToken","tenantID","filePathToUpload","processedFileExist","exists","url","tenantBaseURL","uploadAsync","httpMethod","uploadType","MULTIPART","fieldName","parameters"],"sources":["DocumentHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport type { DocumentRow } from '../DBConfig';\nimport type { AxiosResponse } from 'axios';\nimport * as FileSystem from 'expo-file-system';\nimport { FileSystemUploadResult, FileSystemUploadType } from 'expo-file-system';\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { DispatchSDKConfig } from '../../../models/sdk';\nimport RNFS from 'react-native-fs';\nimport { stat } from 'react-native-fs';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport { flattenObject } from '../../../utils/utils';\n\nconst cache = DispatchSdkCache.getInstance();\nconst cacheKeys = DispatchSdkCache.KEYS;\nexport default class DocumentHttpClient extends HttpClient {\n constructor(baseURL: string) {\n super(baseURL);\n }\n public async uploadDocument(document: DocumentRow): Promise<string | null> {\n if (document.base64 && document.data != null) {\n const response = await this.uploadBase64File(document);\n\n let info = '';\n if (\n response &&\n response.data !== null &&\n response.data.body !== null &&\n response.status !== 202\n ) {\n let body = response.data.body;\n info = body.substring(40);\n } else {\n info = String(response.status);\n }\n let extraParameters = { response: info };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'Upload_Base64_File_Response',\n extraParams: extraParameters,\n });\n\n Logger.getInstance().logEvent(\n 'uploadBase64FileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n response &&\n response.data != null &&\n response.data.data != null &&\n response.data.data.id &&\n response.status === 202\n ) {\n return response.data.data.id;\n } else {\n return null;\n }\n } else {\n const uploadResponse = await this.uploadBinaryFile(document);\n let info = '';\n if (\n uploadResponse &&\n uploadResponse.body !== null &&\n uploadResponse.status !== 202\n ) {\n let body = uploadResponse.body;\n info = body.substring(40);\n } else {\n info = String(uploadResponse.status);\n }\n let extraParams = { response: info };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'Upload_Binary_File_Response',\n extraParams: extraParams,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileResponse',\n flattenObject(extraParams),\n LOG_TYPE.SDK_ERROR\n );\n if (\n uploadResponse != null &&\n uploadResponse.status === 202 &&\n uploadResponse.body != null\n ) {\n FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE\n FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE\n\n return JSON.parse(uploadResponse.body)?.data?.id;\n } else {\n return null;\n }\n }\n }\n\n // This function will upload processed base64 data (overlayed base64 data ) if exist otherwise will uplaod original base 64 data for pod signature.\n public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {\n let dataToUpload = document.data;\n if (\n document.processed_file_path !== null &&\n document.processed_file_path !== undefined &&\n document.processed_file_path !== ''\n ) {\n dataToUpload = document.processed_file_path;\n }\n let requestBody = JSON.stringify({\n file: {\n type: 'FILE',\n data: dataToUpload,\n },\n description: document.desc,\n tags: [\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ],\n fileName: document.file_name,\n });\n const sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n let extraParams = {\n fileName: document.file_name,\n folderName: document.fms_folder_id,\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Base64_File_Request',\n extraParams: extraParams,\n });\n Logger.getInstance().logEvent(\n 'uploadBase64FileRequest',\n flattenObject(extraParams),\n LOG_TYPE.SDK_ERROR\n );\n return this.instance.post(\n `/api/folders/${document.fms_folder_id}/files`,\n requestBody,\n {\n headers: {\n 'accept': 'application/json',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'Content-Type': 'application/json',\n },\n }\n );\n }\n\n // This function will upload processed (overlayed file) if exist otherwise will uplaod original file for pod images.\n private async uploadBinaryFile(\n document: DocumentRow\n ): Promise<FileSystemUploadResult> {\n const sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n let filePathToUpload = document.file_path;\n let processedFileExist = await RNFS.exists(document.processed_file_path);\n if (processedFileExist) {\n filePathToUpload = document.processed_file_path;\n }\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n let extraParams = {\n fileName: document.file_name,\n folderName: document.fms_folder_id,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Binary_File_Request',\n extraParams: extraParams,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileRequest',\n flattenObject(extraParams),\n LOG_TYPE.SDK_ERROR\n );\n return FileSystem.uploadAsync(url, filePathToUpload, {\n headers: {\n 'accept': 'application/json',\n 'Content-Type': 'multipart/form-data',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n },\n httpMethod: 'POST',\n uploadType: FileSystemUploadType.MULTIPART,\n fieldName: 'file',\n parameters: {\n tags: JSON.stringify([\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ]),\n },\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -28,12 +28,18 @@ export default class DocumentManager {
|
|
|
28
28
|
${DOCUMENT_COLUMNS.FMS_FOLDER_ID} TEXT,\
|
|
29
29
|
${DOCUMENT_COLUMNS.PRIORITY} INTEGER NOT NULL DEFAULT 1,\
|
|
30
30
|
${DOCUMENT_COLUMNS.SYNC_ERROR} TEXT,\
|
|
31
|
+
${DOCUMENT_COLUMNS.GEO_TIMESTAMP} TEXT,\
|
|
32
|
+
${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} TEXT,\
|
|
31
33
|
${DOCUMENT_COLUMNS.DESCRIPTION} TEXT);`, []);
|
|
32
34
|
}
|
|
35
|
+
async truncateDocumentTable() {
|
|
36
|
+
await Database.executeQuery(`DELETE FROM ${DOCUMENT_TABLE};`, []);
|
|
37
|
+
}
|
|
33
38
|
async insertDocument(fmsFolderID, desc, dspID,
|
|
34
39
|
// jobID: string,
|
|
35
40
|
// objectiveRef: string,
|
|
36
|
-
base64, fileName, fileType, data, filePath, priority) {
|
|
41
|
+
base64, fileName, fileType, data, filePath, geoTimeStamp, processedFilePath, priority) {
|
|
42
|
+
console.log('insertDocument2:', fmsFolderID);
|
|
37
43
|
return await Database.executeQuery(`INSERT INTO ${DOCUMENT_TABLE}(\
|
|
38
44
|
${DOCUMENT_COLUMNS.DATA},\
|
|
39
45
|
${DOCUMENT_COLUMNS.DISPATCH_ID},\
|
|
@@ -43,8 +49,10 @@ export default class DocumentManager {
|
|
|
43
49
|
${DOCUMENT_COLUMNS.FILE_NAME},\
|
|
44
50
|
${DOCUMENT_COLUMNS.FILE_TYPE},\
|
|
45
51
|
${DOCUMENT_COLUMNS.DESCRIPTION},\
|
|
46
|
-
${DOCUMENT_COLUMNS.PRIORITY}
|
|
47
|
-
|
|
52
|
+
${DOCUMENT_COLUMNS.PRIORITY},\
|
|
53
|
+
${DOCUMENT_COLUMNS.GEO_TIMESTAMP},\
|
|
54
|
+
${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH}) \
|
|
55
|
+
values (?,?,?,?,?,?,?,?,?,?,?)`, [data, dspID, fmsFolderID, base64, filePath, fileName, fileType, desc, priority ? priority : 1, geoTimeStamp, processedFilePath]);
|
|
48
56
|
}
|
|
49
57
|
async getAllDocuments(dispatchID) {
|
|
50
58
|
if (!dispatchID) {
|
|
@@ -69,6 +77,12 @@ export default class DocumentManager {
|
|
|
69
77
|
if (!id || !fmsID) return;
|
|
70
78
|
await Database.executeQuery(`UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = 1,${DOCUMENT_COLUMNS.FMS_ID} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`, [fmsID, id]);
|
|
71
79
|
}
|
|
80
|
+
|
|
81
|
+
// 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.
|
|
82
|
+
async updateProcesedFilePath(id, origialFilePath, processedFilePath) {
|
|
83
|
+
if (!id || !processedFilePath) return;
|
|
84
|
+
await Database.executeQuery(`UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.FILE_PATH} = ?, ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`, [origialFilePath, processedFilePath, id]);
|
|
85
|
+
}
|
|
72
86
|
async updateDocSyncError(id, uploadError) {
|
|
73
87
|
if (!id) throw new TypeError('Document ID cannot be null');
|
|
74
88
|
await Database.executeQuery(`UPDATE ${DOCUMENT_TABLE}\
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DOCUMENT_COLUMNS","DOCUMENT_TABLE","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","DESCRIPTION","insertDocument","fmsFolderID","desc","dspID","base64","fileName","fileType","data","filePath","priority","getAllDocuments","dispatchID","resultSet","rows","_array","getAllUnsyncedDocs","deleteAllSyncedDocuments","markDocumentSynced","id","fmsID","updateDocSyncError","uploadError","TypeError","getUnsyncedDocument","rs","_class","_defineProperty"],"sources":["DocumentManager.ts"],"sourcesContent":["import { DOCUMENT_COLUMNS, DOCUMENT_TABLE, DocumentRow } from '../DBConfig';\nimport * as Database from '../database';\nimport type { SQLResultSet } from 'expo-sqlite';\n\nexport default class DocumentManager {\n private static instance: DocumentManager;\n\n private constructor() {}\n\n public static async getInstance(): Promise<DocumentManager> {\n if (!DocumentManager.instance) {\n let managerInstance = new DocumentManager();\n await managerInstance.init();\n DocumentManager.instance = managerInstance;\n }\n return DocumentManager.instance;\n }\n\n public async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${DOCUMENT_TABLE} (\\\n ${DOCUMENT_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${DOCUMENT_COLUMNS.DATA} TEXT,\\\n ${DOCUMENT_COLUMNS.BASE64} INTEGER NOT NULL DEFAULT 0,\\\n ${DOCUMENT_COLUMNS.FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${DOCUMENT_COLUMNS.FILE_NAME} TEXT,\\\n ${DOCUMENT_COLUMNS.FILE_TYPE} TEXT,\\\n ${DOCUMENT_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${DOCUMENT_COLUMNS.FMS_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.PRIORITY} INTEGER NOT NULL DEFAULT 1,\\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} TEXT,\\\n ${DOCUMENT_COLUMNS.DESCRIPTION} TEXT);`,\n []\n );\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n desc: string,\n dspID: string,\n // jobID: string,\n // objectiveRef: string,\n base64: boolean,\n fileName: string,\n fileType: string,\n data?: string | null,\n filePath?: string | null,\n priority?: number\n ): Promise<SQLResultSet> {\n return await Database.executeQuery(\n `INSERT INTO ${DOCUMENT_TABLE}(\\\n ${DOCUMENT_COLUMNS.DATA},\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID},\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID},\\\n ${DOCUMENT_COLUMNS.BASE64},\\\n ${DOCUMENT_COLUMNS.FILE_PATH},\\\n ${DOCUMENT_COLUMNS.FILE_NAME},\\\n ${DOCUMENT_COLUMNS.FILE_TYPE},\\\n ${DOCUMENT_COLUMNS.DESCRIPTION},\\\n ${DOCUMENT_COLUMNS.PRIORITY}) \\\n values (?,?,?,?,?,?,?,?,?)`,\n [\n data,\n dspID,\n fmsFolderID,\n base64,\n filePath,\n fileName,\n fileType,\n desc,\n priority ? priority : 1,\n ]\n );\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE};`,\n []\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.DISPATCH_ID} =?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n }\n }\n\n public async getAllUnsyncedDocs(): Promise<DocumentRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE} \\\n where ${DOCUMENT_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllSyncedDocuments(dispatchID: string) {\n return Database.executeQuery(\n `DELETE FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 1 and ${DOCUMENT_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n }\n\n public async markDocumentSynced(id: number, fmsID: string): Promise<void> {\n if (!id || !fmsID) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = 1,${DOCUMENT_COLUMNS.FMS_ID} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [fmsID, id]\n );\n }\n\n public async updateDocSyncError(\n id: number,\n uploadError: string\n ): Promise<void> {\n if (!id) throw new TypeError('Document ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE}\\\n SET \\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} = ?\\\n WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [uploadError, id]\n );\n }\n\n public async getUnsyncedDocument(): Promise<DocumentRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${DOCUMENT_COLUMNS.PRIORITY} ASC LIMIT 1;`,\n []\n );\n return rs.rows._array;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["DOCUMENT_COLUMNS","DOCUMENT_TABLE","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","GEO_TIMESTAMP","PROCESSED_FILE_PATH","DESCRIPTION","truncateDocumentTable","insertDocument","fmsFolderID","desc","dspID","base64","fileName","fileType","data","filePath","geoTimeStamp","processedFilePath","priority","console","log","getAllDocuments","dispatchID","resultSet","rows","_array","getAllUnsyncedDocs","deleteAllSyncedDocuments","markDocumentSynced","id","fmsID","updateProcesedFilePath","origialFilePath","updateDocSyncError","uploadError","TypeError","getUnsyncedDocument","rs","_class","_defineProperty"],"sources":["DocumentManager.ts"],"sourcesContent":["import { DOCUMENT_COLUMNS, DOCUMENT_TABLE, DocumentRow } from '../DBConfig';\nimport * as Database from '../database';\nimport type { SQLResultSet } from 'expo-sqlite';\n\nexport default class DocumentManager {\n private static instance: DocumentManager;\n\n private constructor() {}\n\n public static async getInstance(): Promise<DocumentManager> {\n if (!DocumentManager.instance) {\n let managerInstance = new DocumentManager();\n await managerInstance.init();\n DocumentManager.instance = managerInstance;\n }\n return DocumentManager.instance;\n }\n\n public async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${DOCUMENT_TABLE} (\\\n ${DOCUMENT_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${DOCUMENT_COLUMNS.DATA} TEXT,\\\n ${DOCUMENT_COLUMNS.BASE64} INTEGER NOT NULL DEFAULT 0,\\\n ${DOCUMENT_COLUMNS.FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${DOCUMENT_COLUMNS.FILE_NAME} TEXT,\\\n ${DOCUMENT_COLUMNS.FILE_TYPE} TEXT,\\\n ${DOCUMENT_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${DOCUMENT_COLUMNS.FMS_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID} TEXT,\\\n ${DOCUMENT_COLUMNS.PRIORITY} INTEGER NOT NULL DEFAULT 1,\\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} TEXT,\\\n ${DOCUMENT_COLUMNS.GEO_TIMESTAMP} TEXT,\\\n ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} TEXT,\\\n ${DOCUMENT_COLUMNS.DESCRIPTION} TEXT);`,\n []\n );\n }\n\n public async truncateDocumentTable(): Promise<void> {\n await Database.executeQuery(`DELETE FROM ${DOCUMENT_TABLE};`, []);\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n desc: string,\n dspID: string,\n // jobID: string,\n // objectiveRef: string,\n base64: boolean,\n fileName: string,\n fileType: string,\n data?: string | null,\n filePath?: string | null,\n geoTimeStamp?: string | null,\n processedFilePath?: string | null,\n priority?: number\n ): Promise<SQLResultSet> {\n console.log('insertDocument2:', fmsFolderID);\n return await Database.executeQuery(\n `INSERT INTO ${DOCUMENT_TABLE}(\\\n ${DOCUMENT_COLUMNS.DATA},\\\n ${DOCUMENT_COLUMNS.DISPATCH_ID},\\\n ${DOCUMENT_COLUMNS.FMS_FOLDER_ID},\\\n ${DOCUMENT_COLUMNS.BASE64},\\\n ${DOCUMENT_COLUMNS.FILE_PATH},\\\n ${DOCUMENT_COLUMNS.FILE_NAME},\\\n ${DOCUMENT_COLUMNS.FILE_TYPE},\\\n ${DOCUMENT_COLUMNS.DESCRIPTION},\\\n ${DOCUMENT_COLUMNS.PRIORITY},\\\n ${DOCUMENT_COLUMNS.GEO_TIMESTAMP},\\\n ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH}) \\\n values (?,?,?,?,?,?,?,?,?,?,?)`,\n [\n data,\n dspID,\n fmsFolderID,\n base64,\n filePath,\n fileName,\n fileType,\n desc,\n priority ? priority : 1,\n geoTimeStamp,\n processedFilePath,\n ]\n );\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE};`,\n []\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.DISPATCH_ID} =?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n }\n }\n\n public async getAllUnsyncedDocs(): Promise<DocumentRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${DOCUMENT_TABLE} \\\n where ${DOCUMENT_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllSyncedDocuments(dispatchID: string) {\n return Database.executeQuery(\n `DELETE FROM ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 1 and ${DOCUMENT_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n }\n\n public async markDocumentSynced(id: number, fmsID: string): Promise<void> {\n if (!id || !fmsID) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = 1,${DOCUMENT_COLUMNS.FMS_ID} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [fmsID, id]\n );\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n public async updateProcesedFilePath(\n id: number,\n origialFilePath: String,\n processedFilePath: String\n ): Promise<void> {\n if (!id || !processedFilePath) return;\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.FILE_PATH} = ?, ${DOCUMENT_COLUMNS.PROCESSED_FILE_PATH} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [origialFilePath, processedFilePath, id]\n );\n }\n\n public async updateDocSyncError(\n id: number,\n uploadError: string\n ): Promise<void> {\n if (!id) throw new TypeError('Document ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${DOCUMENT_TABLE}\\\n SET \\\n ${DOCUMENT_COLUMNS.SYNC_ERROR} = ?\\\n WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,\n [uploadError, id]\n );\n }\n\n public async getUnsyncedDocument(): Promise<DocumentRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${DOCUMENT_TABLE}\\\n WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${DOCUMENT_COLUMNS.PRIORITY} ASC LIMIT 1;`,\n []\n );\n return rs.rows._array;\n }\n}\n"],"mappings":"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"}
|