@os1-platform/dispatch-mobile 3.0.1 → 3.0.3
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/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/src/main/AndroidManifest.xml +0 -1
- package/android/src/main/java/com/dispatchsdk/permissions/PermissionModule.kt +107 -62
- package/android/src/main/java/com/dispatchsdk/sync/SyncManagerService.kt +31 -23
- package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +15 -11
- package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/AppSyncManager.js +4 -1
- package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +2 -0
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/native/PermissionModule.js +5 -1
- package/lib/commonjs/native/PermissionModule.js.map +1 -1
- package/lib/commonjs/utils/SdkUtils.js +1 -19
- package/lib/commonjs/utils/SdkUtils.js.map +1 -1
- package/lib/module/components/executiontasks/forms/FormGenerator.js +15 -11
- package/lib/module/components/executiontasks/forms/FormGenerator.js.map +1 -1
- package/lib/module/manager/syncmanager/AppSyncManager.js +4 -1
- package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +2 -0
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/native/PermissionModule.js +5 -1
- package/lib/module/native/PermissionModule.js.map +1 -1
- package/lib/module/utils/SdkUtils.js +1 -19
- package/lib/module/utils/SdkUtils.js.map +1 -1
- package/lib/typescript/native/PermissionModule.d.ts +1 -0
- package/lib/typescript/utils/SdkUtils.d.ts +0 -8
- package/package.json +43 -41
- package/src/components/executiontasks/forms/FormGenerator.tsx +12 -6
- package/src/manager/syncmanager/AppSyncManager.ts +7 -4
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +3 -0
- package/src/native/PermissionModule.ts +6 -0
- package/src/utils/SdkUtils.ts +2 -31
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
5
5
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
6
6
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
7
|
-
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
8
7
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
9
8
|
<uses-permission android:name="android.permission.CAMERA" />
|
|
10
9
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
|
@@ -10,81 +10,126 @@ import androidx.annotation.RequiresApi
|
|
|
10
10
|
import androidx.core.content.ContextCompat
|
|
11
11
|
import com.facebook.react.bridge.*
|
|
12
12
|
|
|
13
|
-
class PermissionsModule(reactContext: ReactApplicationContext) :
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
class PermissionsModule(reactContext: ReactApplicationContext) :
|
|
14
|
+
ReactContextBaseJavaModule(reactContext) {
|
|
15
|
+
companion object {
|
|
16
|
+
private const val REQUEST_CODE_FOREGROUND = 1
|
|
17
|
+
private const val REQUEST_CODE_BACKGROUND = 2
|
|
18
|
+
}
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
private var foregroundPromise: Promise? = null
|
|
21
|
+
private var backgroundPromise: Promise? = null
|
|
22
|
+
private var wakeLockPromise: Promise? = null
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
override fun getName(): String {
|
|
25
|
+
return "PermissionsModule"
|
|
26
|
+
}
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
private val requestForegroundPermissionLauncher =
|
|
29
|
+
(reactContext.currentActivity as? ComponentActivity)?.registerForActivityResult(
|
|
30
|
+
ActivityResultContracts.RequestPermission()
|
|
28
31
|
) { isGranted: Boolean ->
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
foregroundPromise = null
|
|
32
|
+
foregroundPromise?.let {
|
|
33
|
+
if (isGranted) {
|
|
34
|
+
it.resolve(true)
|
|
35
|
+
} else {
|
|
36
|
+
it.reject("Permission denied")
|
|
36
37
|
}
|
|
38
|
+
foregroundPromise = null
|
|
39
|
+
}
|
|
37
40
|
}
|
|
38
41
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
backgroundPromise = null
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@ReactMethod
|
|
54
|
-
fun requestForegroundPermissions(promise: Promise) {
|
|
55
|
-
val activity = currentActivity
|
|
56
|
-
if (activity == null) {
|
|
57
|
-
promise.reject("Activity doesn't exist")
|
|
58
|
-
return
|
|
42
|
+
private val requestBackgroundPermissionLauncher =
|
|
43
|
+
(reactContext.currentActivity as? ComponentActivity)?.registerForActivityResult(
|
|
44
|
+
ActivityResultContracts.RequestPermission()
|
|
45
|
+
) { isGranted: Boolean ->
|
|
46
|
+
backgroundPromise?.let {
|
|
47
|
+
if (isGranted) {
|
|
48
|
+
it.resolve(true)
|
|
49
|
+
} else {
|
|
50
|
+
it.reject("Permission denied")
|
|
59
51
|
}
|
|
52
|
+
backgroundPromise = null
|
|
53
|
+
}
|
|
54
|
+
}
|
|
60
55
|
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
private val requestWakeLockPermissionLauncher =
|
|
57
|
+
(reactContext.currentActivity as? ComponentActivity)?.registerForActivityResult(
|
|
58
|
+
ActivityResultContracts.RequestPermission()
|
|
59
|
+
) { isGranted: Boolean ->
|
|
60
|
+
wakeLockPromise?.let {
|
|
61
|
+
if (isGranted) {
|
|
62
|
+
it.resolve(true)
|
|
63
63
|
} else {
|
|
64
|
-
|
|
65
|
-
requestForegroundPermissionLauncher?.launch(Manifest.permission.ACCESS_FINE_LOCATION)
|
|
64
|
+
it.reject("Permission denied")
|
|
66
65
|
}
|
|
66
|
+
wakeLockPromise = null
|
|
67
|
+
}
|
|
67
68
|
}
|
|
68
69
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
@ReactMethod
|
|
71
|
+
fun requestForegroundPermissions(promise: Promise) {
|
|
72
|
+
val activity = currentActivity
|
|
73
|
+
if (activity == null) {
|
|
74
|
+
promise.reject("Activity doesn't exist")
|
|
75
|
+
return
|
|
76
|
+
}
|
|
76
77
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
if (ContextCompat.checkSelfPermission(
|
|
79
|
+
activity,
|
|
80
|
+
Manifest.permission.ACCESS_FINE_LOCATION
|
|
81
|
+
) == PackageManager.PERMISSION_GRANTED
|
|
82
|
+
) {
|
|
83
|
+
promise.resolve(true)
|
|
84
|
+
} else {
|
|
85
|
+
foregroundPromise = promise
|
|
86
|
+
requestForegroundPermissionLauncher?.launch(Manifest.permission.ACCESS_FINE_LOCATION)
|
|
87
|
+
}
|
|
88
|
+
}
|
|
82
89
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
90
|
+
@ReactMethod
|
|
91
|
+
fun requestBackgroundPermissions(promise: Promise) {
|
|
92
|
+
val activity = currentActivity
|
|
93
|
+
if (activity == null) {
|
|
94
|
+
promise.reject("Activity doesn't exist")
|
|
95
|
+
return
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
|
|
99
|
+
// For devices running Android versions below Q, background location permission is not needed.
|
|
100
|
+
promise.resolve(true)
|
|
101
|
+
return
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (ContextCompat.checkSelfPermission(
|
|
105
|
+
activity,
|
|
106
|
+
Manifest.permission.ACCESS_BACKGROUND_LOCATION
|
|
107
|
+
) == PackageManager.PERMISSION_GRANTED
|
|
108
|
+
) {
|
|
109
|
+
promise.resolve(true)
|
|
110
|
+
} else {
|
|
111
|
+
backgroundPromise = promise
|
|
112
|
+
requestBackgroundPermissionLauncher?.launch(Manifest.permission.ACCESS_BACKGROUND_LOCATION)
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@ReactMethod
|
|
117
|
+
fun requestWakeLockPermissions(promise: Promise) {
|
|
118
|
+
val activity = currentActivity
|
|
119
|
+
if (activity == null) {
|
|
120
|
+
promise.reject("Activity doesn't exist")
|
|
121
|
+
return
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (ContextCompat.checkSelfPermission(
|
|
125
|
+
activity,
|
|
126
|
+
Manifest.permission.WAKE_LOCK
|
|
127
|
+
) == PackageManager.PERMISSION_GRANTED
|
|
128
|
+
) {
|
|
129
|
+
promise.resolve(true)
|
|
130
|
+
} else {
|
|
131
|
+
wakeLockPromise = promise
|
|
132
|
+
requestWakeLockPermissionLauncher?.launch(Manifest.permission.WAKE_LOCK)
|
|
89
133
|
}
|
|
90
|
-
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -35,8 +35,9 @@ class SyncManagerService : Service() {
|
|
|
35
35
|
val context: Context = applicationContext
|
|
36
36
|
val myIntent = Intent(context, SyncEventService::class.java)
|
|
37
37
|
context.startService(myIntent)
|
|
38
|
+
|
|
38
39
|
HeadlessJsTaskService.acquireWakeLockNow(context)
|
|
39
|
-
handler.postDelayed(this, interval)
|
|
40
|
+
// handler.postDelayed(this, interval)
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
|
|
@@ -48,14 +49,6 @@ class SyncManagerService : Service() {
|
|
|
48
49
|
override fun onCreate() {
|
|
49
50
|
Tracer.debug(TAG, "onCreate ")
|
|
50
51
|
super.onCreate()
|
|
51
|
-
createNotificationChannel()
|
|
52
|
-
val notification: Notification = getNotification()
|
|
53
|
-
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU){
|
|
54
|
-
startForeground(NOTIF_ID, notification)
|
|
55
|
-
}else{
|
|
56
|
-
startForeground(NOTIF_ID, notification, FOREGROUND_SERVICE_TYPE_DATA_SYNC)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
52
|
}
|
|
60
53
|
|
|
61
54
|
override fun onDestroy() {
|
|
@@ -64,18 +57,30 @@ class SyncManagerService : Service() {
|
|
|
64
57
|
}
|
|
65
58
|
|
|
66
59
|
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
try {
|
|
61
|
+
Tracer.debug(TAG, "onStartCommand ")
|
|
62
|
+
// we should call startForeground within 5 sec of the onStartCommand to avoid crashing of the service
|
|
63
|
+
createNotificationChannel()
|
|
64
|
+
val notification: Notification = getNotification()
|
|
65
|
+
updateNotification(notification)
|
|
66
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
|
67
|
+
startForeground(NOTIF_ID, notification, FOREGROUND_SERVICE_TYPE_DATA_SYNC)
|
|
68
|
+
} else {
|
|
69
|
+
startForeground(NOTIF_ID, notification)
|
|
70
|
+
}
|
|
71
|
+
//
|
|
72
|
+
removeCallBacksIfAny()
|
|
73
|
+
if (intent != null) {
|
|
74
|
+
this.interval =
|
|
75
|
+
intent.getDoubleExtra(ModuleConfig.IntentConfig.INTERVAL, ModuleConfig.DEFAULT_INTERVAL)
|
|
76
|
+
.toLong()
|
|
77
|
+
notifText = intent.getStringExtra(ModuleConfig.IntentConfig.N_TEXT) ?: notifText
|
|
78
|
+
notifTitle = intent.getStringExtra(ModuleConfig.IntentConfig.N_TITLE) ?: notifTitle
|
|
79
|
+
}
|
|
80
|
+
handler.post(runnableCode)
|
|
81
|
+
} catch (e: Exception) {
|
|
82
|
+
Tracer.debug(TAG, "onStartCommand ${e.message}")
|
|
75
83
|
}
|
|
76
|
-
handler.post(runnableCode)
|
|
77
|
-
val notification: Notification = getNotification()
|
|
78
|
-
updateNotification(notification)
|
|
79
84
|
return START_STICKY
|
|
80
85
|
}
|
|
81
86
|
|
|
@@ -90,9 +95,12 @@ class SyncManagerService : Service() {
|
|
|
90
95
|
}
|
|
91
96
|
|
|
92
97
|
private fun getNotification(): Notification {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
98
|
+
//
|
|
99
|
+
val notificationBuilder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
100
|
+
NotificationCompat.Builder(this, ModuleConfig.SYNC_CHANNEL_ID)
|
|
101
|
+
} else {
|
|
102
|
+
NotificationCompat.Builder(this)
|
|
103
|
+
}
|
|
96
104
|
val bigTextStyle = NotificationCompat.BigTextStyle()
|
|
97
105
|
bigTextStyle.setBigContentTitle(notifTitle)
|
|
98
106
|
bigTextStyle.bigText(notifText)
|
|
@@ -160,11 +160,8 @@ const FormGenerator = props => {
|
|
|
160
160
|
}
|
|
161
161
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null))))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
162
162
|
style: styles.bottomView
|
|
163
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
164
|
-
style: [_CommonStyles.CommonStyles.nextButton,
|
|
165
|
-
width: 165,
|
|
166
|
-
marginStart: 10
|
|
167
|
-
}],
|
|
163
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNativePaper.Button, {
|
|
164
|
+
style: [styles.mainBtnStyles, _CommonStyles.CommonStyles.nextButton],
|
|
168
165
|
labelStyle: _CommonStyles.CommonStyles.nextButtonLabel,
|
|
169
166
|
mode: 'contained',
|
|
170
167
|
onPress: () => {
|
|
@@ -181,11 +178,8 @@ const FormGenerator = props => {
|
|
|
181
178
|
cta: cta
|
|
182
179
|
});
|
|
183
180
|
}
|
|
184
|
-
}, "Proceed")
|
|
185
|
-
style: [_CommonStyles.CommonStyles.cancelButton,
|
|
186
|
-
width: 165,
|
|
187
|
-
marginEnd: 10
|
|
188
|
-
}],
|
|
181
|
+
}, "Proceed"), props.isSelfLoop == false && /*#__PURE__*/_react.default.createElement(_reactNativePaper.Button, {
|
|
182
|
+
style: [styles.mainBtnStyles, _CommonStyles.CommonStyles.cancelButton],
|
|
189
183
|
labelStyle: _CommonStyles.CommonStyles.cancelButtonLabel,
|
|
190
184
|
mode: 'outlined',
|
|
191
185
|
onPress: () => {
|
|
@@ -202,7 +196,7 @@ const FormGenerator = props => {
|
|
|
202
196
|
cta: cta
|
|
203
197
|
});
|
|
204
198
|
}
|
|
205
|
-
}, "Cancel"))))
|
|
199
|
+
}, "Cancel"))));
|
|
206
200
|
};
|
|
207
201
|
var _default = exports.default = FormGenerator;
|
|
208
202
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -221,6 +215,16 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
221
215
|
flexDirection: 'row-reverse',
|
|
222
216
|
justifyContent: 'space-evenly',
|
|
223
217
|
padding: 16,
|
|
218
|
+
backgroundColor: 'white',
|
|
219
|
+
gap: 16
|
|
220
|
+
},
|
|
221
|
+
mainBtnStyles: {
|
|
222
|
+
display: 'flex',
|
|
223
|
+
flexDirection: 'row',
|
|
224
|
+
justifyContent: 'center',
|
|
225
|
+
alignItems: 'center',
|
|
226
|
+
flex: 1,
|
|
227
|
+
width: '100%',
|
|
224
228
|
backgroundColor: 'white'
|
|
225
229
|
}
|
|
226
230
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_rjsfNative","_DateTimeWidget","_interopRequireDefault","_TimeRangeSelector","_QRBarcodeScannerWidget","_DropdownWidget","_reactNativePaper","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_CommonStyles","_SdkColors","_MaterialIcons","_constants","_utils","_GoBackModal","_native","_SentrySdkConstants","_SentryAnalyticsUtils","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","customWidgets","datePicker","DateTimeWidget","timeRangeSelector","TimeRangeSelector","scanner","QRBarcodeScannerWidget","select","DropdownWidget","FormGenerator","props","form","useRef","showBackModal","setShowBackModal","useState","onCancel","setOnCancel","useFocusEffect","React","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","hasGoBackConnector","applicableReasons","navigation","goBack","BackHandler","addEventListener","removeEventListener","useLayoutEffect","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","BUTTON_CLICKED","screenName","ScreenNameSdkConstants","FORM_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","getBaseETResponse","EntityCode","FORMS","GO_BACK_EVENT_CODE","mergedObjectiveId","ExecutionTaskID","data","onFailure","Provider","KeyboardAvoidingView","CommonStyles","mainContainer","ScrollView","flex","flexGrow","View","padding","FormContext","value","defaultProps","requiredTitle","theme","primaryColor","SdkColors","ColorTheme","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","Platform","OS","Fonts","IBMPlexSans_400Regular","Text","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","getEventCodeByET","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","Button","nextButton","width","marginStart","labelStyle","nextButtonLabel","mode","current","submit","isSelfLoop","cancelButton","marginEnd","cancelButtonLabel","_default","exports","StyleSheet","create","marginTop","marginBottom","fontStyle","fontSize","lineHeight","letterSpacing","alignItems","flexDirection","justifyContent","backgroundColor"],"sources":["FormGenerator.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect, useEffect } from 'react';\nimport {\n BackHandler,\n KeyboardAvoidingView,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from 'react-native';\nimport ReactNativeForm, { defaultProps, FormContext } from 'rjsf-native';\nimport DateTimeWidget from './widgets/DateTimeWidget';\nimport TimeRangeSelector from './widgets/TimeRangeSelector';\nimport QRBarcodeScannerWidget from './widgets/QRBarcodeScannerWidget';\nimport DropdownWidget from './widgets/DropdownWidget';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport type { FormInputSchema } from './FormSchema';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst customWidgets = {\n datePicker: DateTimeWidget,\n timeRangeSelector: TimeRangeSelector,\n scanner: QRBarcodeScannerWidget,\n select: DropdownWidget,\n};\n\nconst FormGenerator = (props: FormInputSchema) => {\n const form = useRef(null);\n const [showBackModal, setShowBackModal] = useState(false);\n const [onCancel, setOnCancel] = useState(false);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = 'Back Arrow';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <KeyboardAvoidingView style={CommonStyles.mainContainer}>\n <ScrollView style={{ flex: 1, flexGrow: 1 }}>\n <View\n style={{\n flex: 1,\n padding: 20,\n }}\n >\n <FormContext.Provider\n value={{\n ...defaultProps,\n requiredTitle: '*',\n theme: {\n primaryColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n highlightColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n textColor: '#3D445C',\n placeholderTextColor: '#3D445C',\n errorColor: '#b00020',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n }}\n >\n <Text style={[styles.title]}>{props.message}</Text>\n <ReactNativeForm\n noHtml5Validate={onCancel ? true : false}\n noValidate={onCancel ? true : false}\n widgets={customWidgets}\n // @ts-ignore\n ref={form}\n // @ts-ignore\n schema={props.jsonSchema}\n showErrorList={false}\n uiSchema={props.uiSchema}\n onError={async (error) => {\n if (onCancel === false) props.onError(error);\n else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n }\n }}\n onSubmit={async (response) => {\n if (onCancel === true) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n } else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n true,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n }\n }}\n >\n <Text>{ }</Text>\n </ReactNativeForm>\n </FormContext.Provider>\n </View>\n </ScrollView>\n <View style={styles.bottomView}>\n <View>\n <Button\n style={[CommonStyles.nextButton, { width: 165, marginStart: 10 }]}\n labelStyle={CommonStyles.nextButtonLabel}\n mode={'contained'}\n onPress={() => {\n if (form.current) {\n setOnCancel(false);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n </View>\n <View>\n {(props.isSelfLoop == false) && <Button\n style={[CommonStyles.cancelButton, { width: 165, marginEnd: 10 }]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={() => {\n if (form.current) {\n setOnCancel(true);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Cancel';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n </View>\n </View>\n </KeyboardAvoidingView>\n </Provider>\n );\n};\n\nexport default FormGenerator;\n\nconst styles = StyleSheet.create({\n title: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n bottomView: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-evenly',\n padding: 16,\n backgroundColor: 'white',\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_rjsfNative","_DateTimeWidget","_interopRequireDefault","_TimeRangeSelector","_QRBarcodeScannerWidget","_DropdownWidget","_reactNativePaper","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_CommonStyles","_SdkColors","_MaterialIcons","_constants","_utils","_GoBackModal","_native","_SentrySdkConstants","_SentryAnalyticsUtils","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","customWidgets","datePicker","DateTimeWidget","timeRangeSelector","TimeRangeSelector","scanner","QRBarcodeScannerWidget","select","DropdownWidget","FormGenerator","props","form","useRef","showBackModal","setShowBackModal","useState","onCancel","setOnCancel","useFocusEffect","React","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","hasGoBackConnector","applicableReasons","navigation","goBack","BackHandler","addEventListener","removeEventListener","useLayoutEffect","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","BUTTON_CLICKED","screenName","ScreenNameSdkConstants","FORM_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","getBaseETResponse","EntityCode","FORMS","GO_BACK_EVENT_CODE","mergedObjectiveId","ExecutionTaskID","data","onFailure","Provider","KeyboardAvoidingView","CommonStyles","mainContainer","ScrollView","flex","flexGrow","View","padding","FormContext","value","defaultProps","requiredTitle","theme","primaryColor","SdkColors","ColorTheme","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","Platform","OS","Fonts","IBMPlexSans_400Regular","Text","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","getEventCodeByET","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","Button","mainBtnStyles","nextButton","labelStyle","nextButtonLabel","mode","current","submit","isSelfLoop","cancelButton","cancelButtonLabel","_default","exports","StyleSheet","create","marginTop","marginBottom","fontStyle","fontSize","lineHeight","letterSpacing","alignItems","flexDirection","justifyContent","backgroundColor","gap","display","width"],"sources":["FormGenerator.tsx"],"sourcesContent":["import React, { useRef, useState, useLayoutEffect, useEffect } from 'react';\nimport {\n BackHandler,\n KeyboardAvoidingView,\n Platform,\n ScrollView,\n StyleSheet,\n Text,\n View,\n} from 'react-native';\nimport ReactNativeForm, { defaultProps, FormContext } from 'rjsf-native';\nimport DateTimeWidget from './widgets/DateTimeWidget';\nimport TimeRangeSelector from './widgets/TimeRangeSelector';\nimport QRBarcodeScannerWidget from './widgets/QRBarcodeScannerWidget';\nimport DropdownWidget from './widgets/DropdownWidget';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport type { FormInputSchema } from './FormSchema';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport SdkColors, { ColorTheme } from '../../../styles/SdkColors';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst customWidgets = {\n datePicker: DateTimeWidget,\n timeRangeSelector: TimeRangeSelector,\n scanner: QRBarcodeScannerWidget,\n select: DropdownWidget,\n};\n\nconst FormGenerator = (props: FormInputSchema) => {\n const form = useRef(null);\n const [showBackModal, setShowBackModal] = useState(false);\n const [onCancel, setOnCancel] = useState(false);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = 'Back Arrow';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <KeyboardAvoidingView style={CommonStyles.mainContainer}>\n <ScrollView style={{ flex: 1, flexGrow: 1 }}>\n <View\n style={{\n flex: 1,\n padding: 20,\n }}\n >\n <FormContext.Provider\n value={{\n ...defaultProps,\n requiredTitle: '*',\n theme: {\n primaryColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n highlightColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n borderColor: SdkColors[ColorTheme.LIGHT].primaryButton,\n textColor: '#3D445C',\n placeholderTextColor: '#3D445C',\n errorColor: '#b00020',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n },\n }}\n >\n <Text style={[styles.title]}>{props.message}</Text>\n <ReactNativeForm\n noHtml5Validate={onCancel ? true : false}\n noValidate={onCancel ? true : false}\n widgets={customWidgets}\n // @ts-ignore\n ref={form}\n // @ts-ignore\n schema={props.jsonSchema}\n showErrorList={false}\n uiSchema={props.uiSchema}\n onError={async (error) => {\n if (onCancel === false) props.onError(error);\n else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: {},\n });\n }\n }}\n onSubmit={async (response) => {\n if (onCancel === true) {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n false,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n } else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.FORMS,\n true,\n getEventCodeByET(\n ExecutionTaskID.FORMS,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.FORMS\n )),\n data: response.formData,\n });\n }\n }}\n >\n <Text>{ }</Text>\n </ReactNativeForm>\n </FormContext.Provider>\n </View>\n </ScrollView>\n <View style={styles.bottomView}>\n <Button\n style={[styles.mainBtnStyles, CommonStyles.nextButton]}\n labelStyle={CommonStyles.nextButtonLabel}\n mode={'contained'}\n onPress={() => {\n if (form.current) {\n setOnCancel(false);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n {(props.isSelfLoop == false) && <Button\n style={[styles.mainBtnStyles, CommonStyles.cancelButton]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n onPress={() => {\n if (form.current) {\n setOnCancel(true);\n // @ts-ignore\n form.current.submit();\n }\n const cta = 'Cancel';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.FORM_ET_SCREEN, cta: cta }); \n \n }}\n >\n Cancel\n </Button>\n }\n </View>\n </KeyboardAvoidingView>\n </Provider>\n );\n};\n\nexport default FormGenerator;\n\nconst styles = StyleSheet.create({\n title: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n bottomView: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-evenly',\n padding: 16,\n backgroundColor: 'white',\n gap: 16,\n },\n mainBtnStyles: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n width: '100%',\n backgroundColor: 'white',\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -88,7 +88,10 @@ class AppSyncManager {
|
|
|
88
88
|
* Call this method from index file of the app
|
|
89
89
|
*/
|
|
90
90
|
static registerSyncTask() {
|
|
91
|
-
|
|
91
|
+
// We will not register headless js task for api level 31 and above
|
|
92
|
+
if (_reactNative.Platform.OS == 'android' && _reactNative.Platform.Version > 30) {
|
|
93
|
+
_reactNative.AppRegistry.registerHeadlessTask('SYNC_MANAGER', () => AppSyncManager.startAppSyncManager);
|
|
94
|
+
}
|
|
92
95
|
}
|
|
93
96
|
async getAllEvents(dispatchID) {
|
|
94
97
|
return _EventsSyncManager.default.getInstance().getAllEvents(dispatchID);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_DocumentSyncManager","_interopRequireDefault","require","_EventsSyncManager","_NetworkUtil","_Logger","_interopRequireWildcard","_NativeSyncManager","_DispatchSdkCache","_reactNative","_BaseError","_ErrorCodes","_constants","_constants2","_AppSyncManager","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","AppSyncManager","constructor","tenantBaseURL","retryCount","DocumentSyncManager","getInstance","init","EventsSyncManager","initSyncManager","startSyncing","forceSync","_syncType","NetworkUtil","isAvailableAsync","forceDocumentSync","startSync","startDocumentSync","Logger","logEvent","LOG_TYPE","SDK_INFO","isAppSyncPending","isSyncPending","initAppSync","syncRetryCount","instance","BaseError","ErrorCodes","AppSyncNotInitialized","startAppSyncManager","NativeSyncManager","stopSyncManager","sdkConfig","DispatchSdkCache","getObjectFromCache","KEYS","SDK_CONFIG","MAX_RETRY_COUNT","startSDKSyncManager","SDK_ERROR","isSyncActive","error","message","SDK_WARNING","registerSyncTask","AppRegistry","registerHeadlessTask","getAllEvents","dispatchID","getAllDocuments","config","Platform","OS","isForceStartEnabled","_config$notificationC","_config$notificationC2","_config$notificationC3","retries","startSyncManager","notificationConfig","interval","DEFAULT_INTERVAL","title","DEFAULT_NOTIFICATION_TITLE","description","DEFAULT_NOTIFICATION_DESCRIPTION","then","catch","pushToQueue","pushData","insertBulkEvent","JSON","stringify","errorMessage","exports"],"sources":["AppSyncManager.ts"],"sourcesContent":["import DocumentSyncManager from './document/DocumentSyncManager';\nimport EventsSyncManager from './events/EventsSyncManager';\nimport NetworkUtil from '../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport NativeSyncManager from './NativeSyncManager';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport { AppRegistry, Platform } from 'react-native';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport type { SdkSyncType } from '../../models/DispatchModels';\nimport type { BulkEvent, DocumentRow, EventRow } from './DBConfig';\nimport {\n DEFAULT_INTERVAL,\n DEFAULT_NOTIFICATION_DESCRIPTION,\n DEFAULT_NOTIFICATION_TITLE,\n} from '../../constants/constants';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport { MAX_RETRY_COUNT } from './constants';\n\nexport default class AppSyncManager {\n private constructor(tenantBaseURL: string, retryCount: number) {\n DocumentSyncManager.getInstance().init(tenantBaseURL, retryCount);\n EventsSyncManager.getInstance().initSyncManager(tenantBaseURL, retryCount);\n }\n private static instance: AppSyncManager;\n public isSyncActive = false;\n public isForceStartEnabled = true;\n\n /**\n *\n * @param forceSync - true/false - if true resets the retry count key and start the sync\n * @param syncType\n */\n public async startSyncing(forceSync: boolean, _syncType?: SdkSyncType) {\n if (await NetworkUtil.isAvailableAsync()) {\n if (forceSync) {\n EventsSyncManager.getInstance().forceSync();\n DocumentSyncManager.getInstance().forceDocumentSync();\n } else {\n EventsSyncManager.getInstance().startSync();\n DocumentSyncManager.getInstance().startDocumentSync();\n }\n } else {\n Logger.getInstance().logEvent(\n 'startSync',\n 'No network',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isAppSyncPending(): Promise<boolean> {\n return (\n (await EventsSyncManager.getInstance().isSyncPending()) ||\n (await DocumentSyncManager.getInstance().isSyncPending())\n );\n }\n public static initAppSync(\n tenantBaseURL: string,\n syncRetryCount: number\n ): AppSyncManager {\n // removing this check to allow tenant change in app due to this manager instance did't re-init and event and docs didn't sync\n // if (!AppSyncManager.instance) {\n Logger.getInstance().logEvent(\n 'initAppSync',\n 'CREATING NEW INSTANCE',\n LOG_TYPE.SDK_INFO\n );\n AppSyncManager.instance = new AppSyncManager(\n tenantBaseURL,\n syncRetryCount\n );\n // }\n return AppSyncManager.instance;\n }\n public static getInstance(): AppSyncManager {\n if (!AppSyncManager.instance)\n throw new BaseError(\n ErrorCodes.AppSyncNotInitialized,\n 'SDK sync Manager is not initialized'\n );\n else return AppSyncManager.instance;\n }\n\n public static async startAppSyncManager() {\n try {\n if (!AppSyncManager.instance) {\n NativeSyncManager.stopSyncManager();\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const retryCount = sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT;\n if (sdkConfig.tenantBaseURL != null && retryCount != null) {\n AppSyncManager.initAppSync(sdkConfig.tenantBaseURL, +retryCount);\n AppSyncManager.getInstance().startSDKSyncManager();\n } else {\n Logger.getInstance().logEvent(\n 'SYNC_MANAGER_ASM',\n 'TENANT BASE URL IS NULL',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else if (await AppSyncManager.instance.isAppSyncPending()) {\n AppSyncManager.instance.startSyncing(false);\n } else {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isSyncActive = false;\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startAppSyncManager',\n `Unable to start App Sync Manager ${error.message}`,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n /**\n * Call this method from index file of the app\n */\n public static registerSyncTask() {\n AppRegistry.registerHeadlessTask(\n 'SYNC_MANAGER',\n () => AppSyncManager.startAppSyncManager\n );\n }\n\n public async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n return EventsSyncManager.getInstance().getAllEvents(dispatchID);\n }\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n return DocumentSyncManager.getInstance().getAllDocuments(dispatchID);\n }\n public startSDKSyncManager() {\n (async () => {\n const config = (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n if (Platform.OS === 'android') {\n if (!this.isSyncActive && this.isForceStartEnabled) {\n this.isSyncActive = true;\n\n /**\n * Reset Retry Counter\n */\n EventsSyncManager.getInstance().retries = 0;\n DocumentSyncManager.getInstance().retries = 0;\n NativeSyncManager.startSyncManager(\n config?.notificationConfig?.interval ?? DEFAULT_INTERVAL,\n config?.notificationConfig?.title ?? DEFAULT_NOTIFICATION_TITLE,\n config?.notificationConfig?.description ??\n DEFAULT_NOTIFICATION_DESCRIPTION\n );\n } else {\n Logger.getInstance().logEvent(\n 'startNativeSyncManager',\n 'ANDROID SYNC SERVICE ALREADY RUNNING',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n /**\n * For iOS we have to start Normal Foreground sync\n */\n this.startSyncing(true).then().catch();\n }\n })();\n }\n\n // NEW CODE\n public async pushToQueue(pushData: BulkEvent): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushToQueue ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_DocumentSyncManager","_interopRequireDefault","require","_EventsSyncManager","_NetworkUtil","_Logger","_interopRequireWildcard","_NativeSyncManager","_DispatchSdkCache","_reactNative","_BaseError","_ErrorCodes","_constants","_constants2","_AppSyncManager","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","AppSyncManager","constructor","tenantBaseURL","retryCount","DocumentSyncManager","getInstance","init","EventsSyncManager","initSyncManager","startSyncing","forceSync","_syncType","NetworkUtil","isAvailableAsync","forceDocumentSync","startSync","startDocumentSync","Logger","logEvent","LOG_TYPE","SDK_INFO","isAppSyncPending","isSyncPending","initAppSync","syncRetryCount","instance","BaseError","ErrorCodes","AppSyncNotInitialized","startAppSyncManager","NativeSyncManager","stopSyncManager","sdkConfig","DispatchSdkCache","getObjectFromCache","KEYS","SDK_CONFIG","MAX_RETRY_COUNT","startSDKSyncManager","SDK_ERROR","isSyncActive","error","message","SDK_WARNING","registerSyncTask","Platform","OS","Version","AppRegistry","registerHeadlessTask","getAllEvents","dispatchID","getAllDocuments","config","isForceStartEnabled","_config$notificationC","_config$notificationC2","_config$notificationC3","retries","startSyncManager","notificationConfig","interval","DEFAULT_INTERVAL","title","DEFAULT_NOTIFICATION_TITLE","description","DEFAULT_NOTIFICATION_DESCRIPTION","then","catch","pushToQueue","pushData","insertBulkEvent","JSON","stringify","errorMessage","exports"],"sources":["AppSyncManager.ts"],"sourcesContent":["import DocumentSyncManager from './document/DocumentSyncManager';\nimport EventsSyncManager from './events/EventsSyncManager';\nimport NetworkUtil from '../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport NativeSyncManager from './NativeSyncManager';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport { AppRegistry, Platform } from 'react-native';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport type { SdkSyncType } from '../../models/DispatchModels';\nimport type { BulkEvent, DocumentRow, EventRow } from './DBConfig';\nimport {\n DEFAULT_INTERVAL,\n DEFAULT_NOTIFICATION_DESCRIPTION,\n DEFAULT_NOTIFICATION_TITLE,\n} from '../../constants/constants';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport { MAX_RETRY_COUNT } from './constants';\n\nexport default class AppSyncManager {\n private constructor(tenantBaseURL: string, retryCount: number) {\n DocumentSyncManager.getInstance().init(tenantBaseURL, retryCount);\n EventsSyncManager.getInstance().initSyncManager(tenantBaseURL, retryCount);\n }\n private static instance: AppSyncManager;\n public isSyncActive = false;\n public isForceStartEnabled = true;\n\n /**\n *\n * @param forceSync - true/false - if true resets the retry count key and start the sync\n * @param syncType\n */\n public async startSyncing(forceSync: boolean, _syncType?: SdkSyncType) {\n if (await NetworkUtil.isAvailableAsync()) {\n if (forceSync) {\n EventsSyncManager.getInstance().forceSync();\n DocumentSyncManager.getInstance().forceDocumentSync();\n } else {\n EventsSyncManager.getInstance().startSync();\n DocumentSyncManager.getInstance().startDocumentSync();\n }\n } else {\n Logger.getInstance().logEvent(\n 'startSync',\n 'No network',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isAppSyncPending(): Promise<boolean> {\n return (\n (await EventsSyncManager.getInstance().isSyncPending()) ||\n (await DocumentSyncManager.getInstance().isSyncPending())\n );\n }\n public static initAppSync(\n tenantBaseURL: string,\n syncRetryCount: number\n ): AppSyncManager {\n // removing this check to allow tenant change in app due to this manager instance did't re-init and event and docs didn't sync\n // if (!AppSyncManager.instance) {\n Logger.getInstance().logEvent(\n 'initAppSync',\n 'CREATING NEW INSTANCE',\n LOG_TYPE.SDK_INFO\n );\n AppSyncManager.instance = new AppSyncManager(\n tenantBaseURL,\n syncRetryCount\n );\n // }\n return AppSyncManager.instance;\n }\n public static getInstance(): AppSyncManager {\n if (!AppSyncManager.instance)\n throw new BaseError(\n ErrorCodes.AppSyncNotInitialized,\n 'SDK sync Manager is not initialized'\n );\n else return AppSyncManager.instance;\n }\n\n public static async startAppSyncManager() {\n try {\n if (!AppSyncManager.instance) {\n NativeSyncManager.stopSyncManager();\n let sdkConfig =\n (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const retryCount = sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT;\n if (sdkConfig.tenantBaseURL != null && retryCount != null) {\n AppSyncManager.initAppSync(sdkConfig.tenantBaseURL, +retryCount);\n AppSyncManager.getInstance().startSDKSyncManager();\n } else {\n Logger.getInstance().logEvent(\n 'SYNC_MANAGER_ASM',\n 'TENANT BASE URL IS NULL',\n LOG_TYPE.SDK_ERROR\n );\n }\n } else if (await AppSyncManager.instance.isAppSyncPending()) {\n AppSyncManager.instance.startSyncing(false);\n } else {\n NativeSyncManager.stopSyncManager();\n AppSyncManager.getInstance().isSyncActive = false;\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startAppSyncManager',\n `Unable to start App Sync Manager ${error.message}`,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n /**\n * Call this method from index file of the app\n */\n public static registerSyncTask() {\n // We will not register headless js task for api level 31 and above\n if (Platform.OS == 'android' && Platform.Version > 30) {\n AppRegistry.registerHeadlessTask(\n 'SYNC_MANAGER',\n () => AppSyncManager.startAppSyncManager\n );\n }\n }\n\n public async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n return EventsSyncManager.getInstance().getAllEvents(dispatchID);\n }\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n return DocumentSyncManager.getInstance().getAllDocuments(dispatchID);\n }\n public startSDKSyncManager() {\n (async () => {\n const config = (await DispatchSdkCache.getInstance().getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n if (Platform.OS === 'android') {\n if (!this.isSyncActive && this.isForceStartEnabled) {\n this.isSyncActive = true;\n\n /**\n * Reset Retry Counter\n */\n EventsSyncManager.getInstance().retries = 0;\n DocumentSyncManager.getInstance().retries = 0;\n NativeSyncManager.startSyncManager(\n config?.notificationConfig?.interval ?? DEFAULT_INTERVAL,\n config?.notificationConfig?.title ?? DEFAULT_NOTIFICATION_TITLE,\n config?.notificationConfig?.description ??\n DEFAULT_NOTIFICATION_DESCRIPTION\n );\n } else {\n Logger.getInstance().logEvent(\n 'startNativeSyncManager',\n 'ANDROID SYNC SERVICE ALREADY RUNNING',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n /**\n * For iOS we have to start Normal Foreground sync\n */\n this.startSyncing(true).then().catch();\n }\n })();\n }\n\n // NEW CODE\n public async pushToQueue(pushData: BulkEvent): Promise<boolean> {\n try {\n await EventsSyncManager.getInstance().insertBulkEvent(pushData);\n\n AppSyncManager.getInstance().startSDKSyncManager();\n return true;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'pushToQueue ',\n JSON.stringify({\n errorMessage: error.message,\n }),\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,iBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAV,sBAAA,CAAAC,OAAA;AAGA,IAAAU,UAAA,GAAAV,OAAA;AAMA,IAAAW,WAAA,GAAAX,OAAA;AAA8C,IAAAY,eAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAvB,uBAAAe,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAE,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAkB,cAAA,CAAAlB,CAAA,MAAAF,CAAA,GAAAW,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,IAAAmB,KAAA,EAAAlB,CAAA,EAAAmB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAxB,CAAA,CAAAE,CAAA,IAAAC,CAAA,EAAAH,CAAA;AAAA,SAAAoB,eAAAjB,CAAA,QAAAc,CAAA,GAAAQ,YAAA,CAAAtB,CAAA,uCAAAc,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAQ,aAAAtB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAuB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAiB,CAAA,GAAAjB,CAAA,CAAAgB,IAAA,CAAAb,CAAA,EAAAD,CAAA,uCAAAe,CAAA,SAAAA,CAAA,YAAAW,SAAA,yEAAA1B,CAAA,GAAA2B,MAAA,GAAAC,MAAA,EAAA3B,CAAA;AAE/B,MAAM4B,cAAc,CAAC;EAC1BC,WAAWA,CAACC,aAAqB,EAAEC,UAAkB,EAAE;IAAAf,eAAA,uBAKzC,KAAK;IAAAA,eAAA,8BACE,IAAI;IAL/BgB,4BAAmB,CAACC,WAAW,CAAC,CAAC,CAACC,IAAI,CAACJ,aAAa,EAAEC,UAAU,CAAC;IACjEI,0BAAiB,CAACF,WAAW,CAAC,CAAC,CAACG,eAAe,CAACN,aAAa,EAAEC,UAAU,CAAC;EAC5E;EAKA;AACF;AACA;AACA;AACA;EACE,MAAaM,YAAYA,CAACC,SAAkB,EAAEC,SAAuB,EAAE;IACrE,IAAI,MAAMC,oBAAW,CAACC,gBAAgB,CAAC,CAAC,EAAE;MACxC,IAAIH,SAAS,EAAE;QACbH,0BAAiB,CAACF,WAAW,CAAC,CAAC,CAACK,SAAS,CAAC,CAAC;QAC3CN,4BAAmB,CAACC,WAAW,CAAC,CAAC,CAACS,iBAAiB,CAAC,CAAC;MACvD,CAAC,MAAM;QACLP,0BAAiB,CAACF,WAAW,CAAC,CAAC,CAACU,SAAS,CAAC,CAAC;QAC3CX,4BAAmB,CAACC,WAAW,CAAC,CAAC,CAACW,iBAAiB,CAAC,CAAC;MACvD;IACF,CAAC,MAAM;MACLC,eAAM,CAACZ,WAAW,CAAC,CAAC,CAACa,QAAQ,CAC3B,WAAW,EACX,YAAY,EACZC,gBAAQ,CAACC,QACX,CAAC;IACH;EACF;EAEA,MAAaC,gBAAgBA,CAAA,EAAqB;IAChD,OACE,CAAC,MAAMd,0BAAiB,CAACF,WAAW,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC,MACrD,MAAMlB,4BAAmB,CAACC,WAAW,CAAC,CAAC,CAACiB,aAAa,CAAC,CAAC,CAAC;EAE7D;EACA,OAAcC,WAAWA,CACvBrB,aAAqB,EACrBsB,cAAsB,EACN;IAChB;IACA;IACAP,eAAM,CAACZ,WAAW,CAAC,CAAC,CAACa,QAAQ,CAC3B,aAAa,EACb,uBAAuB,EACvBC,gBAAQ,CAACC,QACX,CAAC;IACDpB,cAAc,CAACyB,QAAQ,GAAG,IAAIzB,cAAc,CAC1CE,aAAa,EACbsB,cACF,CAAC;IACD;IACA,OAAOxB,cAAc,CAACyB,QAAQ;EAChC;EACA,OAAcpB,WAAWA,CAAA,EAAmB;IAC1C,IAAI,CAACL,cAAc,CAACyB,QAAQ,EAC1B,MAAM,IAAIC,oBAAS,CACjBC,mBAAU,CAACC,qBAAqB,EAChC,qCACF,CAAC,CAAC,KACC,OAAO5B,cAAc,CAACyB,QAAQ;EACrC;EAEA,aAAoBI,mBAAmBA,CAAA,EAAG;IACxC,IAAI;MACF,IAAI,CAAC7B,cAAc,CAACyB,QAAQ,EAAE;QAC5BK,0BAAiB,CAACC,eAAe,CAAC,CAAC;QACnC,IAAIC,SAAS,GACV,MAAMC,yBAAgB,CAAC5B,WAAW,CAAC,CAAC,CAAC6B,kBAAkB,CACtDD,yBAAgB,CAACE,IAAI,CAACC,UACxB,CAAuB;QACzB,MAAMjC,UAAU,GAAG6B,SAAS,CAACR,cAAc,IAAIa,2BAAe;QAC9D,IAAIL,SAAS,CAAC9B,aAAa,IAAI,IAAI,IAAIC,UAAU,IAAI,IAAI,EAAE;UACzDH,cAAc,CAACuB,WAAW,CAACS,SAAS,CAAC9B,aAAa,EAAE,CAACC,UAAU,CAAC;UAChEH,cAAc,CAACK,WAAW,CAAC,CAAC,CAACiC,mBAAmB,CAAC,CAAC;QACpD,CAAC,MAAM;UACLrB,eAAM,CAACZ,WAAW,CAAC,CAAC,CAACa,QAAQ,CAC3B,kBAAkB,EAClB,yBAAyB,EACzBC,gBAAQ,CAACoB,SACX,CAAC;QACH;MACF,CAAC,MAAM,IAAI,MAAMvC,cAAc,CAACyB,QAAQ,CAACJ,gBAAgB,CAAC,CAAC,EAAE;QAC3DrB,cAAc,CAACyB,QAAQ,CAAChB,YAAY,CAAC,KAAK,CAAC;MAC7C,CAAC,MAAM;QACLqB,0BAAiB,CAACC,eAAe,CAAC,CAAC;QACnC/B,cAAc,CAACK,WAAW,CAAC,CAAC,CAACmC,YAAY,GAAG,KAAK;MACnD;IACF,CAAC,CAAC,OAAOC,KAAU,EAAE;MACnBxB,eAAM,CAACZ,WAAW,CAAC,CAAC,CAACa,QAAQ,CAC3B,qBAAqB,EACrB,oCAAoCuB,KAAK,CAACC,OAAO,EAAE,EACnDvB,gBAAQ,CAACwB,WACX,CAAC;IACH;EACF;;EAEA;AACF;AACA;EACE,OAAcC,gBAAgBA,CAAA,EAAG;IAC/B;IACA,IAAIC,qBAAQ,CAACC,EAAE,IAAI,SAAS,IAAID,qBAAQ,CAACE,OAAO,GAAG,EAAE,EAAE;MACrDC,wBAAW,CAACC,oBAAoB,CAC9B,cAAc,EACd,MAAMjD,cAAc,CAAC6B,mBACvB,CAAC;IACH;EACF;EAEA,MAAaqB,YAAYA,CAACC,UAAmB,EAAuB;IAClE,OAAO5C,0BAAiB,CAACF,WAAW,CAAC,CAAC,CAAC6C,YAAY,CAACC,UAAU,CAAC;EACjE;EACA,MAAaC,eAAeA,CAACD,UAAmB,EAA0B;IACxE,OAAO/C,4BAAmB,CAACC,WAAW,CAAC,CAAC,CAAC+C,eAAe,CAACD,UAAU,CAAC;EACtE;EACOb,mBAAmBA,CAAA,EAAG;IAC3B,CAAC,YAAY;MACX,MAAMe,MAAM,GAAI,MAAMpB,yBAAgB,CAAC5B,WAAW,CAAC,CAAC,CAAC6B,kBAAkB,CACrED,yBAAgB,CAACE,IAAI,CAACC,UACxB,CAAuB;MACvB,IAAIS,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B,IAAI,CAAC,IAAI,CAACN,YAAY,IAAI,IAAI,CAACc,mBAAmB,EAAE;UAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;UAClD,IAAI,CAACjB,YAAY,GAAG,IAAI;;UAExB;AACV;AACA;UACUjC,0BAAiB,CAACF,WAAW,CAAC,CAAC,CAACqD,OAAO,GAAG,CAAC;UAC3CtD,4BAAmB,CAACC,WAAW,CAAC,CAAC,CAACqD,OAAO,GAAG,CAAC;UAC7C5B,0BAAiB,CAAC6B,gBAAgB,CAChC,CAAAN,MAAM,aAANA,MAAM,gBAAAE,qBAAA,GAANF,MAAM,CAAEO,kBAAkB,cAAAL,qBAAA,uBAA1BA,qBAAA,CAA4BM,QAAQ,KAAIC,2BAAgB,EACxD,CAAAT,MAAM,aAANA,MAAM,gBAAAG,sBAAA,GAANH,MAAM,CAAEO,kBAAkB,cAAAJ,sBAAA,uBAA1BA,sBAAA,CAA4BO,KAAK,KAAIC,qCAA0B,EAC/D,CAAAX,MAAM,aAANA,MAAM,gBAAAI,sBAAA,GAANJ,MAAM,CAAEO,kBAAkB,cAAAH,sBAAA,uBAA1BA,sBAAA,CAA4BQ,WAAW,KACvCC,2CACF,CAAC;QACH,CAAC,MAAM;UACLjD,eAAM,CAACZ,WAAW,CAAC,CAAC,CAACa,QAAQ,CAC3B,wBAAwB,EACxB,sCAAsC,EACtCC,gBAAQ,CAACC,QACX,CAAC;QACH;MACF,CAAC,MAAM;QACL;AACR;AACA;QACQ,IAAI,CAACX,YAAY,CAAC,IAAI,CAAC,CAAC0D,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;MACxC;IACF,CAAC,EAAE,CAAC;EACN;;EAEA;EACA,MAAaC,WAAWA,CAACC,QAAmB,EAAoB;IAC9D,IAAI;MACF,MAAM/D,0BAAiB,CAACF,WAAW,CAAC,CAAC,CAACkE,eAAe,CAACD,QAAQ,CAAC;MAE/DtE,cAAc,CAACK,WAAW,CAAC,CAAC,CAACiC,mBAAmB,CAAC,CAAC;MAClD,OAAO,IAAI;IACb,CAAC,CAAC,OAAOG,KAAU,EAAE;MACnBxB,eAAM,CAACZ,WAAW,CAAC,CAAC,CAACa,QAAQ,CAC3B,cAAc,EACdsD,IAAI,CAACC,SAAS,CAAC;QACbC,YAAY,EAAEjC,KAAK,CAACC;MACtB,CAAC,CAAC,EACFvB,gBAAQ,CAACoB,SACX,CAAC;MACD,OAAO,KAAK;IACd;EACF;AACF;AAACoC,OAAA,CAAArG,OAAA,GAAA0B,cAAA;AAAAjC,eAAA,GA5KoBiC,cAAc;AAAAZ,eAAA,CAAdY,cAAc","ignoreList":[]}
|
|
@@ -150,8 +150,10 @@ class DocumentHttpClient extends _client.default {
|
|
|
150
150
|
if (processedFileExist) {
|
|
151
151
|
filePathToUpload = document.processed_file_path;
|
|
152
152
|
}
|
|
153
|
+
const fileStat = await _reactNativeFs.default.stat(filePathToUpload);
|
|
153
154
|
const url = sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
|
|
154
155
|
let extraParameters = {
|
|
156
|
+
fSize: fileStat.size + " b",
|
|
155
157
|
fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4) : '',
|
|
156
158
|
dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4) : '',
|
|
157
159
|
dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9) : ''
|