@os1-platform/dispatch-mobile 3.0.2 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +15 -11
- package/lib/commonjs/components/executiontasks/forms/FormGenerator.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/utils/SdkUtils.js +0 -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/document/DocumentHttpClient.js +2 -0
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/utils/SdkUtils.js +0 -19
- package/lib/module/utils/SdkUtils.js.map +1 -1
- 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/document/DocumentHttpClient.ts +3 -0
- package/src/utils/SdkUtils.ts +0 -30
|
@@ -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":[]}
|
|
@@ -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) : ''
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_client","_interopRequireDefault","require","_expoFileSystem","_interopRequireWildcard","FileSystem","_DispatchSdkCache","_Logger","_reactNativeFs","_SentrySdkConstants","_SentryAnalyticsUtils","_utils","_callbacksHandler","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","cache","DispatchSdkCache","getInstance","cacheKeys","KEYS","DocumentHttpClient","HttpClient","constructor","baseURL","uploadDocument","document","base64","data","response","uploadBase64File","info","body","status","substring","String","extraParameters","fName","file_name","length","dName","fms_folder_id","dispId","dispatch_id","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","API_RESPONSE","screenName","extraParams","Logger","logEvent","flattenObject","LOG_TYPE","SDK_ERROR","id","uploadResponse","uploadBinaryFile","_JSON$parse","deleteAsync","file_path","then","catch","processed_file_path","JSON","parse","dataToUpload","undefined","requestBody","stringify","file","type","description","desc","tags","key","value","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","isTokenExpired","accessToken","callbackHandler","refresheAndUpdateToken","API_CALL","instance","post","headers","tenantID","filePathToUpload","processedFileExist","RNFS","exists","url","tenantBaseURL","uploadAsync","httpMethod","uploadType","FileSystemUploadType","MULTIPART","fieldName","parameters","exports"],"sources":["DocumentHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport type { DocumentRow } from '../DBConfig';\nimport type { AxiosResponse } from 'axios';\nimport * as FileSystem from 'expo-file-system';\nimport { FileSystemUploadResult, FileSystemUploadType } from 'expo-file-system';\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { DispatchSDKConfig } from '../../../models/sdk';\nimport RNFS from 'react-native-fs';\nimport { stat } from 'react-native-fs';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport { flattenObject, isTokenExpired } from '../../../utils/utils';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst cache = DispatchSdkCache.getInstance();\nconst cacheKeys = DispatchSdkCache.KEYS;\nexport default class DocumentHttpClient extends HttpClient {\n constructor(baseURL: string) {\n super(baseURL);\n }\n public async uploadDocument(document: DocumentRow): Promise<string | null> {\n if (document.base64 && document.data != null) {\n const response = await this.uploadBase64File(document);\n let info = '';\n if (\n response &&\n response.data !== null &&\n response.data.body !== null &&\n response.status !== 202\n ) {\n let body = response.data.body;\n info = body.substring(40);\n } else {\n info = String(response.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Base64_File_Response',\n extraParams: extraParameters,\n });\n\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBase64FileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n response &&\n response.data != null &&\n response.data.data != null &&\n response.data.data.id &&\n response.status === 202\n ) {\n return response.data.data.id;\n }else{\n return null;\n }\n } else {\n const uploadResponse = await this.uploadBinaryFile(document);\n let info = '';\n if (\n uploadResponse &&\n uploadResponse.body !== null &&\n uploadResponse.status !== 202\n ) {\n let body = uploadResponse.body;\n info = body.substring(40);\n } else {\n info = String(uploadResponse.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Binary_File_Response',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBinaryFileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n uploadResponse != null &&\n uploadResponse.status === 202 &&\n uploadResponse.body != null\n ) {\n Logger.getInstance().logEvent(\n 'uploadDocument:DeletingFiles',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE\n FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE\n\n return JSON.parse(uploadResponse.body)?.data?.id;\n }else{\n return null;\n }\n }\n }\n\n // This function will upload processed base64 data (overlayed base64 data ) if exist otherwise will uplaod original base 64 data for pod signature.\n public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {\n let dataToUpload = document.data;\n if (\n document.processed_file_path !== null &&\n document.processed_file_path !== undefined &&\n document.processed_file_path !== ''\n ) {\n dataToUpload = document.processed_file_path;\n }\n let requestBody = JSON.stringify({\n file: {\n type: 'FILE',\n data: dataToUpload,\n },\n description: document.desc,\n tags: [\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ],\n fileName: document.file_name,\n });\n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Base64_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBase64FileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return this.instance.post(\n `/api/folders/${document.fms_folder_id}/files`,\n requestBody,\n {\n headers: {\n 'accept': 'application/json',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'Content-Type': 'application/json',\n },\n }\n );\n }\n\n // This function will upload processed (overlayed file) if exist otherwise will uplaod original file for pod images.\n private async uploadBinaryFile(\n document: DocumentRow\n ): Promise<FileSystemUploadResult> {\n \n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n\n let filePathToUpload = document.file_path;\n let processedFileExist = await RNFS.exists(document.processed_file_path);\n if (processedFileExist) {\n filePathToUpload = document.processed_file_path;\n }\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n \n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Binary_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return FileSystem.uploadAsync(url, filePathToUpload, {\n headers: {\n 'accept': 'application/json',\n 'Content-Type': 'multipart/form-data',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n },\n httpMethod: 'POST',\n uploadType: FileSystemUploadType.MULTIPART,\n fieldName: 'file',\n parameters: {\n tags: JSON.stringify([\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ]),\n },\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_client","_interopRequireDefault","require","_expoFileSystem","_interopRequireWildcard","FileSystem","_DispatchSdkCache","_Logger","_reactNativeFs","_SentrySdkConstants","_SentryAnalyticsUtils","_utils","_callbacksHandler","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","cache","DispatchSdkCache","getInstance","cacheKeys","KEYS","DocumentHttpClient","HttpClient","constructor","baseURL","uploadDocument","document","base64","data","response","uploadBase64File","info","body","status","substring","String","extraParameters","fName","file_name","length","dName","fms_folder_id","dispId","dispatch_id","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","API_RESPONSE","screenName","extraParams","Logger","logEvent","flattenObject","LOG_TYPE","SDK_ERROR","id","uploadResponse","uploadBinaryFile","_JSON$parse","deleteAsync","file_path","then","catch","processed_file_path","JSON","parse","dataToUpload","undefined","requestBody","stringify","file","type","description","desc","tags","key","value","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","isTokenExpired","accessToken","callbackHandler","refresheAndUpdateToken","API_CALL","instance","post","headers","tenantID","filePathToUpload","processedFileExist","RNFS","exists","fileStat","stat","url","tenantBaseURL","fSize","size","uploadAsync","httpMethod","uploadType","FileSystemUploadType","MULTIPART","fieldName","parameters","exports"],"sources":["DocumentHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport type { DocumentRow } from '../DBConfig';\nimport type { AxiosResponse } from 'axios';\nimport * as FileSystem from 'expo-file-system';\nimport { FileSystemUploadResult, FileSystemUploadType } from 'expo-file-system';\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { DispatchSDKConfig } from '../../../models/sdk';\nimport RNFS from 'react-native-fs';\nimport { stat } from 'react-native-fs';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport { flattenObject, isTokenExpired } from '../../../utils/utils';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst cache = DispatchSdkCache.getInstance();\nconst cacheKeys = DispatchSdkCache.KEYS;\nexport default class DocumentHttpClient extends HttpClient {\n constructor(baseURL: string) {\n super(baseURL);\n }\n public async uploadDocument(document: DocumentRow): Promise<string | null> {\n if (document.base64 && document.data != null) {\n const response = await this.uploadBase64File(document);\n let info = '';\n if (\n response &&\n response.data !== null &&\n response.data.body !== null &&\n response.status !== 202\n ) {\n let body = response.data.body;\n info = body.substring(40);\n } else {\n info = String(response.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Base64_File_Response',\n extraParams: extraParameters,\n });\n\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBase64FileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n response &&\n response.data != null &&\n response.data.data != null &&\n response.data.data.id &&\n response.status === 202\n ) {\n return response.data.data.id;\n }else{\n return null;\n }\n } else {\n const uploadResponse = await this.uploadBinaryFile(document);\n let info = '';\n if (\n uploadResponse &&\n uploadResponse.body !== null &&\n uploadResponse.status !== 202\n ) {\n let body = uploadResponse.body;\n info = body.substring(40);\n } else {\n info = String(uploadResponse.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Binary_File_Response',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBinaryFileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n uploadResponse != null &&\n uploadResponse.status === 202 &&\n uploadResponse.body != null\n ) {\n Logger.getInstance().logEvent(\n 'uploadDocument:DeletingFiles',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE\n FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE\n\n return JSON.parse(uploadResponse.body)?.data?.id;\n }else{\n return null;\n }\n }\n }\n\n // This function will upload processed base64 data (overlayed base64 data ) if exist otherwise will uplaod original base 64 data for pod signature.\n public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {\n let dataToUpload = document.data;\n if (\n document.processed_file_path !== null &&\n document.processed_file_path !== undefined &&\n document.processed_file_path !== ''\n ) {\n dataToUpload = document.processed_file_path;\n }\n let requestBody = JSON.stringify({\n file: {\n type: 'FILE',\n data: dataToUpload,\n },\n description: document.desc,\n tags: [\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ],\n fileName: document.file_name,\n });\n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Base64_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBase64FileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return this.instance.post(\n `/api/folders/${document.fms_folder_id}/files`,\n requestBody,\n {\n headers: {\n 'accept': 'application/json',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'Content-Type': 'application/json',\n },\n }\n );\n }\n\n // This function will upload processed (overlayed file) if exist otherwise will uplaod original file for pod images.\n private async uploadBinaryFile(\n document: DocumentRow\n ): Promise<FileSystemUploadResult> {\n \n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n\n let filePathToUpload = document.file_path;\n let processedFileExist = await RNFS.exists(document.processed_file_path);\n if (processedFileExist) {\n filePathToUpload = document.processed_file_path;\n }\n const fileStat = await RNFS.stat(filePathToUpload);\n\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n \n let extraParameters = { \n fSize: fileStat.size + \" b\",\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Binary_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return FileSystem.uploadAsync(url, filePathToUpload, {\n headers: {\n 'accept': 'application/json',\n 'Content-Type': 'multipart/form-data',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n },\n httpMethod: 'POST',\n uploadType: FileSystemUploadType.MULTIPART,\n fieldName: 'file',\n parameters: {\n tags: JSON.stringify([\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ]),\n },\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -54,25 +54,6 @@ class SdkUtils {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
/**
|
|
58
|
-
* Function to download apk file from a public URL
|
|
59
|
-
* @param apkURL - URL where apk is hosted
|
|
60
|
-
* @param version - expected version of apk (used for naming the file)
|
|
61
|
-
* @param callback - callback for getting progress of download
|
|
62
|
-
*/
|
|
63
|
-
static async downloadAPK(apkURL, version, callback) {
|
|
64
|
-
const fileUri = FileSystem.cacheDirectory + `${version}.apk`;
|
|
65
|
-
const fileInfo = await FileSystem.getInfoAsync(fileUri);
|
|
66
|
-
const currentDate = new Date().toLocaleDateString();
|
|
67
|
-
const fileDate = new Date(fileInfo.modificationTime ? fileInfo.modificationTime * 1000 : 0).toLocaleDateString();
|
|
68
|
-
if (fileInfo.exists && currentDate === fileDate) {
|
|
69
|
-
return fileInfo.uri;
|
|
70
|
-
}
|
|
71
|
-
const downloadResumable = FileSystem.createDownloadResumable(apkURL, FileSystem.cacheDirectory + `${version}.apk`, {}, callback);
|
|
72
|
-
const downloadResult = await downloadResumable.downloadAsync();
|
|
73
|
-
return downloadResult === null || downloadResult === void 0 ? void 0 : downloadResult.uri;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
57
|
/**
|
|
77
58
|
* Opens & Install an APK file
|
|
78
59
|
* @param uri - source of apk file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_remoteConfig","_interopRequireDefault","require","_Logger","_interopRequireWildcard","FileSystem","_reactNative","Location","_NetworkUtil","_BaseError","_ErrorCodes","_PermissionModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DispatchSdkUtils","NativeModules","exports","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","remoteConfig","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","then","fetchAndActivate","fetchedRemotely","config","getAll","Logger","getInstance","logEvent","LOG_TYPE","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","Platform","OS","foregroundLocation","PermissionModule","requestForegroundPermissions","BaseError","ErrorCodes","LOCATION_OR_GPS_NOT_ENABLED","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","requestWakeLockPermissions","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","bgLocation","requestBackgroundPermissions","internet","NetworkUtil","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 PermissionModule.requestWakeLockPermissions();\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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_remoteConfig","_interopRequireDefault","require","_Logger","_interopRequireWildcard","FileSystem","_reactNative","Location","_NetworkUtil","_BaseError","_ErrorCodes","_PermissionModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DispatchSdkUtils","NativeModules","exports","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","remoteConfig","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","then","fetchAndActivate","fetchedRemotely","config","getAll","Logger","getInstance","logEvent","LOG_TYPE","SDK_INFO","catch","err","error","deleteApk","version","deleteAsync","cacheDirectory","openAPKFile","uri","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","Platform","OS","foregroundLocation","PermissionModule","requestForegroundPermissions","BaseError","ErrorCodes","LOCATION_OR_GPS_NOT_ENABLED","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","requestWakeLockPermissions","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","bgLocation","requestBackgroundPermissions","internet","NetworkUtil","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 * 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 PermissionModule.requestWakeLockPermissions();\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":"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","ignoreList":[]}
|
|
@@ -151,11 +151,8 @@ const FormGenerator = props => {
|
|
|
151
151
|
}
|
|
152
152
|
}, /*#__PURE__*/React.createElement(Text, null))))), /*#__PURE__*/React.createElement(View, {
|
|
153
153
|
style: styles.bottomView
|
|
154
|
-
}, /*#__PURE__*/React.createElement(
|
|
155
|
-
style: [CommonStyles.nextButton,
|
|
156
|
-
width: 165,
|
|
157
|
-
marginStart: 10
|
|
158
|
-
}],
|
|
154
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
155
|
+
style: [styles.mainBtnStyles, CommonStyles.nextButton],
|
|
159
156
|
labelStyle: CommonStyles.nextButtonLabel,
|
|
160
157
|
mode: 'contained',
|
|
161
158
|
onPress: () => {
|
|
@@ -172,11 +169,8 @@ const FormGenerator = props => {
|
|
|
172
169
|
cta: cta
|
|
173
170
|
});
|
|
174
171
|
}
|
|
175
|
-
}, "Proceed")
|
|
176
|
-
style: [CommonStyles.cancelButton,
|
|
177
|
-
width: 165,
|
|
178
|
-
marginEnd: 10
|
|
179
|
-
}],
|
|
172
|
+
}, "Proceed"), props.isSelfLoop == false && /*#__PURE__*/React.createElement(Button, {
|
|
173
|
+
style: [styles.mainBtnStyles, CommonStyles.cancelButton],
|
|
180
174
|
labelStyle: CommonStyles.cancelButtonLabel,
|
|
181
175
|
mode: 'outlined',
|
|
182
176
|
onPress: () => {
|
|
@@ -193,7 +187,7 @@ const FormGenerator = props => {
|
|
|
193
187
|
cta: cta
|
|
194
188
|
});
|
|
195
189
|
}
|
|
196
|
-
}, "Cancel"))))
|
|
190
|
+
}, "Cancel"))));
|
|
197
191
|
};
|
|
198
192
|
export default FormGenerator;
|
|
199
193
|
const styles = StyleSheet.create({
|
|
@@ -212,6 +206,16 @@ const styles = StyleSheet.create({
|
|
|
212
206
|
flexDirection: 'row-reverse',
|
|
213
207
|
justifyContent: 'space-evenly',
|
|
214
208
|
padding: 16,
|
|
209
|
+
backgroundColor: 'white',
|
|
210
|
+
gap: 16
|
|
211
|
+
},
|
|
212
|
+
mainBtnStyles: {
|
|
213
|
+
display: 'flex',
|
|
214
|
+
flexDirection: 'row',
|
|
215
|
+
justifyContent: 'center',
|
|
216
|
+
alignItems: 'center',
|
|
217
|
+
flex: 1,
|
|
218
|
+
width: '100%',
|
|
215
219
|
backgroundColor: 'white'
|
|
216
220
|
}
|
|
217
221
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useState","useLayoutEffect","BackHandler","KeyboardAvoidingView","Platform","ScrollView","StyleSheet","Text","View","ReactNativeForm","defaultProps","FormContext","DateTimeWidget","TimeRangeSelector","QRBarcodeScannerWidget","DropdownWidget","Button","Provider","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","CommonStyles","Fonts","SdkColors","ColorTheme","Icon","GO_BACK_EVENT_CODE","hasGoBackConnector","GoBackModal","useFocusEffect","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","customWidgets","datePicker","timeRangeSelector","scanner","select","FormGenerator","props","form","showBackModal","setShowBackModal","onCancel","setOnCancel","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","FORM_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","FORMS","mergedObjectiveId","data","onFailure","mainContainer","flex","flexGrow","padding","value","requiredTitle","theme","primaryColor","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","OS","IBMPlexSans_400Regular","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","nextButton","width","marginStart","labelStyle","nextButtonLabel","mode","current","submit","isSelfLoop","cancelButton","marginEnd","cancelButtonLabel","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","useRef","useState","useLayoutEffect","BackHandler","KeyboardAvoidingView","Platform","ScrollView","StyleSheet","Text","View","ReactNativeForm","defaultProps","FormContext","DateTimeWidget","TimeRangeSelector","QRBarcodeScannerWidget","DropdownWidget","Button","Provider","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","CommonStyles","Fonts","SdkColors","ColorTheme","Icon","GO_BACK_EVENT_CODE","hasGoBackConnector","GoBackModal","useFocusEffect","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","customWidgets","datePicker","timeRangeSelector","scanner","select","FormGenerator","props","form","showBackModal","setShowBackModal","onCancel","setOnCancel","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","FORM_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","FORMS","mergedObjectiveId","data","onFailure","mainContainer","flex","flexGrow","padding","value","requiredTitle","theme","primaryColor","LIGHT","primaryButton","highlightColor","borderColor","textColor","placeholderTextColor","errorColor","fontFamily","OS","IBMPlexSans_400Regular","styles","message","noHtml5Validate","noValidate","widgets","ref","schema","jsonSchema","showErrorList","uiSchema","onError","error","_props$applicableReas","failure","onSubmit","response","_props$applicableReas2","formData","_props$applicableReas3","success","bottomView","mainBtnStyles","nextButton","labelStyle","nextButtonLabel","mode","current","submit","isSelfLoop","cancelButton","cancelButtonLabel","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":[]}
|
|
@@ -141,8 +141,10 @@ export default class DocumentHttpClient extends HttpClient {
|
|
|
141
141
|
if (processedFileExist) {
|
|
142
142
|
filePathToUpload = document.processed_file_path;
|
|
143
143
|
}
|
|
144
|
+
const fileStat = await RNFS.stat(filePathToUpload);
|
|
144
145
|
const url = sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
|
|
145
146
|
let extraParameters = {
|
|
147
|
+
fSize: fileStat.size + " b",
|
|
146
148
|
fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4) : '',
|
|
147
149
|
dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4) : '',
|
|
148
150
|
dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9) : ''
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HttpClient","FileSystem","FileSystemUploadType","DispatchSdkCache","Logger","LOG_TYPE","RNFS","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","flattenObject","isTokenExpired","callbackHandler","cache","getInstance","cacheKeys","KEYS","DocumentHttpClient","constructor","baseURL","uploadDocument","document","base64","data","response","uploadBase64File","info","body","status","substring","String","extraParameters","fName","file_name","length","dName","fms_folder_id","dispId","dispatch_id","severityLevel","LOG","eventName","API_RESPONSE","screenName","extraParams","logEvent","SDK_ERROR","id","uploadResponse","uploadBinaryFile","_JSON$parse","deleteAsync","file_path","then","catch","processed_file_path","JSON","parse","dataToUpload","undefined","requestBody","stringify","file","type","description","desc","tags","key","value","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","accessToken","refresheAndUpdateToken","API_CALL","instance","post","headers","tenantID","filePathToUpload","processedFileExist","exists","url","tenantBaseURL","uploadAsync","httpMethod","uploadType","MULTIPART","fieldName","parameters"],"sources":["DocumentHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport type { DocumentRow } from '../DBConfig';\nimport type { AxiosResponse } from 'axios';\nimport * as FileSystem from 'expo-file-system';\nimport { FileSystemUploadResult, FileSystemUploadType } from 'expo-file-system';\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { DispatchSDKConfig } from '../../../models/sdk';\nimport RNFS from 'react-native-fs';\nimport { stat } from 'react-native-fs';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport { flattenObject, isTokenExpired } from '../../../utils/utils';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst cache = DispatchSdkCache.getInstance();\nconst cacheKeys = DispatchSdkCache.KEYS;\nexport default class DocumentHttpClient extends HttpClient {\n constructor(baseURL: string) {\n super(baseURL);\n }\n public async uploadDocument(document: DocumentRow): Promise<string | null> {\n if (document.base64 && document.data != null) {\n const response = await this.uploadBase64File(document);\n let info = '';\n if (\n response &&\n response.data !== null &&\n response.data.body !== null &&\n response.status !== 202\n ) {\n let body = response.data.body;\n info = body.substring(40);\n } else {\n info = String(response.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Base64_File_Response',\n extraParams: extraParameters,\n });\n\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBase64FileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n response &&\n response.data != null &&\n response.data.data != null &&\n response.data.data.id &&\n response.status === 202\n ) {\n return response.data.data.id;\n }else{\n return null;\n }\n } else {\n const uploadResponse = await this.uploadBinaryFile(document);\n let info = '';\n if (\n uploadResponse &&\n uploadResponse.body !== null &&\n uploadResponse.status !== 202\n ) {\n let body = uploadResponse.body;\n info = body.substring(40);\n } else {\n info = String(uploadResponse.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Binary_File_Response',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBinaryFileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n uploadResponse != null &&\n uploadResponse.status === 202 &&\n uploadResponse.body != null\n ) {\n Logger.getInstance().logEvent(\n 'uploadDocument:DeletingFiles',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE\n FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE\n\n return JSON.parse(uploadResponse.body)?.data?.id;\n }else{\n return null;\n }\n }\n }\n\n // This function will upload processed base64 data (overlayed base64 data ) if exist otherwise will uplaod original base 64 data for pod signature.\n public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {\n let dataToUpload = document.data;\n if (\n document.processed_file_path !== null &&\n document.processed_file_path !== undefined &&\n document.processed_file_path !== ''\n ) {\n dataToUpload = document.processed_file_path;\n }\n let requestBody = JSON.stringify({\n file: {\n type: 'FILE',\n data: dataToUpload,\n },\n description: document.desc,\n tags: [\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ],\n fileName: document.file_name,\n });\n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Base64_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBase64FileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return this.instance.post(\n `/api/folders/${document.fms_folder_id}/files`,\n requestBody,\n {\n headers: {\n 'accept': 'application/json',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'Content-Type': 'application/json',\n },\n }\n );\n }\n\n // This function will upload processed (overlayed file) if exist otherwise will uplaod original file for pod images.\n private async uploadBinaryFile(\n document: DocumentRow\n ): Promise<FileSystemUploadResult> {\n \n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n\n let filePathToUpload = document.file_path;\n let processedFileExist = await RNFS.exists(document.processed_file_path);\n if (processedFileExist) {\n filePathToUpload = document.processed_file_path;\n }\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n \n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Binary_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return FileSystem.uploadAsync(url, filePathToUpload, {\n headers: {\n 'accept': 'application/json',\n 'Content-Type': 'multipart/form-data',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n },\n httpMethod: 'POST',\n uploadType: FileSystemUploadType.MULTIPART,\n fieldName: 'file',\n parameters: {\n tags: JSON.stringify([\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ]),\n },\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HttpClient","FileSystem","FileSystemUploadType","DispatchSdkCache","Logger","LOG_TYPE","RNFS","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","flattenObject","isTokenExpired","callbackHandler","cache","getInstance","cacheKeys","KEYS","DocumentHttpClient","constructor","baseURL","uploadDocument","document","base64","data","response","uploadBase64File","info","body","status","substring","String","extraParameters","fName","file_name","length","dName","fms_folder_id","dispId","dispatch_id","severityLevel","LOG","eventName","API_RESPONSE","screenName","extraParams","logEvent","SDK_ERROR","id","uploadResponse","uploadBinaryFile","_JSON$parse","deleteAsync","file_path","then","catch","processed_file_path","JSON","parse","dataToUpload","undefined","requestBody","stringify","file","type","description","desc","tags","key","value","fileName","sdkConfig","getObjectFromCache","SDK_CONFIG","accessToken","refresheAndUpdateToken","API_CALL","instance","post","headers","tenantID","filePathToUpload","processedFileExist","exists","fileStat","stat","url","tenantBaseURL","fSize","size","uploadAsync","httpMethod","uploadType","MULTIPART","fieldName","parameters"],"sources":["DocumentHttpClient.ts"],"sourcesContent":["import HttpClient from '../../../network/client';\nimport type { DocumentRow } from '../DBConfig';\nimport type { AxiosResponse } from 'axios';\nimport * as FileSystem from 'expo-file-system';\nimport { FileSystemUploadResult, FileSystemUploadType } from 'expo-file-system';\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { DispatchSDKConfig } from '../../../models/sdk';\nimport RNFS from 'react-native-fs';\nimport { stat } from 'react-native-fs';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nimport { flattenObject, isTokenExpired } from '../../../utils/utils';\nimport callbackHandler from '../../../manager/sdk/callbacksHandler';\n\nconst cache = DispatchSdkCache.getInstance();\nconst cacheKeys = DispatchSdkCache.KEYS;\nexport default class DocumentHttpClient extends HttpClient {\n constructor(baseURL: string) {\n super(baseURL);\n }\n public async uploadDocument(document: DocumentRow): Promise<string | null> {\n if (document.base64 && document.data != null) {\n const response = await this.uploadBase64File(document);\n let info = '';\n if (\n response &&\n response.data !== null &&\n response.data.body !== null &&\n response.status !== 202\n ) {\n let body = response.data.body;\n info = body.substring(40);\n } else {\n info = String(response.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Base64_File_Response',\n extraParams: extraParameters,\n });\n\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBase64FileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n response &&\n response.data != null &&\n response.data.data != null &&\n response.data.data.id &&\n response.status === 202\n ) {\n return response.data.data.id;\n }else{\n return null;\n }\n } else {\n const uploadResponse = await this.uploadBinaryFile(document);\n let info = '';\n if (\n uploadResponse &&\n uploadResponse.body !== null &&\n uploadResponse.status !== 202\n ) {\n let body = uploadResponse.body;\n info = body.substring(40);\n } else {\n info = String(uploadResponse.status);\n }\n let extraParameters = { \n response: info,\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_RESPONSE,\n screenName: 'uploadDocument:Upload_Binary_File_Response',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadDocument:uploadBinaryFileResponse',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (\n uploadResponse != null &&\n uploadResponse.status === 202 &&\n uploadResponse.body != null\n ) {\n Logger.getInstance().logEvent(\n 'uploadDocument:DeletingFiles',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE\n FileSystem.deleteAsync(document.processed_file_path).then().catch(); // WE DELETE FILE HERE\n\n return JSON.parse(uploadResponse.body)?.data?.id;\n }else{\n return null;\n }\n }\n }\n\n // This function will upload processed base64 data (overlayed base64 data ) if exist otherwise will uplaod original base 64 data for pod signature.\n public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {\n let dataToUpload = document.data;\n if (\n document.processed_file_path !== null &&\n document.processed_file_path !== undefined &&\n document.processed_file_path !== ''\n ) {\n dataToUpload = document.processed_file_path;\n }\n let requestBody = JSON.stringify({\n file: {\n type: 'FILE',\n data: dataToUpload,\n },\n description: document.desc,\n tags: [\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ],\n fileName: document.file_name,\n });\n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n let extraParameters = { \n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Base64_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBase64FileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return this.instance.post(\n `/api/folders/${document.fms_folder_id}/files`,\n requestBody,\n {\n headers: {\n 'accept': 'application/json',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'Content-Type': 'application/json',\n },\n }\n );\n }\n\n // This function will upload processed (overlayed file) if exist otherwise will uplaod original file for pod images.\n private async uploadBinaryFile(\n document: DocumentRow\n ): Promise<FileSystemUploadResult> {\n \n let sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n if(isTokenExpired(sdkConfig.accessToken)){\n await callbackHandler.refresheAndUpdateToken();\n sdkConfig = (await cache.getObjectFromCache(\n cacheKeys.SDK_CONFIG\n )) as DispatchSDKConfig;\n }\n\n let filePathToUpload = document.file_path;\n let processedFileExist = await RNFS.exists(document.processed_file_path);\n if (processedFileExist) {\n filePathToUpload = document.processed_file_path;\n }\n const fileStat = await RNFS.stat(filePathToUpload);\n\n const url =\n sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;\n \n let extraParameters = { \n fSize: fileStat.size + \" b\",\n fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',\n dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',\n dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''\n };\n\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.API_CALL,\n screenName: 'Upload_Binary_File_Request',\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n 'uploadBinaryFileRequest',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n \n return FileSystem.uploadAsync(url, filePathToUpload, {\n headers: {\n 'accept': 'application/json',\n 'Content-Type': 'multipart/form-data',\n 'X-COREOS-REQUEST-ID': document.dispatch_id,\n 'X-COREOS-TID': sdkConfig.tenantID ?? '',\n 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',\n },\n httpMethod: 'POST',\n uploadType: FileSystemUploadType.MULTIPART,\n fieldName: 'file',\n parameters: {\n tags: JSON.stringify([\n { key: 'dispatchId', value: document.dispatch_id },\n // { key: 'jobId', value: document.job_id },\n // { key: 'objectiveRef', value: document.objective_ref },\n { key: 'fileName', value: document.file_name },\n ]),\n },\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -45,25 +45,6 @@ export default class SdkUtils {
|
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
/**
|
|
49
|
-
* Function to download apk file from a public URL
|
|
50
|
-
* @param apkURL - URL where apk is hosted
|
|
51
|
-
* @param version - expected version of apk (used for naming the file)
|
|
52
|
-
* @param callback - callback for getting progress of download
|
|
53
|
-
*/
|
|
54
|
-
static async downloadAPK(apkURL, version, callback) {
|
|
55
|
-
const fileUri = FileSystem.cacheDirectory + `${version}.apk`;
|
|
56
|
-
const fileInfo = await FileSystem.getInfoAsync(fileUri);
|
|
57
|
-
const currentDate = new Date().toLocaleDateString();
|
|
58
|
-
const fileDate = new Date(fileInfo.modificationTime ? fileInfo.modificationTime * 1000 : 0).toLocaleDateString();
|
|
59
|
-
if (fileInfo.exists && currentDate === fileDate) {
|
|
60
|
-
return fileInfo.uri;
|
|
61
|
-
}
|
|
62
|
-
const downloadResumable = FileSystem.createDownloadResumable(apkURL, FileSystem.cacheDirectory + `${version}.apk`, {}, callback);
|
|
63
|
-
const downloadResult = await downloadResumable.downloadAsync();
|
|
64
|
-
return downloadResult === null || downloadResult === void 0 ? void 0 : downloadResult.uri;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
48
|
/**
|
|
68
49
|
* Opens & Install an APK file
|
|
69
50
|
* @param uri - source of apk file
|
|
@@ -1 +1 @@
|
|
|
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","requestWakeLockPermissions","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 PermissionModule.requestWakeLockPermissions();\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":"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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","deleteApk","version","deleteAsync","cacheDirectory","openAPKFile","uri","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","OS","foregroundLocation","requestForegroundPermissions","LOCATION_OR_GPS_NOT_ENABLED","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","requestWakeLockPermissions","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 * 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 PermissionModule.requestWakeLockPermissions();\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":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { DownloadProgressData } from 'expo-file-system';
|
|
2
1
|
declare const DispatchSdkUtils: any;
|
|
3
2
|
export { DispatchSdkUtils as DispatchUtilsInterface };
|
|
4
3
|
export default class SdkUtils {
|
|
@@ -7,13 +6,6 @@ export default class SdkUtils {
|
|
|
7
6
|
* @param expiration
|
|
8
7
|
*/
|
|
9
8
|
static getRemoteConfig(expiration: number): Promise<any>;
|
|
10
|
-
/**
|
|
11
|
-
* Function to download apk file from a public URL
|
|
12
|
-
* @param apkURL - URL where apk is hosted
|
|
13
|
-
* @param version - expected version of apk (used for naming the file)
|
|
14
|
-
* @param callback - callback for getting progress of download
|
|
15
|
-
*/
|
|
16
|
-
static downloadAPK(apkURL: string, version: string, callback: (progress: DownloadProgressData) => any): Promise<string | undefined>;
|
|
17
9
|
/**
|
|
18
10
|
* Opens & Install an APK file
|
|
19
11
|
* @param uri - source of apk file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@os1-platform/dispatch-mobile",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.4",
|
|
4
4
|
"description": "Dispatch SDK React Native Package",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"homepage": "https://github.com/FoxtrotPlatform/platform-coreos-dispatch-sdk/#readme",
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@apollo/client": "^3.5.6",
|
|
55
|
-
"@babel/core": "^7.
|
|
55
|
+
"@babel/core": "^7.20.0",
|
|
56
56
|
"@babel/preset-env": "^7.15.8",
|
|
57
57
|
"@babel/preset-typescript": "^7.15.0",
|
|
58
58
|
"@babel/runtime": "^7.12.5",
|
|
@@ -94,15 +94,16 @@
|
|
|
94
94
|
"eslint": "^7.32.0",
|
|
95
95
|
"eslint-config-prettier": "^7.0.0",
|
|
96
96
|
"eslint-plugin-prettier": "^3.1.3",
|
|
97
|
-
"expo": "~
|
|
98
|
-
"expo-barcode-scanner": "~
|
|
99
|
-
"expo-blur": "~
|
|
100
|
-
"expo-camera": "~
|
|
101
|
-
"expo-file-system": "~
|
|
102
|
-
"expo-font": "~
|
|
103
|
-
"expo-image-picker": "~
|
|
104
|
-
"expo-location": "~
|
|
105
|
-
"expo-sqlite": "~11.
|
|
97
|
+
"expo": "~48.0.21",
|
|
98
|
+
"expo-barcode-scanner": "~12.3.2",
|
|
99
|
+
"expo-blur": "~12.2.2",
|
|
100
|
+
"expo-camera": "~13.2.1",
|
|
101
|
+
"expo-file-system": "~15.2.2",
|
|
102
|
+
"expo-font": "~11.1.1",
|
|
103
|
+
"expo-image-picker": "~14.1.1",
|
|
104
|
+
"expo-location": "~15.1.1",
|
|
105
|
+
"expo-sqlite": "~11.1.1",
|
|
106
|
+
"expo-image-manipulator": "~11.1.1",
|
|
106
107
|
"graphql": "^16.2.0",
|
|
107
108
|
"husky": "^4.2.5",
|
|
108
109
|
"jest": "^26.6.3",
|
|
@@ -112,13 +113,13 @@
|
|
|
112
113
|
"pod-install": "^0.1.0",
|
|
113
114
|
"prettier": "^2.0.5",
|
|
114
115
|
"react": "18.2.0",
|
|
115
|
-
"react-dom": "
|
|
116
|
+
"react-dom": "18.2.0",
|
|
116
117
|
"react-native": "0.71.19",
|
|
117
118
|
"react-native-builder-bob": "^0.18.0",
|
|
118
119
|
"react-native-compressor": "^1.8.24",
|
|
119
120
|
"react-native-dropdown-picker": "^5.4.0",
|
|
120
121
|
"react-native-get-random-values": "^1.8.0",
|
|
121
|
-
"react-native-image-picker": "
|
|
122
|
+
"react-native-image-picker": "7.0.2",
|
|
122
123
|
"react-native-paper": "^4.9.2",
|
|
123
124
|
"react-native-safe-area-context": "^3.3.2",
|
|
124
125
|
"react-native-screens": "^3.9.0",
|
|
@@ -143,15 +144,16 @@
|
|
|
143
144
|
"@react-navigation/native-stack": "^6.2.5",
|
|
144
145
|
"@sentry/react-native": "^5.13.0",
|
|
145
146
|
"axios": "^0.24.0",
|
|
146
|
-
"expo": "~
|
|
147
|
-
"expo-barcode-scanner": "~
|
|
148
|
-
"expo-blur": "~
|
|
149
|
-
"expo-camera": "~13.1
|
|
150
|
-
"expo-file-system": "~15.
|
|
151
|
-
"expo-font": "~11.
|
|
152
|
-
"expo-image-picker": "~14.1.
|
|
153
|
-
"expo-location": "~15.
|
|
154
|
-
"expo-sqlite": "~11.
|
|
147
|
+
"expo": "~48.0.21",
|
|
148
|
+
"expo-barcode-scanner": "~12.3.2",
|
|
149
|
+
"expo-blur": "~12.2.2",
|
|
150
|
+
"expo-camera": "~13.2.1",
|
|
151
|
+
"expo-file-system": "~15.2.2",
|
|
152
|
+
"expo-font": "~11.1.1",
|
|
153
|
+
"expo-image-picker": "~14.1.1",
|
|
154
|
+
"expo-location": "~15.1.1",
|
|
155
|
+
"expo-sqlite": "~11.1.1",
|
|
156
|
+
"expo-image-manipulator": "~11.1.1",
|
|
155
157
|
"graphql": "^16.2.0",
|
|
156
158
|
"react": "^18.2.0",
|
|
157
159
|
"react-native": "^0.71.19",
|
|
@@ -163,6 +165,25 @@
|
|
|
163
165
|
"react-native-screens": "^3.9.0",
|
|
164
166
|
"react-native-vector-icons": "^9.0.0"
|
|
165
167
|
},
|
|
168
|
+
"dependencies": {
|
|
169
|
+
"@os1-platform/platform-coreos-execution-engine-sdk": "1.0.18",
|
|
170
|
+
"@rjsf/core": "^2.0.0",
|
|
171
|
+
"apollo-link-timeout": "^4.0.0",
|
|
172
|
+
"decompress": "^4.2.1",
|
|
173
|
+
"i18n-js": "^4.3.2",
|
|
174
|
+
"json-logic-js": "^2.0.1",
|
|
175
|
+
"jsonpath-plus": "^6.0.1",
|
|
176
|
+
"jwt-decode": "^3.1.2",
|
|
177
|
+
"latlng-to-dms": "^1.0.2",
|
|
178
|
+
"lodash": "^4.17.21",
|
|
179
|
+
"react-native-fs": "^2.20.0",
|
|
180
|
+
"react-native-image-marker": "1.1.15",
|
|
181
|
+
"react-native-otp-textinput": "0.0.8",
|
|
182
|
+
"react-native-svg": "^13.6.0",
|
|
183
|
+
"recyclerlistview": "^4.2.0",
|
|
184
|
+
"rjsf-native": "^1.0.14",
|
|
185
|
+
"toggle-switch-react-native": "^3.3.0"
|
|
186
|
+
},
|
|
166
187
|
"jest": {
|
|
167
188
|
"moduleFileExtensions": [
|
|
168
189
|
"ts",
|
|
@@ -255,24 +276,5 @@
|
|
|
255
276
|
}
|
|
256
277
|
]
|
|
257
278
|
]
|
|
258
|
-
},
|
|
259
|
-
"dependencies": {
|
|
260
|
-
"@os1-platform/platform-coreos-execution-engine-sdk": "1.0.17",
|
|
261
|
-
"@rjsf/core": "^2.0.0",
|
|
262
|
-
"apollo-link-timeout": "^4.0.0",
|
|
263
|
-
"decompress": "^4.2.1",
|
|
264
|
-
"i18n-js": "^4.3.2",
|
|
265
|
-
"json-logic-js": "^2.0.1",
|
|
266
|
-
"jsonpath-plus": "^6.0.1",
|
|
267
|
-
"jwt-decode": "^3.1.2",
|
|
268
|
-
"latlng-to-dms": "^1.0.2",
|
|
269
|
-
"lodash": "^4.17.21",
|
|
270
|
-
"react-native-fs": "^2.20.0",
|
|
271
|
-
"react-native-image-marker": "1.1.15",
|
|
272
|
-
"react-native-otp-textinput": "0.0.8",
|
|
273
|
-
"react-native-svg": "^13.6.0",
|
|
274
|
-
"recyclerlistview": "^4.2.0",
|
|
275
|
-
"rjsf-native": "^1.0.14",
|
|
276
|
-
"toggle-switch-react-native": "^3.3.0"
|
|
277
279
|
}
|
|
278
280
|
}
|
|
@@ -223,9 +223,8 @@ const FormGenerator = (props: FormInputSchema) => {
|
|
|
223
223
|
</View>
|
|
224
224
|
</ScrollView>
|
|
225
225
|
<View style={styles.bottomView}>
|
|
226
|
-
<View>
|
|
227
226
|
<Button
|
|
228
|
-
style={[CommonStyles.nextButton
|
|
227
|
+
style={[styles.mainBtnStyles, CommonStyles.nextButton]}
|
|
229
228
|
labelStyle={CommonStyles.nextButtonLabel}
|
|
230
229
|
mode={'contained'}
|
|
231
230
|
onPress={() => {
|
|
@@ -241,10 +240,8 @@ const FormGenerator = (props: FormInputSchema) => {
|
|
|
241
240
|
>
|
|
242
241
|
Proceed
|
|
243
242
|
</Button>
|
|
244
|
-
</View>
|
|
245
|
-
<View>
|
|
246
243
|
{(props.isSelfLoop == false) && <Button
|
|
247
|
-
style={[CommonStyles.cancelButton
|
|
244
|
+
style={[styles.mainBtnStyles, CommonStyles.cancelButton]}
|
|
248
245
|
labelStyle={CommonStyles.cancelButtonLabel}
|
|
249
246
|
mode={'outlined'}
|
|
250
247
|
onPress={() => {
|
|
@@ -261,7 +258,6 @@ const FormGenerator = (props: FormInputSchema) => {
|
|
|
261
258
|
Cancel
|
|
262
259
|
</Button>
|
|
263
260
|
}
|
|
264
|
-
</View>
|
|
265
261
|
</View>
|
|
266
262
|
</KeyboardAvoidingView>
|
|
267
263
|
</Provider>
|
|
@@ -290,5 +286,15 @@ const styles = StyleSheet.create({
|
|
|
290
286
|
justifyContent: 'space-evenly',
|
|
291
287
|
padding: 16,
|
|
292
288
|
backgroundColor: 'white',
|
|
289
|
+
gap: 16,
|
|
290
|
+
},
|
|
291
|
+
mainBtnStyles: {
|
|
292
|
+
display: 'flex',
|
|
293
|
+
flexDirection: 'row',
|
|
294
|
+
justifyContent: 'center',
|
|
295
|
+
alignItems: 'center',
|
|
296
|
+
flex: 1,
|
|
297
|
+
width: '100%',
|
|
298
|
+
backgroundColor: 'white',
|
|
293
299
|
},
|
|
294
300
|
});
|
|
@@ -201,10 +201,13 @@ export default class DocumentHttpClient extends HttpClient {
|
|
|
201
201
|
if (processedFileExist) {
|
|
202
202
|
filePathToUpload = document.processed_file_path;
|
|
203
203
|
}
|
|
204
|
+
const fileStat = await RNFS.stat(filePathToUpload);
|
|
205
|
+
|
|
204
206
|
const url =
|
|
205
207
|
sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
|
|
206
208
|
|
|
207
209
|
let extraParameters = {
|
|
210
|
+
fSize: fileStat.size + " b",
|
|
208
211
|
fName: document.file_name && document.file_name.length != 0 ? document.file_name.substring(4): '',
|
|
209
212
|
dName: document.fms_folder_id && document.fms_folder_id.length != 0 ? document.fms_folder_id.substring(4): '',
|
|
210
213
|
dispId: document.dispatch_id && document.dispatch_id.length != 0 ? document.dispatch_id.substring(9): ''
|
package/src/utils/SdkUtils.ts
CHANGED
|
@@ -72,36 +72,6 @@ export default class SdkUtils {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
/**
|
|
76
|
-
* Function to download apk file from a public URL
|
|
77
|
-
* @param apkURL - URL where apk is hosted
|
|
78
|
-
* @param version - expected version of apk (used for naming the file)
|
|
79
|
-
* @param callback - callback for getting progress of download
|
|
80
|
-
*/
|
|
81
|
-
public static async downloadAPK(
|
|
82
|
-
apkURL: string,
|
|
83
|
-
version: string,
|
|
84
|
-
callback: (progress: DownloadProgressData) => any
|
|
85
|
-
): Promise<string | undefined> {
|
|
86
|
-
const fileUri = FileSystem.cacheDirectory + `${version}.apk`;
|
|
87
|
-
const fileInfo = await FileSystem.getInfoAsync(fileUri);
|
|
88
|
-
const currentDate = new Date().toLocaleDateString();
|
|
89
|
-
const fileDate = new Date(
|
|
90
|
-
fileInfo.modificationTime ? fileInfo.modificationTime * 1000 : 0
|
|
91
|
-
).toLocaleDateString();
|
|
92
|
-
if (fileInfo.exists && currentDate === fileDate) {
|
|
93
|
-
return fileInfo.uri;
|
|
94
|
-
}
|
|
95
|
-
const downloadResumable = FileSystem.createDownloadResumable(
|
|
96
|
-
apkURL,
|
|
97
|
-
FileSystem.cacheDirectory + `${version}.apk`,
|
|
98
|
-
{},
|
|
99
|
-
callback
|
|
100
|
-
);
|
|
101
|
-
const downloadResult = await downloadResumable.downloadAsync();
|
|
102
|
-
return downloadResult?.uri;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
75
|
/**
|
|
106
76
|
* Opens & Install an APK file
|
|
107
77
|
* @param uri - source of apk file
|