@os1-platform/dispatch-mobile 2.1.30 → 3.0.1
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/README.md +4 -91
- package/android/.gradle/7.5/checksums/checksums.lock +0 -0
- package/android/.gradle/7.5/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/7.5/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.idea/{other.xml → caches/deviceStreaming.xml} +98 -21
- package/android/build.gradle +1 -0
- package/android/src/main/AndroidManifest.xml +1 -0
- package/android/src/main/java/com/dispatchsdk/DispatchSdkPackage.kt +5 -1
- package/android/src/main/java/com/dispatchsdk/location/LocationModule.kt +79 -0
- package/android/src/main/java/com/dispatchsdk/permissions/PermissionModule.kt +90 -0
- package/ios/EventEmitter.swift +13 -1
- package/ios/LocationManager.swift +143 -0
- package/ios/LocationModule.m +19 -0
- package/ios/LocationModule.swift +32 -0
- package/ios/PermissionsModule.m +21 -0
- package/ios/PermissionsModule.swift +24 -0
- package/ios/RNEventEmitter.m +2 -8
- package/ios/RNEventEmitter.swift +13 -19
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +5 -3
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +5 -3
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/index.js +0 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager/location/LocationManager.js +91 -46
- package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
- package/lib/commonjs/native/LocationModule.js +47 -0
- package/lib/commonjs/native/LocationModule.js.map +1 -0
- package/lib/commonjs/native/PermissionModule.js +21 -0
- package/lib/commonjs/native/PermissionModule.js.map +1 -0
- package/lib/commonjs/utils/ExecTaskUtils.js +3 -3
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/SdkUtils.js +12 -4
- package/lib/commonjs/utils/SdkUtils.js.map +1 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js +5 -3
- package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +5 -3
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/index.js +0 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager/location/LocationManager.js +90 -44
- package/lib/module/manager/location/LocationManager.js.map +1 -1
- package/lib/module/native/LocationModule.js +41 -0
- package/lib/module/native/LocationModule.js.map +1 -0
- package/lib/module/native/PermissionModule.js +15 -0
- package/lib/module/native/PermissionModule.js.map +1 -0
- package/lib/module/utils/ExecTaskUtils.js +3 -3
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/SdkUtils.js +12 -4
- package/lib/module/utils/SdkUtils.js.map +1 -1
- package/lib/typescript/index.d.ts +0 -4
- package/lib/typescript/manager/location/LocationManager.d.ts +4 -2
- package/lib/typescript/native/LocationModule.d.ts +14 -0
- package/lib/typescript/native/PermissionModule.d.ts +6 -0
- package/package.json +3 -5
- package/src/components/executiontasks/doodle/SignatureET.tsx +6 -4
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +6 -3
- package/src/index.tsx +0 -7
- package/src/manager/location/LocationManager.ts +93 -41
- package/src/native/LocationModule.ts +52 -0
- package/src/native/PermissionModule.ts +21 -0
- package/src/utils/ExecTaskUtils.ts +3 -3
- package/src/utils/SdkUtils.ts +15 -5
- package/android/.gradle/6.8/fileChanges/last-build.bin +0 -0
- package/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/6.8/gc.properties +0 -0
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Storage","ExecutionTask","
|
|
1
|
+
{"version":3,"names":["Storage","ExecutionTask","NativeSyncManager","SyncMethod","DispatchSyncType","CancelOrderDialog","useFCMMessage","getFCMToken","registerBackgroundHandler","requestFirebasePermissions","onNotificationOpenedApp","onTokenRefresh","getInitialNotification","FCM","DispatchExecNavigator","DispatchStateContainer","DispatchSDKManager","Logger","LOG_TYPE","SdkUtils","AppSyncManager","SdkSyncType","EventListener","BaseEvents","DispatchExecutor","IDispatch","IDispatchExecutor","Helper","SentryAnalyticsSingleton","fireEventWithScreenName","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","DispatchAndUserData","SentryEvent","DocumentManager"],"sources":["index.tsx"],"sourcesContent":["import Storage from './utils/storage';\nimport type * as ETaskSchema from './components/executiontasks/ExecutionTasksIndex';\nimport * as ExecutionTask from './components/executiontasks/ExecutionTasksIndex';\nimport NativeSyncManager from './manager/syncmanager/NativeSyncManager';\nimport type { DocumentRow, EventRow } from './manager/syncmanager/DBConfig';\nimport { SyncMethod, DispatchSyncType } from './manager/syncmanager/DBConfig';\nimport CancelOrderDialog from './components/widgets/CancelOrderDialog';\nimport useFCMMessage, {\n getFCMToken,\n registerBackgroundHandler,\n requestFirebasePermissions,\n onNotificationOpenedApp,\n onTokenRefresh,\n getInitialNotification,\n} from './utils/fcm/FcmUtils';\nimport FCM from './utils/fcm/FCM';\nimport DispatchExecNavigator from './components/dispatch/DispatchExecNavigator';\nimport DispatchStateContainer from './manager/dispatch/DispatchStateContainer';\nimport { DispatchSDKManager } from './manager/sdk/DispatchSDKManager';\nimport Logger, { LOG_TYPE } from './utils/Logger';\nimport type {\n ETSummary,\n CompleteSummary,\n ObjectiveSummary,\n} from './models/execTasks/ETBaseModels';\nimport SdkUtils from './utils/SdkUtils';\nimport AppSyncManager from './manager/syncmanager/AppSyncManager';\nimport type {\n JobObjectiveType,\n endEvent,\n startEvent,\n onScanRemoveEvent,\n onScanEvent,\n} from './models/DispatchModels';\nimport { SdkSyncType } from './models/DispatchModels';\nimport EventListener from './events';\nimport { BaseEvents } from './events/constants';\nimport {\n DispatchExecutor,\n IDispatch,\n IDispatchExecutor,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport Helper from './utils/helper';\nimport SentryAnalyticsSingleton from './analytics/sentry/SentryAnalyticsSingleton';\nimport { fireEventWithScreenName } from './analytics/sentry/SentryAnalyticsUtils';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from './analytics/sentry/SentrySdkConstants';\nimport { DispatchAndUserData, SentryEvent } from './analytics/sentry/SentryModels';\nimport DocumentManager from './manager/syncmanager/document/DocumentManager';\nexport { DispatchExecutor, IDispatch, IDispatchExecutor };\nexport { Storage, DispatchExecNavigator };\nexport { ETSummary, CompleteSummary, ObjectiveSummary, DispatchSyncType };\nexport { BaseEvents, endEvent, startEvent, onScanRemoveEvent, onScanEvent };\nexport {\n NativeSyncManager,\n AppSyncManager,\n SdkSyncType,\n EventRow,\n DocumentRow,\n useFCMMessage,\n getFCMToken,\n requestFirebasePermissions,\n FCM,\n registerBackgroundHandler,\n onNotificationOpenedApp,\n onTokenRefresh,\n getInitialNotification,\n DispatchStateContainer,\n SdkUtils,\n Logger,\n LOG_TYPE,\n EventListener,\n};\n//\nexport { SyncMethod, JobObjectiveType };\nexport type { ETaskSchema };\nexport { ExecutionTask, CancelOrderDialog };\nexport { DispatchSDKManager };\n//\nexport { Helper };\n//sentry function export\nexport { SentryAnalyticsSingleton, fireEventWithScreenName, SeverityLevelValue, ScreenNameSdkConstants, SentryEventNameSdkConstants, DispatchAndUserData, SentryEvent };\nexport { DocumentManager };\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,iBAAiB;AAErC,OAAO,KAAKC,aAAa,MAAM,iDAAiD;AAChF,OAAOC,iBAAiB,MAAM,yCAAyC;AAEvE,SAASC,UAAU,EAAEC,gBAAgB,QAAQ,gCAAgC;AAC7E,OAAOC,iBAAiB,MAAM,wCAAwC;AACtE,OAAOC,aAAa,IAClBC,WAAW,EACXC,yBAAyB,EACzBC,0BAA0B,EAC1BC,uBAAuB,EACvBC,cAAc,EACdC,sBAAsB,QACjB,sBAAsB;AAC7B,OAAOC,GAAG,MAAM,iBAAiB;AACjC,OAAOC,qBAAqB,MAAM,6CAA6C;AAC/E,OAAOC,sBAAsB,MAAM,2CAA2C;AAC9E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,gBAAgB;AAMjD,OAAOC,QAAQ,MAAM,kBAAkB;AACvC,OAAOC,cAAc,MAAM,sCAAsC;AAQjE,SAASC,WAAW,QAAQ,yBAAyB;AACrD,OAAOC,aAAa,MAAM,UAAU;AACpC,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SACEC,gBAAgB,EAChBC,SAAS,EACTC,iBAAiB,QACZ,oDAAoD;AAC3D,OAAOC,MAAM,MAAM,gBAAgB;AACnC,OAAOC,wBAAwB,MAAM,6CAA6C;AAClF,SAASC,uBAAuB,QAAQ,yCAAyC;AACjF,SAASC,sBAAsB,EAAEC,2BAA2B,EAAEC,kBAAkB,QAAQ,uCAAuC;AAC/H,SAASC,mBAAmB,EAAEC,WAAW,QAAQ,iCAAiC;AAClF,OAAOC,eAAe,MAAM,gDAAgD;AAC5E,SAASX,gBAAgB,EAAEC,SAAS,EAAEC,iBAAiB;AACvD,SAAS1B,OAAO,EAAEc,qBAAqB;AACvC,SAAuDV,gBAAgB;AACvE,SAASmB,UAAU;AACnB,SACErB,iBAAiB,EACjBkB,cAAc,EACdC,WAAW,EAGXf,aAAa,EACbC,WAAW,EACXE,0BAA0B,EAC1BI,GAAG,EACHL,yBAAyB,EACzBE,uBAAuB,EACvBC,cAAc,EACdC,sBAAsB,EACtBG,sBAAsB,EACtBI,QAAQ,EACRF,MAAM,EACNC,QAAQ,EACRI,aAAa;AAEf;AACA,SAASnB,UAAU;AAEnB,SAASF,aAAa,EAAEI,iBAAiB;AACzC,SAASW,kBAAkB;AAC3B;AACA,SAASW,MAAM;AACf;AACA,SAASC,wBAAwB,EAAEC,uBAAuB,EAAEG,kBAAkB,EAAEF,sBAAsB,EAAEC,2BAA2B,EAAEE,mBAAmB,EAAEC,WAAW;AACrK,SAASC,eAAe","ignoreList":[]}
|
|
@@ -2,24 +2,36 @@ var _LocationManager;
|
|
|
2
2
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
3
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
5
|
+
import { Platform } from 'react-native';
|
|
6
|
+
import PermissionModule from '../../native/PermissionModule';
|
|
7
|
+
import LocationModule from '../../native/LocationModule';
|
|
8
8
|
export default class LocationManager {
|
|
9
9
|
constructor() {
|
|
10
|
-
_defineProperty(this, "
|
|
10
|
+
_defineProperty(this, "lastLocationAndroid", null);
|
|
11
|
+
_defineProperty(this, "lastLocationiOS", null);
|
|
11
12
|
_defineProperty(this, "stopUpdate", void 0);
|
|
13
|
+
_defineProperty(this, "subscription", null);
|
|
12
14
|
}
|
|
13
15
|
async checkForLocationPermissions() {
|
|
14
|
-
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
16
|
+
console.log("checkForLocationPermissions");
|
|
17
|
+
if (Platform.OS === 'ios') {
|
|
18
|
+
// old code checking for permissions using expo-location
|
|
19
|
+
// let permissionResponse = await Location.getForegroundPermissionsAsync();
|
|
20
|
+
// if (permissionResponse.status === 'granted') {
|
|
21
|
+
// this.startUpdates();
|
|
22
|
+
// return true;
|
|
23
|
+
// } else {
|
|
24
|
+
// let { status } = await Location.requestForegroundPermissionsAsync();
|
|
25
|
+
// if (status === 'granted') {
|
|
26
|
+
// this.startUpdates();
|
|
27
|
+
// return true;
|
|
28
|
+
// } else {
|
|
29
|
+
// this.stopLocationUpdates();
|
|
30
|
+
// return false;
|
|
31
|
+
// }
|
|
32
|
+
// }
|
|
33
|
+
let foregroundPermission = await PermissionModule.requestForegroundPermissions();
|
|
34
|
+
if (foregroundPermission) {
|
|
23
35
|
this.startUpdates();
|
|
24
36
|
return true;
|
|
25
37
|
} else {
|
|
@@ -27,6 +39,17 @@ export default class LocationManager {
|
|
|
27
39
|
return false;
|
|
28
40
|
}
|
|
29
41
|
}
|
|
42
|
+
if (Platform.OS === 'android') {
|
|
43
|
+
let foregroundPermission = await PermissionModule.requestForegroundPermissions();
|
|
44
|
+
if (foregroundPermission) {
|
|
45
|
+
this.startUpdates();
|
|
46
|
+
return true;
|
|
47
|
+
} else {
|
|
48
|
+
this.stopLocationUpdates();
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
30
53
|
}
|
|
31
54
|
static getInstance() {
|
|
32
55
|
if (!LocationManager.instance) {
|
|
@@ -35,44 +58,67 @@ export default class LocationManager {
|
|
|
35
58
|
return LocationManager.instance;
|
|
36
59
|
}
|
|
37
60
|
startUpdates() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
61
|
+
if (Platform.OS === 'android') {
|
|
62
|
+
LocationModule.startLocationUpdates();
|
|
63
|
+
this.subscription = LocationModule.addLocationListener(location => {
|
|
64
|
+
console.log('Location updated:', location);
|
|
65
|
+
if (location != null) {
|
|
66
|
+
this.lastLocationAndroid = location;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if (Platform.OS === 'ios') {
|
|
71
|
+
console.log("startUpdates");
|
|
72
|
+
LocationModule.startLocationUpdates();
|
|
73
|
+
// this.subscription = LocationModule.addLocationListener((location) => {
|
|
74
|
+
// console.log('Location updated:', location);
|
|
75
|
+
// if (location != null) {
|
|
76
|
+
// this.lastLocationiOS = location
|
|
77
|
+
// }
|
|
78
|
+
// });
|
|
79
|
+
}
|
|
52
80
|
}
|
|
53
|
-
getLastLocation() {
|
|
54
|
-
if (
|
|
55
|
-
|
|
56
|
-
if (this.lastLocation.coords.accuracy !== null) {
|
|
57
|
-
let accuracyVal = Math.round(this.lastLocation.coords.accuracy);
|
|
58
|
-
accuracy = accuracyVal.toString();
|
|
59
|
-
}
|
|
60
|
-
return {
|
|
61
|
-
latitude: this.lastLocation.coords.latitude.toString(),
|
|
62
|
-
longitude: this.lastLocation.coords.longitude.toString(),
|
|
63
|
-
accuracy: accuracy
|
|
64
|
-
};
|
|
65
|
-
} else {
|
|
81
|
+
async getLastLocation() {
|
|
82
|
+
if (Platform.OS === 'android' && this.lastLocationAndroid != null) {
|
|
83
|
+
console.log("lastLocationAndroid:", this.lastLocationAndroid);
|
|
66
84
|
return {
|
|
67
|
-
latitude:
|
|
68
|
-
longitude:
|
|
69
|
-
accuracy:
|
|
85
|
+
latitude: this.lastLocationAndroid.latitude.toString(),
|
|
86
|
+
longitude: this.lastLocationAndroid.longitude.toString(),
|
|
87
|
+
accuracy: this.lastLocationAndroid.accuracy.toString()
|
|
70
88
|
};
|
|
71
89
|
}
|
|
90
|
+
if (Platform.OS === 'ios') {
|
|
91
|
+
this.lastLocationiOS = await LocationModule.getLastLocation();
|
|
92
|
+
console.log("lastLocationiOS:", this.lastLocationiOS);
|
|
93
|
+
if (this.lastLocationiOS) {
|
|
94
|
+
return {
|
|
95
|
+
latitude: this.lastLocationiOS.latitude.toString(),
|
|
96
|
+
longitude: this.lastLocationiOS.longitude.toString(),
|
|
97
|
+
accuracy: this.lastLocationiOS.accuracy.toString()
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
latitude: 'null',
|
|
103
|
+
longitude: 'null',
|
|
104
|
+
accuracy: 'null'
|
|
105
|
+
};
|
|
72
106
|
}
|
|
73
107
|
stopLocationUpdates() {
|
|
74
108
|
try {
|
|
75
|
-
|
|
109
|
+
// code for android
|
|
110
|
+
if (Platform.OS === 'android') {
|
|
111
|
+
if (this.subscription) {
|
|
112
|
+
LocationModule.removeLocationListener(this.subscription);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// code for ios
|
|
117
|
+
if (Platform.OS === 'ios') {
|
|
118
|
+
if (this.subscription) {
|
|
119
|
+
LocationModule.removeLocationListener(this.subscription);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
76
122
|
} catch (error) {}
|
|
77
123
|
}
|
|
78
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Platform","PermissionModule","LocationModule","LocationManager","constructor","_defineProperty","checkForLocationPermissions","console","log","OS","foregroundPermission","requestForegroundPermissions","startUpdates","stopLocationUpdates","getInstance","instance","startLocationUpdates","subscription","addLocationListener","location","lastLocationAndroid","getLastLocation","latitude","toString","longitude","accuracy","lastLocationiOS","removeLocationListener","error","_LocationManager"],"sources":["LocationManager.ts"],"sourcesContent":["import * as Location from 'expo-location';\nimport { Accuracy, LocationObject } from 'expo-location';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport { EmitterSubscription, Platform } from 'react-native';\nimport PermissionModule from '../../native/PermissionModule';\nimport LocationModule, { LocationType } from '../../native/LocationModule';\n\nexport default class LocationManager {\n private static instance: LocationManager;\n private lastLocationAndroid: LocationType | null = null;\n private lastLocationiOS: LocationType | null = null;\n private stopUpdate: { remove(): void } | undefined;\n private subscription: EmitterSubscription | null = null;\n\n public async checkForLocationPermissions(): Promise<boolean> {\n console.log(\"checkForLocationPermissions\");\n if (Platform.OS === 'ios') {\n // old code checking for permissions using expo-location\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 let foregroundPermission = await PermissionModule.requestForegroundPermissions();\n if (foregroundPermission) {\n this.startUpdates();\n return true;\n } else {\n this.stopLocationUpdates();\n return false;\n }\n }\n if (Platform.OS === 'android') {\n let foregroundPermission = await PermissionModule.requestForegroundPermissions();\n if (foregroundPermission) {\n this.startUpdates();\n return true;\n } else {\n this.stopLocationUpdates();\n return false;\n }\n }\n return true;\n }\n\n public static getInstance(): LocationManager {\n if (!LocationManager.instance) {\n LocationManager.instance = new LocationManager();\n }\n return LocationManager.instance;\n }\n\n public startUpdates() {\n if (Platform.OS === 'android') {\n LocationModule.startLocationUpdates();\n this.subscription = LocationModule.addLocationListener((location) => {\n console.log('Location updated:', location);\n if (location != null) {\n this.lastLocationAndroid = location\n }\n });\n }\n\n if (Platform.OS === 'ios') {\n console.log(\"startUpdates\");\n LocationModule.startLocationUpdates();\n // this.subscription = LocationModule.addLocationListener((location) => {\n // console.log('Location updated:', location);\n // if (location != null) {\n // this.lastLocationiOS = location\n // }\n // });\n }\n }\n\n public async getLastLocation(): Promise<DLocation> {\n if (Platform.OS === 'android' && this.lastLocationAndroid != null) {\n console.log(\"lastLocationAndroid:\", this.lastLocationAndroid);\n return {\n latitude: this.lastLocationAndroid.latitude.toString(),\n longitude: this.lastLocationAndroid.longitude.toString(),\n accuracy: this.lastLocationAndroid.accuracy.toString(),\n };\n }\n if (Platform.OS === 'ios') {\n this.lastLocationiOS = await LocationModule.getLastLocation();\n console.log(\"lastLocationiOS:\", this.lastLocationiOS);\n if(this.lastLocationiOS){\n return {\n latitude: this.lastLocationiOS.latitude.toString(),\n longitude: this.lastLocationiOS.longitude.toString(),\n accuracy: this.lastLocationiOS.accuracy.toString(),\n };\n }\n }\n return {\n latitude: 'null',\n longitude: 'null',\n accuracy: 'null',\n };\n }\n\n\n public stopLocationUpdates() {\n try {\n // code for android\n if (Platform.OS === 'android') {\n if (this.subscription) {\n LocationModule.removeLocationListener(this.subscription);\n }\n }\n\n // code for ios\n if (Platform.OS === 'ios') {\n if (this.subscription) {\n LocationModule.removeLocationListener(this.subscription);\n }\n }\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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","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NativeModules, NativeEventEmitter } from 'react-native';
|
|
2
|
+
const {
|
|
3
|
+
LocationModule
|
|
4
|
+
} = NativeModules;
|
|
5
|
+
const locationEventEmitter = new NativeEventEmitter(LocationModule);
|
|
6
|
+
const startLocationUpdates = async () => {
|
|
7
|
+
try {
|
|
8
|
+
await LocationModule.startLocationUpdates();
|
|
9
|
+
} catch (error) {
|
|
10
|
+
console.error(error);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const stopLocationUpdates = async () => {
|
|
14
|
+
try {
|
|
15
|
+
await LocationModule.stopLocationUpdates();
|
|
16
|
+
} catch (error) {
|
|
17
|
+
console.error(error);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const getLastLocation = async () => {
|
|
21
|
+
try {
|
|
22
|
+
return LocationModule.getLastLocation();
|
|
23
|
+
} catch (error) {
|
|
24
|
+
console.error(error);
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const addLocationListener = callback => {
|
|
29
|
+
return locationEventEmitter.addListener('locationUpdated', callback);
|
|
30
|
+
};
|
|
31
|
+
const removeLocationListener = subscription => {
|
|
32
|
+
subscription.remove();
|
|
33
|
+
};
|
|
34
|
+
export default {
|
|
35
|
+
startLocationUpdates,
|
|
36
|
+
stopLocationUpdates,
|
|
37
|
+
addLocationListener,
|
|
38
|
+
removeLocationListener,
|
|
39
|
+
getLastLocation
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=LocationModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventEmitter","LocationModule","locationEventEmitter","startLocationUpdates","error","console","stopLocationUpdates","getLastLocation","addLocationListener","callback","addListener","removeLocationListener","subscription","remove"],"sources":["LocationModule.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, EmitterSubscription } from 'react-native';\n\nconst { LocationModule } = NativeModules;\nconst locationEventEmitter = new NativeEventEmitter(LocationModule);\n\nconst startLocationUpdates = async (): Promise<void> => {\n try {\n await LocationModule.startLocationUpdates();\n } catch (error) {\n console.error(error);\n }\n};\n\nconst stopLocationUpdates = async (): Promise<void> => {\n try {\n await LocationModule.stopLocationUpdates();\n } catch (error) {\n console.error(error);\n }\n};\n\nconst getLastLocation = async (): Promise<any> => {\n try {\n return LocationModule.getLastLocation();\n } catch (error) {\n console.error(error);\n return null\n }\n}\n\n\nexport interface LocationType {\n latitude: number;\n longitude: number;\n accuracy: number;\n}\n\nconst addLocationListener = (callback: (location: LocationType) => void): EmitterSubscription => {\n return locationEventEmitter.addListener('locationUpdated', callback);\n};\n\nconst removeLocationListener = (subscription: EmitterSubscription): void => {\n subscription.remove();\n};\n\nexport default {\n startLocationUpdates,\n stopLocationUpdates,\n addLocationListener,\n removeLocationListener,\n getLastLocation,\n};"],"mappings":"AAAA,SAASA,aAAa,EAAEC,kBAAkB,QAA6B,cAAc;AAErF,MAAM;EAAEC;AAAe,CAAC,GAAGF,aAAa;AACxC,MAAMG,oBAAoB,GAAG,IAAIF,kBAAkB,CAACC,cAAc,CAAC;AAEnE,MAAME,oBAAoB,GAAG,MAAAA,CAAA,KAA2B;EACpD,IAAI;IACA,MAAMF,cAAc,CAACE,oBAAoB,CAAC,CAAC;EAC/C,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ,CAAC;AAED,MAAME,mBAAmB,GAAG,MAAAA,CAAA,KAA2B;EACnD,IAAI;IACA,MAAML,cAAc,CAACK,mBAAmB,CAAC,CAAC;EAC9C,CAAC,CAAC,OAAOF,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ,CAAC;AAED,MAAMG,eAAe,GAAG,MAAAA,CAAA,KAA0B;EAC9C,IAAI;IACA,OAAON,cAAc,CAACM,eAAe,CAAC,CAAC;EAC3C,CAAC,CAAC,OAAOH,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACpB,OAAO,IAAI;EACf;AACJ,CAAC;AASD,MAAMI,mBAAmB,GAAIC,QAA0C,IAA0B;EAC7F,OAAOP,oBAAoB,CAACQ,WAAW,CAAC,iBAAiB,EAAED,QAAQ,CAAC;AACxE,CAAC;AAED,MAAME,sBAAsB,GAAIC,YAAiC,IAAW;EACxEA,YAAY,CAACC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED,eAAe;EACXV,oBAAoB;EACpBG,mBAAmB;EACnBE,mBAAmB;EACnBG,sBAAsB;EACtBJ;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { NativeModules } from 'react-native';
|
|
2
|
+
const {
|
|
3
|
+
PermissionsModule
|
|
4
|
+
} = NativeModules;
|
|
5
|
+
const requestForegroundPermissions = async () => {
|
|
6
|
+
return PermissionsModule.requestForegroundPermissions();
|
|
7
|
+
};
|
|
8
|
+
const requestBackgroundPermissions = async () => {
|
|
9
|
+
return PermissionsModule.requestBackgroundPermissions();
|
|
10
|
+
};
|
|
11
|
+
export default {
|
|
12
|
+
requestForegroundPermissions,
|
|
13
|
+
requestBackgroundPermissions
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=PermissionModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeModules","PermissionsModule","requestForegroundPermissions","requestBackgroundPermissions"],"sources":["PermissionModule.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\n\nconst { PermissionsModule } = NativeModules;\n\ninterface PermissionsModuleType {\n requestForegroundPermissions: () => Promise<boolean>;\n requestBackgroundPermissions: () => Promise<boolean>;\n}\n\nconst requestForegroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestForegroundPermissions();\n};\n\nconst requestBackgroundPermissions = async (): Promise<boolean> => {\n return PermissionsModule.requestBackgroundPermissions();\n};\n\nexport default {\n requestForegroundPermissions,\n requestBackgroundPermissions,\n} as PermissionsModuleType;"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAM;EAAEC;AAAkB,CAAC,GAAGD,aAAa;AAO3C,MAAME,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOD,iBAAiB,CAACC,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;EAC/D,OAAOF,iBAAiB,CAACE,4BAA4B,CAAC,CAAC;AAC3D,CAAC;AAED,eAAe;EACXD,4BAA4B;EAC5BC;AACJ,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';
|
|
|
4
4
|
import dispatchEvent from '../events/EventDispatcher';
|
|
5
5
|
import { JSONPath } from 'jsonpath-plus';
|
|
6
6
|
export async function getBaseETResponse(entityCode, success, eventCode, reasonCode, mergedObjectiveIds, taskId) {
|
|
7
|
-
let lastLocation = LocationManager.getInstance().getLastLocation();
|
|
7
|
+
let lastLocation = await LocationManager.getInstance().getLastLocation();
|
|
8
8
|
console.log("getBaseETResponse:lastLocation:", JSON.stringify(lastLocation));
|
|
9
9
|
let cache = DispatchSdkCache.getInstance();
|
|
10
10
|
const sdkConfig = await cache.getObjectFromCache(DispatchSdkCache.KEYS.SDK_CONFIG);
|
|
@@ -104,12 +104,12 @@ export function onTaskStart(eventData, customData, triggerEvent = true) {
|
|
|
104
104
|
const keys = DispatchSdkCache.KEYS;
|
|
105
105
|
const cache = DispatchSdkCache.getInstance();
|
|
106
106
|
(async () => {
|
|
107
|
-
let lastLocation = LocationManager.getInstance().getLastLocation();
|
|
107
|
+
let lastLocation = await LocationManager.getInstance().getLastLocation();
|
|
108
|
+
console.log("onTaskStart:lastLocation:", JSON.stringify(lastLocation));
|
|
108
109
|
let location = {
|
|
109
110
|
latitude: lastLocation.latitude,
|
|
110
111
|
longitude: lastLocation.longitude
|
|
111
112
|
};
|
|
112
|
-
console.log("onTaskStart:lastLocation:", location);
|
|
113
113
|
await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());
|
|
114
114
|
await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);
|
|
115
115
|
await cache.setObjectInCache(keys.TASK_START_LOCATION, location);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LocationManager","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","CAPTURE_INPUT","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","maskContact","contact","includes","domain","split","maskedName","maskedEmail","slice"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log(\"getBaseETResponse:startLocation:\",startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation:{\n latitude:startLocation.latitude,\n longitude:startLocation.longitude\n },\n endLocation:{\n latitude:lastLocation.latitude,\n longitude:lastLocation.longitude\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log(\"getBaseETResponse:baseResponse:\",JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = LocationManager.getInstance().getLastLocation();\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n console.log(\"onTaskStart:lastLocation:\",location)\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n\n\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport const maskContact = (contact: string) => {\n if (contact.includes('@')) {\n const [name, domain] = contact.split('@');\n const maskedName = name.substring(0, 3) + '****';\n const maskedEmail = maskedName + '@' + domain;\n return maskedEmail;\n } else {\n return `${contact.slice(0, 2)}****${contact.slice(-4)}`;\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["LocationManager","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","CAPTURE_INPUT","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","maskContact","contact","includes","domain","split","maskedName","maskedEmail","slice"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log(\"getBaseETResponse:startLocation:\",startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation:{\n latitude:startLocation.latitude,\n longitude:startLocation.longitude\n },\n endLocation:{\n latitude:lastLocation.latitude,\n longitude:lastLocation.longitude\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log(\"getBaseETResponse:baseResponse:\",JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"onTaskStart:lastLocation:\",JSON.stringify(lastLocation));\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n\n\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport const maskContact = (contact: string) => {\n if (contact.includes('@')) {\n const [name, domain] = contact.split('@');\n const maskedName = name.substring(0, 3) + '****';\n const maskedEmail = maskedName + '@' + domain;\n return maskedEmail;\n } else {\n return `${contact.slice(0, 2)}****${contact.slice(-4)}`;\n }\n};\n"],"mappings":"AACA,OAAOA,eAAe,MAAM,qCAAqC;AACjE,OAAOC,gBAAgB,MAAM,iCAAiC;AAE9D,SAASC,UAAU,EAAEC,eAAe,QAAQ,8BAA8B;AAG1E,OAAOC,aAAa,MAAM,2BAA2B;AAErD,SAASC,QAAQ,QAAQ,eAAe;AAIxC,OAAO,eAAeC,iBAAiBA,CACrCC,UAAkB,EAClBC,OAAgB,EAChBC,SAAiB,EACjBC,UAAkB,EAClBC,kBAAiC,EACjCC,MAAuB,EACE;EAC1B,IAAIC,YAAY,GAAG,MAAMb,eAAe,CAACc,WAAW,CAAC,CAAC,CAACC,eAAe,CAAC,CAAC;EACxEC,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAACC,IAAI,CAACC,SAAS,CAACN,YAAY,CAAC,CAAC;EAE1E,IAAIO,KAAK,GAAGnB,gBAAgB,CAACa,WAAW,CAAC,CAAC;EAC1C,MAAMO,SAAS,GAAI,MAAMD,KAAK,CAACE,kBAAkB,CAC/CrB,gBAAgB,CAACsB,IAAI,CAACC,UACxB,CAAuB;EACvB,MAAMC,SAAS,GAAG,MAAML,KAAK,CAACE,kBAAkB,CAC9CrB,gBAAgB,CAACsB,IAAI,CAACG,eACxB,CAAC;EACD,MAAMC,aAAa,GAAG,MAAMP,KAAK,CAACE,kBAAkB,CAClDrB,gBAAgB,CAACsB,IAAI,CAACK,mBACxB,CAAC;EACDZ,OAAO,CAACC,GAAG,CAAC,kCAAkC,EAACU,aAAa,CAAC;EAC7D,IAAIE,YAA4B,GAAG;IACjCtB,UAAU,EAAEA,UAAU;IACtBC,OAAO,EAAEA,OAAO;IAChBC,SAAS,EAAEA,SAAS;IACpBC,UAAU,EAAEA,UAAU;IACtBoB,EAAE,EAAElB,MAAM;IACVmB,IAAI,EAAE;MACJJ,aAAa,EAAC;QACZK,QAAQ,EAACL,aAAa,CAACK,QAAQ;QAC/BC,SAAS,EAACN,aAAa,CAACM;MAC1B,CAAC;MACDC,WAAW,EAAC;QACVF,QAAQ,EAACnB,YAAY,CAACmB,QAAQ;QAC9BC,SAAS,EAACpB,YAAY,CAACoB;MACzB,CAAC;MACD;MACA;MACA;MACA;MACAE,WAAW,EAAE;QACXL,EAAE,EAAE,CAAAT,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEe,MAAM,KAAI,EAAE;QAC3BC,IAAI,EAAE,CAAAhB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEiB,QAAQ,KAAI;MAC/B,CAAC;MACDb,SAAS,EAAEA,SAAS,GAAGc,QAAQ,CAACd,SAAS,CAAC,GAAGe,IAAI,CAACC,GAAG,CAAC,CAAC;MACvDC,OAAO,EAAEF,IAAI,CAACC,GAAG,CAAC;IACpB,CAAC;IACD9B;EACF,CAAC;EACDK,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAACC,IAAI,CAACC,SAAS,CAACU,YAAY,CAAC,CAAC;EAE3E,OAAOA,YAAY;AACrB;AAEA,OAAO,eAAec,wBAAwBA,CAC5CpC,UAAkB,EAClBC,OAAgB,EAChBC,SAAiB,EACjBC,UAAkB,EAClBkC,iBAAgC,EAChChC,MAAuB,EACvB;EACA,IAAIiC,gBAAqC,GAAG;IAC1C,IAAI,MAAMvC,iBAAiB,CACzBC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVkC,iBAAiB,EACjBhC,MACF,CAAC;EACH,CAAC;EACD,OAAOiC,gBAAgB;AACzB;AACA,OAAO,SAASC,iBAAiBA,CAACC,IAAY,EAAU;EACtD,QAAQA,IAAI;IACV,KAAK5C,eAAe,CAAC6C,aAAa;MAChC,OAAO9C,UAAU,CAAC8C,aAAa;IACjC,KAAK7C,eAAe,CAAC8C,aAAa;MAChC,OAAO/C,UAAU,CAAC+C,aAAa;IACjC,KAAK9C,eAAe,CAAC+C,OAAO;MAC1B,OAAOhD,UAAU,CAACgD,OAAO;IAC3B,KAAK/C,eAAe,CAACgD,MAAM;MACzB,OAAOjD,UAAU,CAACiD,MAAM;IAC1B,KAAKhD,eAAe,CAACiD,KAAK;MACxB,OAAOlD,UAAU,CAACkD,KAAK;IACzB,KAAKjD,eAAe,CAACkD,IAAI;MACvB,OAAOnD,UAAU,CAACmD,IAAI;IACxB,KAAKlD,eAAe,CAACmD,OAAO;MAC1B,OAAOpD,UAAU,CAACoD,OAAO;IAC3B,KAAKnD,eAAe,CAACoD,MAAM;MACzB,OAAOrD,UAAU,CAACqD,MAAM;IAC1B,KAAKpD,eAAe,CAACqD,cAAc;MACjC,OAAOtD,UAAU,CAACsD,cAAc;IAClC,KAAKrD,eAAe,CAACsD,eAAe;MAClC,OAAOvD,UAAU,CAACuD,eAAe;IACnC,KAAKtD,eAAe,CAACuD,iBAAiB;MACpC,OAAOxD,UAAU,CAACwD,iBAAiB;IACrC,KAAKvD,eAAe,CAACwD,iBAAiB;MACpC,OAAOzD,UAAU,CAACyD,iBAAiB;IACrC,KAAKxD,eAAe,CAACyD,YAAY;MAC/B,OAAO1D,UAAU,CAAC0D,YAAY;IAChC,KAAKzD,eAAe,CAAC0D,eAAe;MAClC,OAAO3D,UAAU,CAAC2D,eAAe;IACnC,KAAK1D,eAAe,CAAC2D,gBAAgB;MACnC,OAAO5D,UAAU,CAAC4D,gBAAgB;IACpC,KAAK3D,eAAe,CAAC4D,YAAY;MAC/B,OAAO7D,UAAU,CAAC6D,YAAY;IAChC,KAAK5D,eAAe,CAAC6D,YAAY;MAC/B,OAAO9D,UAAU,CAAC8D,YAAY;IAChC,KAAK7D,eAAe,CAAC8D,eAAe;MAClC,OAAO/D,UAAU,CAAC+D,eAAe;IACnC;MACE,OAAO,sBAAsB;EACjC;AACF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO,SAASC,WAAWA,CACzBC,SAAgD,EAChDC,UAAe,EACfC,YAAY,GAAG,IAAI,EACnB;EACA,MAAMC,IAAI,GAAGrE,gBAAgB,CAACsB,IAAI;EAClC,MAAMH,KAAK,GAAGnB,gBAAgB,CAACa,WAAW,CAAC,CAAC;EAC5C,CAAC,YAAY;IACX,IAAID,YAAY,GAAG,MAAMb,eAAe,CAACc,WAAW,CAAC,CAAC,CAACC,eAAe,CAAC,CAAC;IACxEC,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAACC,IAAI,CAACC,SAAS,CAACN,YAAY,CAAC,CAAC;IACrE,IAAI0D,QAAQ,GAAG;MACbvC,QAAQ,EAAEnB,YAAY,CAACmB,QAAQ;MAC/BC,SAAS,EAAEpB,YAAY,CAACoB;IAC1B,CAAC;IACD,MAAMb,KAAK,CAACoD,aAAa,CAACF,IAAI,CAAC5C,eAAe,EAAEc,IAAI,CAACC,GAAG,CAAC,CAAC,CAACgC,QAAQ,CAAC,CAAC,CAAC;IACtE,MAAMrD,KAAK,CAACoD,aAAa,CAACF,IAAI,CAACI,uBAAuB,EAAEP,SAAS,CAACvD,MAAM,CAAC;IACzE,MAAMQ,KAAK,CAACuD,gBAAgB,CAACL,IAAI,CAAC1C,mBAAmB,EAAE2C,QAAQ,CAAC;EAGlE,CAAC,EAAE,CAAC;EACJ,IAAIF,YAAY,EAAE;IAChB,MAAMO,YAAY,GAAGT,SAAS,CAACU,QAAQ;IACvC,MAAMC,eAA2B,GAAG;MAClCC,MAAM,EAAEZ,SAAS,CAACa,KAAK;MACvBpE,MAAM,EAAEuD,SAAS,CAACvD,MAAM;MACxBqE,SAAS,EAAEzC,IAAI,CAACC,GAAG,CAAC,CAAC;MACrB2B;IACF,CAAC;IACD;AACJ;AACA;;IAEI;AACJ;AACA;AACA;AACA;AACA;AACA;IACIhE,aAAa,CAAC,OAAO,EAAEwE,YAAY,EAAEE,eAAe,CAAC;EACvD;AACF;AAEA,OAAO,SAASI,YAAYA,CAC1BC,SAAiB,EACjBhB,SAAgD,EAChDC,UAAe,EACfgB,cAAmB,EACnBf,YAAY,GAAG,IAAI,EACnB;EACA,IAAIA,YAAY,EAAE;IAChB,MAAMO,YAAY,GAAGT,SAAS,CAACU,QAAQ;IACvC,MAAMC,eAA2B,GAAG;MAClCC,MAAM,EAAEZ,SAAS,CAACa,KAAK;MACvBpE,MAAM,EAAEuD,SAAS,CAACvD,MAAM;MACxBqE,SAAS,EAAEzC,IAAI,CAACC,GAAG,CAAC,CAAC;MACrB2B,UAAU;MACVgB;IACF,CAAC;IACDhF,aAAa,CAAC,UAAU,EAAE+E,SAAS,GAAG,GAAG,GAAGP,YAAY,EAAEE,eAAe,CAAC;EAC5E;AACF;AAEA,MAAMO,UAAU,GAAIC,KAAU,IAAK;EACjC,QAAQ,OAAOA,KAAK;IAClB,KAAK,SAAS;IACd,KAAK,QAAQ;MACX,OAAO,IAAI;IACb;MACE,OAAO,KAAK;EAChB;AACF,CAAC;AACD,MAAMC,cAAc,GAAG,SAAAA,CAAUP,KAAa,EAAE;EAC9C,IACEA,KAAK,CAACQ,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IACvBR,KAAK,CAACQ,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IACvBR,KAAK,CAACQ,MAAM,CAACR,KAAK,CAACS,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,IACtCT,KAAK,CAACQ,MAAM,CAACR,KAAK,CAACS,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAEtC,OAAO,IAAI,CAAC,KACT,OAAO,KAAK;AACnB,CAAC;AAED,OAAO,SAASC,mBAAmBA,CAACC,SAAc,EAAEC,QAAa,EAAE;EACjE,KAAK,MAAMC,GAAG,IAAIF,SAAS,EAAE;IAC3B,IAAIL,KAAK,GAAGK,SAAS,CAACE,GAAG,CAAC;IAC1B,IAAI,CAACR,UAAU,CAACC,KAAK,CAAC,EAAE;MACtB,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIC,cAAc,CAACD,KAAK,CAAC,EAAE;QAC/D,MAAMQ,IAAI,GAAGR,KAAK,CAACS,SAAS,CAAC,CAAC,EAAET,KAAK,CAACG,MAAM,GAAG,CAAC,CAAC;QACjD,MAAMO,MAAM,GAAG3F,QAAQ,CAAC;UACtB4F,IAAI,EAAEL,QAAQ;UACdE;QACF,CAAC,CAAC;QACF,MAAMI,UAAU,GAAGF,MAAM,CAACG,GAAG,CAAC,CAAC;QAC/B,IAAID,UAAU,EAAEP,SAAS,CAACE,GAAG,CAAC,GAAGK,UAAU;MAC7C,CAAC,MAAM,IAAI,OAAOZ,KAAK,KAAK,QAAQ,EAAE;QACpC,IAAIc,KAAK,CAACC,OAAO,CAACf,KAAK,CAAC,EAAE;UACxB,IAAI,OAAOA,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YAChC,MAAMgB,UAAU,GAAGhB,KAAK,CAACiB,MAAM,CAAEC,IAAI,IAAKjB,cAAc,CAACiB,IAAI,CAAC,CAAC;YAC/D,IAAIF,UAAU,CAACb,MAAM,EAAE;cACrB,MAAMK,IAAI,GAAGQ,UAAU,CAAC,CAAC,CAAC,CAACP,SAAS,CAAC,CAAC,EAAEO,UAAU,CAAC,CAAC,CAAC,CAACb,MAAM,GAAG,CAAC,CAAC;cACjE,MAAMO,MAAM,GAAG3F,QAAQ,CAAC;gBACtB4F,IAAI,EAAEL,QAAQ;gBACdE;cACF,CAAC,CAAC;cAEF,IAAII,UAAU,GAAGF,MAAM,CAACG,GAAG,CAAC,CAAC;cAC7B,IAAID,UAAU,EAAE;gBACdZ,KAAK,CAACmB,KAAK,CAAC,CAAC;gBACb,IACEL,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,IACzBZ,KAAK,IACLc,KAAK,CAACC,OAAO,CAACf,KAAK,CAAC,EACpB;kBACAK,SAAS,CAACE,GAAG,CAAC,GAAG,CAAC,GAAGK,UAAU,EAAE,GAAGZ,KAAK,CAAC;gBAC5C,CAAC,MAAMK,SAAS,CAACE,GAAG,CAAC,GAAGK,UAAU;cACpC;YACF;UACF,CAAC,MAAM,IAAI,OAAOZ,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACvCK,SAAS,CAACE,GAAG,CAAC,GAAGP,KAAK,CAACoB,GAAG,CAAEC,GAAG,IAAK;cAClCA,GAAG,GAAGjB,mBAAmB,CAACiB,GAAG,EAAEf,QAAQ,CAAC;cACxC,OAAOe,GAAG;YACZ,CAAC,CAAC;UACJ;QACF,CAAC,MAAMjB,mBAAmB,CAACJ,KAAK,EAAEM,QAAQ,CAAC;MAC7C;IACF;EACF;EACA,OAAOD,SAAS;AAClB;AAEA,OAAO,MAAMiB,WAAW,GAAIC,OAAe,IAAK;EAC9C,IAAIA,OAAO,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACzB,MAAM,CAACzE,IAAI,EAAE0E,MAAM,CAAC,GAAGF,OAAO,CAACG,KAAK,CAAC,GAAG,CAAC;IACzC,MAAMC,UAAU,GAAG5E,IAAI,CAAC0D,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM;IAChD,MAAMmB,WAAW,GAAGD,UAAU,GAAG,GAAG,GAAGF,MAAM;IAC7C,OAAOG,WAAW;EACpB,CAAC,MAAM;IACL,OAAO,GAAGL,OAAO,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAON,OAAO,CAACM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;EACzD;AACF,CAAC","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import * as Location from 'expo-location';
|
|
|
6
6
|
import NetworkUtil from './NetworkUtil';
|
|
7
7
|
import { BaseError } from '../errors/BaseError';
|
|
8
8
|
import ErrorCodes from '../errors/ErrorCodes';
|
|
9
|
+
import PermissionModule from '../native/PermissionModule';
|
|
9
10
|
const {
|
|
10
11
|
DispatchSdkUtils
|
|
11
12
|
} = NativeModules;
|
|
@@ -79,8 +80,13 @@ export default class SdkUtils {
|
|
|
79
80
|
});
|
|
80
81
|
}
|
|
81
82
|
static async checkMandatory() {
|
|
82
|
-
if (Platform.OS === 'ios')
|
|
83
|
-
|
|
83
|
+
if (Platform.OS === 'ios') {
|
|
84
|
+
const foregroundLocation = await PermissionModule.requestForegroundPermissions();
|
|
85
|
+
if (!foregroundLocation) {
|
|
86
|
+
throw new BaseError(ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED, 'Location or GPS not enabled');
|
|
87
|
+
}
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
84
90
|
const dateTimeCheck = await DispatchSdkUtils.isAutomaticDateTimeEnabled();
|
|
85
91
|
if (!dateTimeCheck) {
|
|
86
92
|
throw new BaseError(ErrorCodes.SYSTEM_TIME_CHECK_FAILED, 'Automatic date/time not enabled!');
|
|
@@ -88,8 +94,10 @@ export default class SdkUtils {
|
|
|
88
94
|
if (Platform.OS === 'android') {
|
|
89
95
|
await Location.enableNetworkProviderAsync();
|
|
90
96
|
let locationServicesCheck = await Location.hasServicesEnabledAsync();
|
|
91
|
-
const foregroundLocation = await
|
|
92
|
-
|
|
97
|
+
const foregroundLocation = await PermissionModule.requestForegroundPermissions();
|
|
98
|
+
// await Location.requestForegroundPermissionsAsync(); //permission code using expo module
|
|
99
|
+
const bgLocation = await PermissionModule.requestBackgroundPermissions();
|
|
100
|
+
// await Location.requestBackgroundPermissionsAsync(); //permission code using expo module
|
|
93
101
|
if (!(locationServicesCheck && foregroundLocation && bgLocation)) {
|
|
94
102
|
throw new BaseError(ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED, 'Location or GPS not enabled');
|
|
95
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["remoteConfig","Logger","LOG_TYPE","FileSystem","NativeModules","Platform","Location","NetworkUtil","BaseError","ErrorCodes","DispatchSdkUtils","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","then","fetchAndActivate","fetchedRemotely","config","getAll","getInstance","logEvent","SDK_INFO","catch","err","error","downloadAPK","apkURL","version","callback","fileUri","cacheDirectory","fileInfo","getInfoAsync","currentDate","Date","toLocaleDateString","fileDate","modificationTime","exists","uri","downloadResumable","createDownloadResumable","downloadResult","downloadAsync","deleteApk","deleteAsync","openAPKFile","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","OS","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","foregroundLocation","requestForegroundPermissionsAsync","bgLocation","requestBackgroundPermissionsAsync","LOCATION_OR_GPS_NOT_ENABLED","internet","isAvailableAsync","INTERNET_NOT_ENABLED"],"sources":["SdkUtils.ts"],"sourcesContent":["import remoteConfig from '@react-native-firebase/remote-config';\nimport Logger, { LOG_TYPE } from './Logger';\nimport type { DownloadProgressData } from 'expo-file-system';\nimport * as FileSystem from 'expo-file-system';\nimport { NativeModules, Platform } from 'react-native';\nimport * as Location from 'expo-location';\nimport NetworkUtil from './NetworkUtil';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\n\nconst { DispatchSdkUtils } = NativeModules;\n\ninterface DispatchUtilsInterface {\n openAndInstallApk(apkUri: String): Promise<boolean>;\n openSettings(): Promise<boolean>;\n showAndroidDialog(\n title: string,\n message: string,\n positiveText: string,\n negativeText: string | null,\n cancelable: boolean\n ): Promise<boolean>;\n isAutomaticDateTimeEnabled(): Promise<boolean>;\n}\n\nexport { DispatchSdkUtils as DispatchUtilsInterface };\n\nexport default class SdkUtils {\n /**\n * number of seconds to cache the firebase config\n * @param expiration\n */\n static async getRemoteConfig(expiration: number): Promise<any> {\n return new Promise(async (resolve, reject) => {\n try {\n await remoteConfig().fetch(expiration);\n remoteConfig()\n .setDefaults({\n cxRumDevApiKey: 'NA',\n cxRumProdApiKey: 'NA',\n isMandatoryUpdate: 'false',\n isMandatoryUpdateiOS: 'false',\n toggleInAppUpdateiOS: 'false',\n toggleInAppUpdate: 'false',\n })\n .then(() => remoteConfig().fetchAndActivate())\n .then((fetchedRemotely) => {\n let config = remoteConfig().getAll();\n if (fetchedRemotely) {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'Configs were retrieved from the backend and activated.',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n } else {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'No configs were fetched from the backend, and the local configs were already activated',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n }\n })\n .catch((err) => {\n reject(err);\n });\n } catch (error: any) {\n reject(error);\n }\n });\n }\n\n /**\n * Function to download apk file from a public URL\n * @param apkURL - URL where apk is hosted\n * @param version - expected version of apk (used for naming the file)\n * @param callback - callback for getting progress of download\n */\n public static async downloadAPK(\n apkURL: string,\n version: string,\n callback: (progress: DownloadProgressData) => any\n ): Promise<string | undefined> {\n const fileUri = FileSystem.cacheDirectory + `${version}.apk`;\n const fileInfo = await FileSystem.getInfoAsync(fileUri);\n const currentDate = new Date().toLocaleDateString();\n const fileDate = new Date(\n fileInfo.modificationTime ? fileInfo.modificationTime * 1000 : 0\n ).toLocaleDateString();\n if (fileInfo.exists && currentDate === fileDate) {\n return fileInfo.uri;\n }\n const downloadResumable = FileSystem.createDownloadResumable(\n apkURL,\n FileSystem.cacheDirectory + `${version}.apk`,\n {},\n callback\n );\n const downloadResult = await downloadResumable.downloadAsync();\n return downloadResult?.uri;\n }\n\n /**\n * Opens & Install an APK file\n * @param uri - source of apk file\n */\n public static async deleteApk(version: string) {\n await FileSystem.deleteAsync(FileSystem.cacheDirectory + `${version}.apk`);\n }\n\n public static async openAPKFile(uri: string) {\n return await (DispatchSdkUtils as DispatchUtilsInterface).openAndInstallApk(\n uri\n );\n }\n\n public static openAppSettings() {\n (DispatchSdkUtils as DispatchUtilsInterface)\n .openSettings()\n .then()\n .catch((error) => {\n Logger.getInstance().logEvent(\n 'Intent error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n });\n }\n\n public static async checkMandatory() {\n if (Platform.OS === 'ios') return;\n // if (Platform.OS === 'ios') return true;\n const dateTimeCheck = await (\n DispatchSdkUtils as DispatchUtilsInterface\n ).isAutomaticDateTimeEnabled();\n if (!dateTimeCheck) {\n throw new BaseError(\n ErrorCodes.SYSTEM_TIME_CHECK_FAILED,\n 'Automatic date/time not enabled!'\n );\n }\n if (Platform.OS === 'android') {\n await Location.enableNetworkProviderAsync();\n let locationServicesCheck = await Location.hasServicesEnabledAsync();\n const foregroundLocation =\n await Location.requestForegroundPermissionsAsync();\n const bgLocation = await Location.requestBackgroundPermissionsAsync();\n if (!(locationServicesCheck && foregroundLocation && bgLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n }\n let internet = await NetworkUtil.isAvailableAsync();\n if (!internet)\n throw new BaseError(\n ErrorCodes.INTERNET_NOT_ENABLED,\n 'Internet is disabled! Please enable internet and try again '\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["remoteConfig","Logger","LOG_TYPE","FileSystem","NativeModules","Platform","Location","NetworkUtil","BaseError","ErrorCodes","PermissionModule","DispatchSdkUtils","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","then","fetchAndActivate","fetchedRemotely","config","getAll","getInstance","logEvent","SDK_INFO","catch","err","error","downloadAPK","apkURL","version","callback","fileUri","cacheDirectory","fileInfo","getInfoAsync","currentDate","Date","toLocaleDateString","fileDate","modificationTime","exists","uri","downloadResumable","createDownloadResumable","downloadResult","downloadAsync","deleteApk","deleteAsync","openAPKFile","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","OS","foregroundLocation","requestForegroundPermissions","LOCATION_OR_GPS_NOT_ENABLED","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","bgLocation","requestBackgroundPermissions","internet","isAvailableAsync","INTERNET_NOT_ENABLED"],"sources":["SdkUtils.ts"],"sourcesContent":["import remoteConfig from '@react-native-firebase/remote-config';\nimport Logger, { LOG_TYPE } from './Logger';\nimport type { DownloadProgressData } from 'expo-file-system';\nimport * as FileSystem from 'expo-file-system';\nimport { NativeModules, Platform } from 'react-native';\nimport * as Location from 'expo-location';\nimport NetworkUtil from './NetworkUtil';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\nimport PermissionModule from '../native/PermissionModule';\n\nconst { DispatchSdkUtils } = NativeModules;\n\ninterface DispatchUtilsInterface {\n openAndInstallApk(apkUri: String): Promise<boolean>;\n openSettings(): Promise<boolean>;\n showAndroidDialog(\n title: string,\n message: string,\n positiveText: string,\n negativeText: string | null,\n cancelable: boolean\n ): Promise<boolean>;\n isAutomaticDateTimeEnabled(): Promise<boolean>;\n}\n\nexport { DispatchSdkUtils as DispatchUtilsInterface };\n\nexport default class SdkUtils {\n /**\n * number of seconds to cache the firebase config\n * @param expiration\n */\n static async getRemoteConfig(expiration: number): Promise<any> {\n return new Promise(async (resolve, reject) => {\n try {\n await remoteConfig().fetch(expiration);\n remoteConfig()\n .setDefaults({\n cxRumDevApiKey: 'NA',\n cxRumProdApiKey: 'NA',\n isMandatoryUpdate: 'false',\n isMandatoryUpdateiOS: 'false',\n toggleInAppUpdateiOS: 'false',\n toggleInAppUpdate: 'false',\n })\n .then(() => remoteConfig().fetchAndActivate())\n .then((fetchedRemotely) => {\n let config = remoteConfig().getAll();\n if (fetchedRemotely) {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'Configs were retrieved from the backend and activated.',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n } else {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'No configs were fetched from the backend, and the local configs were already activated',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n }\n })\n .catch((err) => {\n reject(err);\n });\n } catch (error: any) {\n reject(error);\n }\n });\n }\n\n /**\n * Function to download apk file from a public URL\n * @param apkURL - URL where apk is hosted\n * @param version - expected version of apk (used for naming the file)\n * @param callback - callback for getting progress of download\n */\n public static async downloadAPK(\n apkURL: string,\n version: string,\n callback: (progress: DownloadProgressData) => any\n ): Promise<string | undefined> {\n const fileUri = FileSystem.cacheDirectory + `${version}.apk`;\n const fileInfo = await FileSystem.getInfoAsync(fileUri);\n const currentDate = new Date().toLocaleDateString();\n const fileDate = new Date(\n fileInfo.modificationTime ? fileInfo.modificationTime * 1000 : 0\n ).toLocaleDateString();\n if (fileInfo.exists && currentDate === fileDate) {\n return fileInfo.uri;\n }\n const downloadResumable = FileSystem.createDownloadResumable(\n apkURL,\n FileSystem.cacheDirectory + `${version}.apk`,\n {},\n callback\n );\n const downloadResult = await downloadResumable.downloadAsync();\n return downloadResult?.uri;\n }\n\n /**\n * Opens & Install an APK file\n * @param uri - source of apk file\n */\n public static async deleteApk(version: string) {\n await FileSystem.deleteAsync(FileSystem.cacheDirectory + `${version}.apk`);\n }\n\n public static async openAPKFile(uri: string) {\n return await (DispatchSdkUtils as DispatchUtilsInterface).openAndInstallApk(\n uri\n );\n }\n\n public static openAppSettings() {\n (DispatchSdkUtils as DispatchUtilsInterface)\n .openSettings()\n .then()\n .catch((error) => {\n Logger.getInstance().logEvent(\n 'Intent error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n });\n }\n\n public static async checkMandatory() {\n if (Platform.OS === 'ios'){\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n if (!(foregroundLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n return;\n }\n const dateTimeCheck = await (\n DispatchSdkUtils as DispatchUtilsInterface\n ).isAutomaticDateTimeEnabled();\n if (!dateTimeCheck) {\n throw new BaseError(\n ErrorCodes.SYSTEM_TIME_CHECK_FAILED,\n 'Automatic date/time not enabled!'\n );\n }\n if (Platform.OS === 'android') {\n await Location.enableNetworkProviderAsync();\n let locationServicesCheck = await Location.hasServicesEnabledAsync();\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n // await Location.requestForegroundPermissionsAsync(); //permission code using expo module\n const bgLocation = await PermissionModule.requestBackgroundPermissions();\n // await Location.requestBackgroundPermissionsAsync(); //permission code using expo module\n if (!(locationServicesCheck && foregroundLocation && bgLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n }\n let internet = await NetworkUtil.isAvailableAsync();\n if (!internet)\n throw new BaseError(\n ErrorCodes.INTERNET_NOT_ENABLED,\n 'Internet is disabled! Please enable internet and try again '\n );\n }\n}\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,sCAAsC;AAC/D,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,UAAU;AAE3C,OAAO,KAAKC,UAAU,MAAM,kBAAkB;AAC9C,SAASC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAOC,WAAW,MAAM,eAAe;AACvC,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,OAAOC,UAAU,MAAM,sBAAsB;AAC7C,OAAOC,gBAAgB,MAAM,4BAA4B;AAEzD,MAAM;EAAEC;AAAiB,CAAC,GAAGP,aAAa;AAe1C,SAASO,gBAAgB,IAAIC,sBAAsB;AAEnD,eAAe,MAAMC,QAAQ,CAAC;EAC5B;AACF;AACA;AACA;EACE,aAAaC,eAAeA,CAACC,UAAkB,EAAgB;IAC7D,OAAO,IAAIC,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC5C,IAAI;QACF,MAAMlB,YAAY,CAAC,CAAC,CAACmB,KAAK,CAACJ,UAAU,CAAC;QACtCf,YAAY,CAAC,CAAC,CACXoB,WAAW,CAAC;UACXC,cAAc,EAAE,IAAI;UACpBC,eAAe,EAAE,IAAI;UACrBC,iBAAiB,EAAE,OAAO;UAC1BC,oBAAoB,EAAE,OAAO;UAC7BC,oBAAoB,EAAE,OAAO;UAC7BC,iBAAiB,EAAE;QACrB,CAAC,CAAC,CACDC,IAAI,CAAC,MAAM3B,YAAY,CAAC,CAAC,CAAC4B,gBAAgB,CAAC,CAAC,CAAC,CAC7CD,IAAI,CAAEE,eAAe,IAAK;UACzB,IAAIC,MAAM,GAAG9B,YAAY,CAAC,CAAC,CAAC+B,MAAM,CAAC,CAAC;UACpC,IAAIF,eAAe,EAAE;YACnB5B,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACC,QAAQ,CAC3B,eAAe,EACf,wDAAwD,EACxD/B,QAAQ,CAACgC,QACX,CAAC;YACDjB,OAAO,CAACa,MAAM,CAAC;UACjB,CAAC,MAAM;YACL7B,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACC,QAAQ,CAC3B,eAAe,EACf,wFAAwF,EACxF/B,QAAQ,CAACgC,QACX,CAAC;YACDjB,OAAO,CAACa,MAAM,CAAC;UACjB;QACF,CAAC,CAAC,CACDK,KAAK,CAAEC,GAAG,IAAK;UACdlB,MAAM,CAACkB,GAAG,CAAC;QACb,CAAC,CAAC;MACN,CAAC,CAAC,OAAOC,KAAU,EAAE;QACnBnB,MAAM,CAACmB,KAAK,CAAC;MACf;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,aAAoBC,WAAWA,CAC7BC,MAAc,EACdC,OAAe,EACfC,QAAiD,EACpB;IAC7B,MAAMC,OAAO,GAAGvC,UAAU,CAACwC,cAAc,GAAG,GAAGH,OAAO,MAAM;IAC5D,MAAMI,QAAQ,GAAG,MAAMzC,UAAU,CAAC0C,YAAY,CAACH,OAAO,CAAC;IACvD,MAAMI,WAAW,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,kBAAkB,CAAC,CAAC;IACnD,MAAMC,QAAQ,GAAG,IAAIF,IAAI,CACvBH,QAAQ,CAACM,gBAAgB,GAAGN,QAAQ,CAACM,gBAAgB,GAAG,IAAI,GAAG,CACjE,CAAC,CAACF,kBAAkB,CAAC,CAAC;IACtB,IAAIJ,QAAQ,CAACO,MAAM,IAAIL,WAAW,KAAKG,QAAQ,EAAE;MAC/C,OAAOL,QAAQ,CAACQ,GAAG;IACrB;IACA,MAAMC,iBAAiB,GAAGlD,UAAU,CAACmD,uBAAuB,CAC1Df,MAAM,EACNpC,UAAU,CAACwC,cAAc,GAAG,GAAGH,OAAO,MAAM,EAC5C,CAAC,CAAC,EACFC,QACF,CAAC;IACD,MAAMc,cAAc,GAAG,MAAMF,iBAAiB,CAACG,aAAa,CAAC,CAAC;IAC9D,OAAOD,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEH,GAAG;EAC5B;;EAEA;AACF;AACA;AACA;EACE,aAAoBK,SAASA,CAACjB,OAAe,EAAE;IAC7C,MAAMrC,UAAU,CAACuD,WAAW,CAACvD,UAAU,CAACwC,cAAc,GAAG,GAAGH,OAAO,MAAM,CAAC;EAC5E;EAEA,aAAoBmB,WAAWA,CAACP,GAAW,EAAE;IAC3C,OAAO,MAAOzC,gBAAgB,CAA4BiD,iBAAiB,CACzER,GACF,CAAC;EACH;EAEA,OAAcS,eAAeA,CAAA,EAAG;IAC7BlD,gBAAgB,CACdmD,YAAY,CAAC,CAAC,CACdnC,IAAI,CAAC,CAAC,CACNQ,KAAK,CAAEE,KAAK,IAAK;MAChBpC,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACC,QAAQ,CAC3B,cAAc,EACdI,KAAK,CAAC0B,OAAO,EACb7D,QAAQ,CAAC8D,SACX,CAAC;IACH,CAAC,CAAC;EACN;EAEA,aAAoBC,cAAcA,CAAA,EAAG;IACnC,IAAI5D,QAAQ,CAAC6D,EAAE,KAAK,KAAK,EAAC;MACxB,MAAMC,kBAAkB,GAAG,MAAMzD,gBAAgB,CAAC0D,4BAA4B,CAAC,CAAC;MAChF,IAAI,CAAED,kBAAmB,EAAE;QACzB,MAAM,IAAI3D,SAAS,CACjBC,UAAU,CAAC4D,2BAA2B,EACtC,6BACF,CAAC;MACH;MACA;IACF;IACA,MAAMC,aAAa,GAAG,MACpB3D,gBAAgB,CAChB4D,0BAA0B,CAAC,CAAC;IAC9B,IAAI,CAACD,aAAa,EAAE;MAClB,MAAM,IAAI9D,SAAS,CACjBC,UAAU,CAAC+D,wBAAwB,EACnC,kCACF,CAAC;IACH;IACA,IAAInE,QAAQ,CAAC6D,EAAE,KAAK,SAAS,EAAE;MAC7B,MAAM5D,QAAQ,CAACmE,0BAA0B,CAAC,CAAC;MAC3C,IAAIC,qBAAqB,GAAG,MAAMpE,QAAQ,CAACqE,uBAAuB,CAAC,CAAC;MACpE,MAAMR,kBAAkB,GAAG,MAAMzD,gBAAgB,CAAC0D,4BAA4B,CAAC,CAAC;MAChF;MACA,MAAMQ,UAAU,GAAG,MAAMlE,gBAAgB,CAACmE,4BAA4B,CAAC,CAAC;MACxE;MACA,IAAI,EAAEH,qBAAqB,IAAIP,kBAAkB,IAAIS,UAAU,CAAC,EAAE;QAChE,MAAM,IAAIpE,SAAS,CACjBC,UAAU,CAAC4D,2BAA2B,EACtC,6BACF,CAAC;MACH;IACF;IACA,IAAIS,QAAQ,GAAG,MAAMvE,WAAW,CAACwE,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAACD,QAAQ,EACX,MAAM,IAAItE,SAAS,CACjBC,UAAU,CAACuE,oBAAoB,EAC/B,6DACF,CAAC;EACL;AACF","ignoreList":[]}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import Storage from './utils/storage';
|
|
2
2
|
import type * as ETaskSchema from './components/executiontasks/ExecutionTasksIndex';
|
|
3
3
|
import * as ExecutionTask from './components/executiontasks/ExecutionTasksIndex';
|
|
4
|
-
import type { MTSInitRequest, MTSStartRequest } from '@delhivery/platform-coreos-mts-sdk';
|
|
5
|
-
import * as MtsSdk from '@delhivery/platform-coreos-mts-sdk';
|
|
6
4
|
import NativeSyncManager from './manager/syncmanager/NativeSyncManager';
|
|
7
5
|
import type { DocumentRow, EventRow } from './manager/syncmanager/DBConfig';
|
|
8
6
|
import { SyncMethod, DispatchSyncType } from './manager/syncmanager/DBConfig';
|
|
@@ -36,8 +34,6 @@ export { SyncMethod, JobObjectiveType };
|
|
|
36
34
|
export type { ETaskSchema };
|
|
37
35
|
export { ExecutionTask, CancelOrderDialog };
|
|
38
36
|
export { DispatchSDKManager };
|
|
39
|
-
export type { MTSStartRequest, MTSInitRequest };
|
|
40
|
-
export { MtsSdk };
|
|
41
37
|
export { Helper };
|
|
42
38
|
export { SentryAnalyticsSingleton, fireEventWithScreenName, SeverityLevelValue, ScreenNameSdkConstants, SentryEventNameSdkConstants, DispatchAndUserData, SentryEvent };
|
|
43
39
|
export { DocumentManager };
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export default class LocationManager {
|
|
2
2
|
private static instance;
|
|
3
|
-
private
|
|
3
|
+
private lastLocationAndroid;
|
|
4
|
+
private lastLocationiOS;
|
|
4
5
|
private stopUpdate;
|
|
6
|
+
private subscription;
|
|
5
7
|
checkForLocationPermissions(): Promise<boolean>;
|
|
6
8
|
static getInstance(): LocationManager;
|
|
7
9
|
startUpdates(): void;
|
|
8
|
-
getLastLocation(): DLocation
|
|
10
|
+
getLastLocation(): Promise<DLocation>;
|
|
9
11
|
stopLocationUpdates(): void;
|
|
10
12
|
}
|
|
11
13
|
export interface DLocation {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EmitterSubscription } from 'react-native';
|
|
2
|
+
export interface LocationType {
|
|
3
|
+
latitude: number;
|
|
4
|
+
longitude: number;
|
|
5
|
+
accuracy: number;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: {
|
|
8
|
+
startLocationUpdates: () => Promise<void>;
|
|
9
|
+
stopLocationUpdates: () => Promise<void>;
|
|
10
|
+
addLocationListener: (callback: (location: LocationType) => void) => EmitterSubscription;
|
|
11
|
+
removeLocationListener: (subscription: EmitterSubscription) => void;
|
|
12
|
+
getLastLocation: () => Promise<any>;
|
|
13
|
+
};
|
|
14
|
+
export default _default;
|