@os1-platform/dispatch-mobile 3.0.4 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +38 -9
- package/android/gradle.properties +17 -2
- package/lib/commonjs/components/dispatch/DispatchExecNavigator.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +467 -287
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js +14 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOtpStyles.js +270 -0
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOtpStyles.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js +99 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js +195 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js +106 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/constants.js +12 -5
- package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ContactCard.js +68 -0
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ContactCard.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js +12 -5
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js +61 -0
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js +235 -114
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
- package/lib/commonjs/components/utils/Scale.js +22 -0
- package/lib/commonjs/components/utils/Scale.js.map +1 -0
- package/lib/commonjs/components/widgets/ConfirmCancelModal.js +47 -0
- package/lib/commonjs/components/widgets/ConfirmCancelModal.js.map +1 -0
- package/lib/commonjs/components/widgets/SnackBarCustom.js +36 -4
- package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/commonjs/components/widgets/SplitTextInput.js +48 -18
- package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/commonjs/constants/apiConstants.js +4 -1
- package/lib/commonjs/constants/apiConstants.js.map +1 -1
- package/lib/commonjs/constants/constants.js +2 -1
- package/lib/commonjs/constants/constants.js.map +1 -1
- package/lib/commonjs/icons/icExclamationcircleo_dark.svg +3 -0
- package/lib/commonjs/icons/icFailed.gif +0 -0
- package/lib/commonjs/icons/icRadioChecked.svg +4 -0
- package/lib/commonjs/icons/icRadioUnchecked.svg +4 -0
- package/lib/commonjs/icons/icSuccess.gif +0 -0
- package/lib/commonjs/icons/index.js +28 -0
- package/lib/commonjs/icons/index.js.map +1 -0
- package/lib/commonjs/index.js +19 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +5 -4
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js +9 -2
- package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/constants.js +3 -1
- package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +3 -2
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +70 -80
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/models/sdk.js +1 -0
- package/lib/commonjs/models/sdk.js.map +1 -1
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js +132 -12
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/commonjs/utils/ApiUtils.js +122 -3
- package/lib/commonjs/utils/ApiUtils.js.map +1 -1
- package/lib/commonjs/utils/ExecTaskUtils.js +67 -7
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/context/valdiateOTPContext.js +11 -0
- package/lib/commonjs/utils/context/valdiateOTPContext.js.map +1 -0
- package/lib/commonjs/utils/helper.js.map +1 -1
- package/lib/commonjs/utils/hooks/useTimer.js +68 -30
- package/lib/commonjs/utils/hooks/useTimer.js.map +1 -1
- package/lib/module/components/dispatch/DispatchExecNavigator.js.map +1 -1
- package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +480 -290
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPSchema.js +14 -0
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOtpStyles.js +264 -0
- package/lib/module/components/executiontasks/validateOTP/ValidateOtpStyles.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js +88 -0
- package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/components/OTPView.js +194 -0
- package/lib/module/components/executiontasks/validateOTP/components/OTPView.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js +96 -0
- package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/constants.js +11 -4
- package/lib/module/components/executiontasks/validateOTP/constants.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/sub-components/ContactCard.js +59 -0
- package/lib/module/components/executiontasks/validateOTP/sub-components/ContactCard.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js +11 -5
- package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js +52 -0
- package/lib/module/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/utils.js +219 -108
- package/lib/module/components/executiontasks/validateOTP/utils.js.map +1 -1
- package/lib/module/components/utils/Scale.js +14 -0
- package/lib/module/components/utils/Scale.js.map +1 -0
- package/lib/module/components/widgets/ConfirmCancelModal.js +40 -0
- package/lib/module/components/widgets/ConfirmCancelModal.js.map +1 -0
- package/lib/module/components/widgets/SnackBarCustom.js +36 -4
- package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/module/components/widgets/SplitTextInput.js +48 -19
- package/lib/module/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/module/constants/apiConstants.js +4 -1
- package/lib/module/constants/apiConstants.js.map +1 -1
- package/lib/module/constants/constants.js +1 -0
- package/lib/module/constants/constants.js.map +1 -1
- package/lib/module/icons/icExclamationcircleo_dark.svg +3 -0
- package/lib/module/icons/icFailed.gif +0 -0
- package/lib/module/icons/icRadioChecked.svg +4 -0
- package/lib/module/icons/icRadioUnchecked.svg +4 -0
- package/lib/module/icons/icSuccess.gif +0 -0
- package/lib/module/icons/index.js +5 -0
- package/lib/module/icons/index.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +5 -3
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/sdk/callbacksHandler.js +12 -3
- package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/module/manager/syncmanager/constants.js +2 -0
- package/lib/module/manager/syncmanager/constants.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +3 -2
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +70 -80
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/models/sdk.js +2 -0
- package/lib/module/models/sdk.js.map +1 -1
- package/lib/module/ui/screens/ValidateOTPScreen.js +139 -11
- package/lib/module/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/module/utils/ApiUtils.js +118 -2
- package/lib/module/utils/ApiUtils.js.map +1 -1
- package/lib/module/utils/ExecTaskUtils.js +66 -7
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/context/valdiateOTPContext.js +4 -0
- package/lib/module/utils/context/valdiateOTPContext.js.map +1 -0
- package/lib/module/utils/helper.js +1 -0
- package/lib/module/utils/helper.js.map +1 -1
- package/lib/module/utils/hooks/useTimer.js +67 -30
- package/lib/module/utils/hooks/useTimer.js.map +1 -1
- package/lib/typescript/components/executiontasks/collectPayment/PaymentStyles.d.ts +3 -3
- package/lib/typescript/components/executiontasks/deliver/DeliverETInput.d.ts +0 -1
- package/lib/typescript/components/executiontasks/scan/modalConstant.d.ts +0 -1
- package/lib/typescript/components/executiontasks/validateOTP/ValidateOTPET.d.ts +3 -3
- package/lib/typescript/components/executiontasks/validateOTP/ValidateOTPSchema.d.ts +169 -5
- package/lib/typescript/components/executiontasks/validateOTP/ValidateOtpStyles.d.ts +255 -0
- package/lib/typescript/components/executiontasks/validateOTP/components/ContactListView.d.ts +3 -0
- package/lib/typescript/components/executiontasks/validateOTP/components/OTPView.d.ts +3 -0
- package/lib/typescript/components/executiontasks/validateOTP/components/VerificationComplete.d.ts +3 -0
- package/lib/typescript/components/executiontasks/validateOTP/constants.d.ts +11 -4
- package/lib/typescript/components/executiontasks/validateOTP/sub-components/ContactCard.d.ts +8 -0
- package/lib/typescript/components/executiontasks/validateOTP/sub-components/ResendOTPButton.d.ts +12 -0
- package/lib/typescript/components/executiontasks/validateOTP/utils.d.ts +31 -7
- package/lib/typescript/components/utils/Scale.d.ts +4 -0
- package/lib/typescript/components/widgets/ConfirmCancelModal.d.ts +9 -0
- package/lib/typescript/components/widgets/SnackBarCustom.d.ts +4 -8
- package/lib/typescript/components/widgets/SplitTextInput.d.ts +1 -1
- package/lib/typescript/components/widgets/Timer.d.ts +3 -3
- package/lib/typescript/constants/apiConstants.d.ts +3 -0
- package/lib/typescript/constants/constants.d.ts +1 -0
- package/lib/typescript/icons/index.d.ts +4 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/manager/sdk/callbacksHandler.d.ts +4 -1
- package/lib/typescript/manager/syncmanager/constants.d.ts +2 -0
- package/lib/typescript/models/execTasks/ETConfig.d.ts +1 -1
- package/lib/typescript/models/sdk.d.ts +3 -0
- package/lib/typescript/network/GraphQLClient.d.ts +4 -4
- package/lib/typescript/styles/executionTasks/CommonStyles.d.ts +2 -2
- package/lib/typescript/ui/screens/HttpRequestScreen.d.ts +0 -1
- package/lib/typescript/utils/ApiUtils.d.ts +6 -2
- package/lib/typescript/utils/ExecTaskUtils.d.ts +1 -0
- package/lib/typescript/utils/context/paymentContext.d.ts +0 -1
- package/lib/typescript/utils/context/valdiateOTPContext.d.ts +6 -0
- package/lib/typescript/utils/hooks/useModal.d.ts +0 -2
- package/lib/typescript/utils/hooks/useTimer.d.ts +7 -5
- package/package.json +46 -44
- package/src/components/dispatch/DispatchExecNavigator.tsx +1 -1
- package/src/components/executiontasks/forms/widgets/DateTimeWidget.tsx +2 -2
- package/src/components/executiontasks/imageCapture/CaptureUtils.ts +1 -1
- package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +654 -381
- package/src/components/executiontasks/validateOTP/ValidateOTPSchema.ts +193 -8
- package/src/components/executiontasks/validateOTP/ValidateOtpStyles.ts +296 -0
- package/src/components/executiontasks/validateOTP/components/ContactListView.tsx +109 -0
- package/src/components/executiontasks/validateOTP/components/OTPView.tsx +216 -0
- package/src/components/executiontasks/validateOTP/components/VerificationComplete.tsx +124 -0
- package/src/components/executiontasks/validateOTP/constants.ts +11 -4
- package/src/components/executiontasks/validateOTP/sub-components/ContactCard.tsx +72 -0
- package/src/components/executiontasks/validateOTP/sub-components/OTPInput.tsx +13 -7
- package/src/components/executiontasks/validateOTP/sub-components/ResendOTPButton.tsx +86 -0
- package/src/components/executiontasks/validateOTP/utils.ts +313 -143
- package/src/components/utils/Scale.ts +13 -0
- package/src/components/widgets/ConfirmCancelModal.tsx +49 -0
- package/src/components/widgets/SnackBarCustom.tsx +37 -13
- package/src/components/widgets/SplitTextInput.tsx +58 -21
- package/src/constants/apiConstants.ts +3 -0
- package/src/constants/constants.ts +2 -2
- package/src/icons/icExclamationcircleo_dark.svg +3 -0
- package/src/icons/icFailed.gif +0 -0
- package/src/icons/icRadioChecked.svg +4 -0
- package/src/icons/icRadioUnchecked.svg +4 -0
- package/src/icons/icSuccess.gif +0 -0
- package/src/icons/index.ts +5 -0
- package/src/index.tsx +2 -0
- package/src/manager/sdk/DispatchSDKManager.ts +6 -5
- package/src/manager/sdk/callbacksHandler.ts +29 -12
- package/src/manager/syncmanager/constants.ts +2 -0
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +29 -29
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +75 -84
- package/src/models/sdk.ts +6 -0
- package/src/ui/screens/ValidateOTPScreen.tsx +194 -32
- package/src/utils/ApiUtils.ts +131 -3
- package/src/utils/ExecTaskUtils.ts +77 -15
- package/src/utils/context/valdiateOTPContext.ts +9 -0
- package/src/utils/helper.ts +0 -1
- package/src/utils/hooks/useTimer.ts +94 -36
|
@@ -1,56 +1,184 @@
|
|
|
1
1
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
3
|
+
// External Libraries
|
|
2
4
|
import React, { useEffect, useState } from 'react';
|
|
5
|
+
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
6
|
+
|
|
7
|
+
// SDKs and Platform Libraries
|
|
8
|
+
import { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';
|
|
9
|
+
|
|
10
|
+
// Utility and Manager Imports
|
|
11
|
+
import Storage from '../../utils/storage';
|
|
12
|
+
import callbackHandler from '../../manager/sdk/callbacksHandler';
|
|
13
|
+
import Logger, { LOG_TYPE } from '../../utils/Logger';
|
|
14
|
+
import { handleDynamicValues, onTaskStart } from '../../utils/ExecTaskUtils';
|
|
15
|
+
import { RouteParams, getDataFromNextState } from '../uiConfig/RouteParams';
|
|
16
|
+
import { PROGRESS_GROUP } from '../../utils/Constants';
|
|
17
|
+
import DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';
|
|
3
18
|
import withBaseDispatchScreen from './WithBaseDispatchScreen';
|
|
19
|
+
import DispatchSdkCache from '../../manager/sdk/DispatchSdkCache';
|
|
20
|
+
import Helper from '../../utils/helper';
|
|
21
|
+
|
|
22
|
+
// Network Client
|
|
23
|
+
import NetworkClient from '../../network/NetworkClient';
|
|
24
|
+
|
|
25
|
+
// Models and Constants
|
|
4
26
|
import { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';
|
|
5
|
-
|
|
6
|
-
|
|
27
|
+
|
|
28
|
+
// Components
|
|
7
29
|
import ValidateOTPET from '../../components/executiontasks/validateOTP/ValidateOTPET';
|
|
8
|
-
import {
|
|
30
|
+
import { generateContactList, getUniqueRefId, resetCount } from '../../components/executiontasks/validateOTP/utils';
|
|
31
|
+
// Analytics
|
|
9
32
|
import { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../analytics/sentry/SentrySdkConstants';
|
|
10
33
|
import { fireEventWithScreenName } from '../../analytics/sentry/SentryAnalyticsUtils';
|
|
34
|
+
import { ValidateOTPContext } from '../../utils/context/valdiateOTPContext';
|
|
35
|
+
|
|
36
|
+
// Storage
|
|
37
|
+
let storage = Storage.getInstance();
|
|
11
38
|
const ValidateOTPScreen = ({
|
|
12
39
|
route,
|
|
13
40
|
navigation,
|
|
14
41
|
baseETProps
|
|
15
42
|
}) => {
|
|
43
|
+
var _mergedObjectiveId$;
|
|
44
|
+
const helperInstance = Helper.getInstance();
|
|
16
45
|
const nextState = route.params[RouteParams.NEXT_STATES];
|
|
17
46
|
const {
|
|
18
47
|
taskMeta,
|
|
19
48
|
mergedObjectiveId,
|
|
20
49
|
input,
|
|
21
|
-
wfMeta
|
|
50
|
+
wfMeta,
|
|
51
|
+
taskName
|
|
22
52
|
} = getDataFromNextState(nextState);
|
|
23
53
|
const message = input === null || input === void 0 ? void 0 : input.message;
|
|
54
|
+
const workflowId = (_mergedObjectiveId$ = mergedObjectiveId[0]) === null || _mergedObjectiveId$ === void 0 || (_mergedObjectiveId$ = _mergedObjectiveId$.split('#')[1]) === null || _mergedObjectiveId$ === void 0 ? void 0 : _mergedObjectiveId$.toString();
|
|
55
|
+
let _route = JSON.parse(JSON.stringify(route));
|
|
24
56
|
const firstInput = input;
|
|
25
57
|
const [_input, setInputs] = useState({
|
|
26
|
-
...firstInput
|
|
58
|
+
...firstInput,
|
|
59
|
+
wfMeta,
|
|
60
|
+
workflowId
|
|
27
61
|
});
|
|
62
|
+
const [contactList, setContactList] = useState([]);
|
|
63
|
+
// state to store orders data
|
|
64
|
+
const [orderData, setOrderData] = useState([]);
|
|
65
|
+
const [contextData, setContextData] = useState();
|
|
66
|
+
const [isSelfLoopTrue, setSelfLoop] = useState(false);
|
|
67
|
+
async function getSdkConfig() {
|
|
68
|
+
const cache = DispatchSdkCache.getInstance();
|
|
69
|
+
const _sdkConfig = await cache.getObjectFromCache(DispatchSdkCache.KEYS.SDK_CONFIG);
|
|
70
|
+
const networkInstance = new NetworkClient(_sdkConfig.validateOtpDomain ?? '');
|
|
71
|
+
setContextData({
|
|
72
|
+
_sdkConfig,
|
|
73
|
+
networkInstance
|
|
74
|
+
});
|
|
75
|
+
return {
|
|
76
|
+
_sdkConfig,
|
|
77
|
+
networkInstance
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const getSelfLoopBool = async () => {
|
|
81
|
+
try {
|
|
82
|
+
var _mergedObjectiveId$2;
|
|
83
|
+
const splitArr = (_mergedObjectiveId$2 = mergedObjectiveId[0]) === null || _mergedObjectiveId$2 === void 0 ? void 0 : _mergedObjectiveId$2.split('#');
|
|
84
|
+
const isSelfLoopTrue = await helperInstance.isSelfLoopExistOnET(splitArr[1], taskName);
|
|
85
|
+
setSelfLoop(isSelfLoopTrue);
|
|
86
|
+
} catch (error) {
|
|
87
|
+
console.log('isSelfLoopTrue code execution error', error);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
28
90
|
useEffect(() => {
|
|
91
|
+
// fetch Contact details & mapped contact list
|
|
92
|
+
const fetchContactDetails = async () => {
|
|
93
|
+
const rootMetaData = route.params[RouteParams.ROOT_META_DATA];
|
|
94
|
+
if (!rootMetaData) return; // Exit early if ROOT_META_DATA is not available
|
|
95
|
+
|
|
96
|
+
let progressGroup = null;
|
|
97
|
+
let reattemptId = null;
|
|
98
|
+
|
|
99
|
+
// Fetch the progress group with error handling
|
|
100
|
+
try {
|
|
101
|
+
progressGroup = await storage.getSharedItem(PROGRESS_GROUP, false);
|
|
102
|
+
reattemptId = await DispatchExecutor.getAttemptCountByMoId(mergedObjectiveId[0]);
|
|
103
|
+
const refId = getUniqueRefId(mergedObjectiveId[0], progressGroup, Number(reattemptId));
|
|
104
|
+
setInputs({
|
|
105
|
+
..._input,
|
|
106
|
+
progressGroup,
|
|
107
|
+
reattemptId,
|
|
108
|
+
refId
|
|
109
|
+
});
|
|
110
|
+
} catch (error) {
|
|
111
|
+
var _error$response;
|
|
112
|
+
Logger.getInstance().logEvent('~ getPaymentStatus triggered ', JSON.stringify((error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) || error), LOG_TYPE.SDK_ERROR);
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
// Get objective task details
|
|
116
|
+
const {
|
|
117
|
+
contact
|
|
118
|
+
} = await DispatchExecutor.getObjectiveTaskDetails(mergedObjectiveId[0], progressGroup, rootMetaData.statusFilter);
|
|
119
|
+
|
|
120
|
+
// Fetch contact details and generate contact list
|
|
121
|
+
const contactDetails = await callbackHandler.getEmailAndPhoneNumbers(contact);
|
|
122
|
+
|
|
123
|
+
// Fetch and set order data
|
|
124
|
+
const data = await DispatchExecutor.filterWFIData(taskName, mergedObjectiveId, 100, 0);
|
|
125
|
+
if (data !== null && data !== void 0 && data.data) {
|
|
126
|
+
setOrderData(data.data);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// If valid contact details, generate and set contact list
|
|
130
|
+
if (contactDetails !== null && contactDetails !== void 0 && contactDetails[contact[0]]) {
|
|
131
|
+
var _data$data$;
|
|
132
|
+
const mappedContacts = generateContactList(contactDetails[contact[0]], (data === null || data === void 0 || (_data$data$ = data.data[0]) === null || _data$data$ === void 0 || (_data$data$ = _data$data$.displayInfo) === null || _data$data$ === void 0 ? void 0 : _data$data$.orderId) ?? null);
|
|
133
|
+
setContactList(mappedContacts);
|
|
134
|
+
}
|
|
135
|
+
} catch (error) {
|
|
136
|
+
// Handle any unexpected errors in the process
|
|
137
|
+
console.error('Error fetching contact details:', error);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
// fetch & update dynamic inputs
|
|
29
142
|
onTaskStart(route.params[RouteParams.NEXT_STATES], route.params[RouteParams.ROOT_META_DATA].customEventsData);
|
|
30
143
|
if (route.params[RouteParams.ROOT_META_DATA]) {
|
|
31
144
|
const updatedInput = handleDynamicValues(route === null || route === void 0 ? void 0 : route.params[RouteParams.NEXT_STATES].input, route.params[RouteParams.ROOT_META_DATA]);
|
|
32
145
|
setInputs(updatedInput);
|
|
33
146
|
}
|
|
34
|
-
|
|
35
|
-
useEffect(() => {
|
|
147
|
+
//fire sentry event
|
|
36
148
|
(async () => {
|
|
37
|
-
//fire sentry event
|
|
38
149
|
fireEventWithScreenName({
|
|
39
150
|
severityLevel: SeverityLevelValue.LOG,
|
|
40
151
|
eventName: SentryEventNameSdkConstants.VERIFY_OTP_ET_OPENED,
|
|
41
152
|
screenName: ScreenNameSdkConstants.VERIFY_OTP_ET_SCREEN
|
|
42
153
|
});
|
|
154
|
+
//get SDK config
|
|
155
|
+
await getSdkConfig();
|
|
156
|
+
//get self loop boolean
|
|
157
|
+
await getSelfLoopBool();
|
|
43
158
|
})();
|
|
159
|
+
fetchContactDetails();
|
|
160
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
161
|
}, []);
|
|
45
|
-
return /*#__PURE__*/React.createElement(
|
|
162
|
+
return /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(ValidateOTPContext.Provider, {
|
|
163
|
+
value: {
|
|
164
|
+
sdkConfig: contextData === null || contextData === void 0 ? void 0 : contextData._sdkConfig,
|
|
165
|
+
networkInstance: contextData === null || contextData === void 0 ? void 0 : contextData.networkInstance
|
|
166
|
+
}
|
|
167
|
+
}, /*#__PURE__*/React.createElement(ValidateOTPET, _extends({}, _input, {
|
|
168
|
+
route: route,
|
|
169
|
+
isSelfLoop: isSelfLoopTrue,
|
|
46
170
|
mergedObjectiveId: mergedObjectiveId,
|
|
171
|
+
workflowId: workflowId,
|
|
47
172
|
taskMeta: taskMeta,
|
|
48
173
|
message: message,
|
|
174
|
+
contacts: contactList || [],
|
|
175
|
+
orderData: orderData,
|
|
49
176
|
navigation: navigation,
|
|
50
177
|
onSubmitET: async validateOtpOutput => {
|
|
51
|
-
await DispatchStateContainer.getInstance().navigateToNextTask(navigation,
|
|
178
|
+
await DispatchStateContainer.getInstance().navigateToNextTask(navigation, _route, validateOtpOutput, validateOtpOutput.success, EntityCode.VALIDATE_OTP_ET, ExecutionTaskID.VALIDATE_OTP_ET, baseETProps, false);
|
|
179
|
+
await resetCount();
|
|
52
180
|
}
|
|
53
|
-
}));
|
|
181
|
+
}))));
|
|
54
182
|
};
|
|
55
183
|
export default withBaseDispatchScreen(ValidateOTPScreen);
|
|
56
184
|
//# sourceMappingURL=ValidateOTPScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","withBaseDispatchScreen","EntityCode","ExecutionTaskID","DispatchStateContainer","RouteParams","getDataFromNextState","ValidateOTPET","handleDynamicValues","onTaskStart","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","ValidateOTPScreen","route","navigation","baseETProps","nextState","params","NEXT_STATES","taskMeta","mergedObjectiveId","input","wfMeta","message","firstInput","_input","setInputs","ROOT_META_DATA","customEventsData","updatedInput","severityLevel","LOG","eventName","VERIFY_OTP_ET_OPENED","screenName","VERIFY_OTP_ET_SCREEN","createElement","_extends","onSubmitET","validateOtpOutput","getInstance","navigateToNextTask","success","VALIDATE_OTP_ET"],"sources":["ValidateOTPScreen.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport type { BaseETProps } from '../../models/DispatchModels';\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport { RouteParams, getDataFromNextState } from '../uiConfig/RouteParams';\nimport ValidateOTPET from '../../components/executiontasks/validateOTP/ValidateOTPET';\nimport { handleDynamicValues, onTaskStart } from '../../utils/ExecTaskUtils';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../analytics/sentry/SentryAnalyticsUtils';\n\nconst ValidateOTPScreen = ({\n route,\n navigation,\n baseETProps,\n}: {\n route: any;\n navigation: any;\n baseETProps: BaseETProps;\n}) => {\n const nextState = route.params[RouteParams.NEXT_STATES];\n const { taskMeta, mergedObjectiveId, input, wfMeta } =\n getDataFromNextState(nextState);\n const message = input?.message;\n const firstInput = input;\n const [_input, setInputs] = useState({ ...firstInput });\n\n useEffect(() => {\n onTaskStart(\n route.params[RouteParams.NEXT_STATES],\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n if (route.params[RouteParams.ROOT_META_DATA]) {\n const updatedInput = handleDynamicValues(\n route?.params[RouteParams.NEXT_STATES].input,\n route.params[RouteParams.ROOT_META_DATA]\n );\n setInputs(updatedInput);\n }\n }, []);\n\n useEffect(() => {\n (async () => {\n //fire sentry event\n fireEventWithScreenName({severityLevel:SeverityLevelValue.LOG, eventName:SentryEventNameSdkConstants.VERIFY_OTP_ET_OPENED, screenName:ScreenNameSdkConstants.VERIFY_OTP_ET_SCREEN});\n })();\n }, []);\n\n\n return (\n <ValidateOTPET\n {..._input}\n mergedObjectiveId={mergedObjectiveId}\n taskMeta={taskMeta}\n message={message}\n navigation={navigation}\n onSubmitET={async (validateOtpOutput) => {\n await DispatchStateContainer.getInstance().navigateToNextTask(\n navigation,\n route,\n validateOtpOutput,\n validateOtpOutput.success,\n EntityCode.VALIDATE_OTP_ET,\n ExecutionTaskID.VALIDATE_OTP_ET,\n baseETProps,\n false\n );\n }}\n />\n );\n};\nexport default withBaseDispatchScreen(ValidateOTPScreen);\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,sBAAsB,MAAM,0BAA0B;AAE7D,SAASC,UAAU,EAAEC,eAAe,QAAQ,iCAAiC;AAC7E,OAAOC,sBAAsB,MAAM,+CAA+C;AAClF,SAASC,WAAW,EAAEC,oBAAoB,QAAQ,yBAAyB;AAC3E,OAAOC,aAAa,MAAM,2DAA2D;AACrF,SAASC,mBAAmB,EAAEC,WAAW,QAAQ,2BAA2B;AAC5E,SAASC,sBAAsB,EAAEC,2BAA2B,EAAEC,kBAAkB,QAAQ,2CAA2C;AACnI,SAASC,uBAAuB,QAAQ,6CAA6C;AAErF,MAAMC,iBAAiB,GAAGA,CAAC;EACzBC,KAAK;EACLC,UAAU;EACVC;AAKF,CAAC,KAAK;EACJ,MAAMC,SAAS,GAAGH,KAAK,CAACI,MAAM,CAACd,WAAW,CAACe,WAAW,CAAC;EACvD,MAAM;IAAEC,QAAQ;IAAEC,iBAAiB;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAClDlB,oBAAoB,CAACY,SAAS,CAAC;EACjC,MAAMO,OAAO,GAAGF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,OAAO;EAC9B,MAAMC,UAAU,GAAGH,KAAK;EACxB,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAG5B,QAAQ,CAAC;IAAE,GAAG0B;EAAW,CAAC,CAAC;EAEvD3B,SAAS,CAAC,MAAM;IACdU,WAAW,CACTM,KAAK,CAACI,MAAM,CAACd,WAAW,CAACe,WAAW,CAAC,EACrCL,KAAK,CAACI,MAAM,CAACd,WAAW,CAACwB,cAAc,CAAC,CAACC,gBAC3C,CAAC;IACD,IAAIf,KAAK,CAACI,MAAM,CAACd,WAAW,CAACwB,cAAc,CAAC,EAAE;MAC5C,MAAME,YAAY,GAAGvB,mBAAmB,CACtCO,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,MAAM,CAACd,WAAW,CAACe,WAAW,CAAC,CAACG,KAAK,EAC5CR,KAAK,CAACI,MAAM,CAACd,WAAW,CAACwB,cAAc,CACzC,CAAC;MACDD,SAAS,CAACG,YAAY,CAAC;IACzB;EACF,CAAC,EAAE,EAAE,CAAC;EAENhC,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX;MACAc,uBAAuB,CAAC;QAACmB,aAAa,EAACpB,kBAAkB,CAACqB,GAAG;QAAEC,SAAS,EAACvB,2BAA2B,CAACwB,oBAAoB;QAAEC,UAAU,EAAC1B,sBAAsB,CAAC2B;MAAoB,CAAC,CAAC;IACrL,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAGN,oBACEvC,KAAA,CAAAwC,aAAA,CAAC/B,aAAa,EAAAgC,QAAA,KACRZ,MAAM;IACVL,iBAAiB,EAAEA,iBAAkB;IACrCD,QAAQ,EAAEA,QAAS;IACnBI,OAAO,EAAEA,OAAQ;IACjBT,UAAU,EAAEA,UAAW;IACvBwB,UAAU,EAAE,MAAOC,iBAAiB,IAAK;MACvC,MAAMrC,sBAAsB,CAACsC,WAAW,CAAC,CAAC,CAACC,kBAAkB,CAC3D3B,UAAU,EACVD,KAAK,EACL0B,iBAAiB,EACjBA,iBAAiB,CAACG,OAAO,EACzB1C,UAAU,CAAC2C,eAAe,EAC1B1C,eAAe,CAAC0C,eAAe,EAC/B5B,WAAW,EACX,KACF,CAAC;IACH;EAAE,EACH,CAAC;AAEN,CAAC;AACD,eAAehB,sBAAsB,CAACa,iBAAiB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","SafeAreaProvider","DispatchExecutor","Storage","callbackHandler","Logger","LOG_TYPE","handleDynamicValues","onTaskStart","RouteParams","getDataFromNextState","PROGRESS_GROUP","DispatchStateContainer","withBaseDispatchScreen","DispatchSdkCache","Helper","NetworkClient","EntityCode","ExecutionTaskID","ValidateOTPET","generateContactList","getUniqueRefId","resetCount","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","ValidateOTPContext","storage","getInstance","ValidateOTPScreen","route","navigation","baseETProps","_mergedObjectiveId$","helperInstance","nextState","params","NEXT_STATES","taskMeta","mergedObjectiveId","input","wfMeta","taskName","message","workflowId","split","toString","_route","JSON","parse","stringify","firstInput","_input","setInputs","contactList","setContactList","orderData","setOrderData","contextData","setContextData","isSelfLoopTrue","setSelfLoop","getSdkConfig","cache","_sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","networkInstance","validateOtpDomain","getSelfLoopBool","_mergedObjectiveId$2","splitArr","isSelfLoopExistOnET","error","console","log","fetchContactDetails","rootMetaData","ROOT_META_DATA","progressGroup","reattemptId","getSharedItem","getAttemptCountByMoId","refId","Number","_error$response","logEvent","response","data","SDK_ERROR","contact","getObjectiveTaskDetails","statusFilter","contactDetails","getEmailAndPhoneNumbers","filterWFIData","_data$data$","mappedContacts","displayInfo","orderId","customEventsData","updatedInput","severityLevel","LOG","eventName","VERIFY_OTP_ET_OPENED","screenName","VERIFY_OTP_ET_SCREEN","createElement","Provider","value","sdkConfig","_extends","isSelfLoop","contacts","onSubmitET","validateOtpOutput","navigateToNextTask","success","VALIDATE_OTP_ET"],"sources":["ValidateOTPScreen.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n// External Libraries\nimport React, { useEffect, useState } from 'react';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n// SDKs and Platform Libraries\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\n\n// Utility and Manager Imports\nimport Storage from '../../utils/storage';\nimport callbackHandler from '../../manager/sdk/callbacksHandler';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport { handleDynamicValues, onTaskStart } from '../../utils/ExecTaskUtils';\nimport { RouteParams, getDataFromNextState } from '../uiConfig/RouteParams';\nimport { PROGRESS_GROUP } from '../../utils/Constants';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport { BaseETProps } from '../../models/DispatchModels';\nimport DispatchSdkCache from '../../manager/sdk/DispatchSdkCache';\nimport { DispatchSDKConfig } from '../../models/sdk';\nimport Helper from '../../utils/helper';\n\n// Network Client\nimport NetworkClient from '../../network/NetworkClient';\n\n// Models and Constants\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\n\n// Components\nimport ValidateOTPET from '../../components/executiontasks/validateOTP/ValidateOTPET';\nimport {\n generateContactList,\n getUniqueRefId,\n resetCount,\n} from '../../components/executiontasks/validateOTP/utils';\nimport { ContactType } from '../../components/executiontasks/validateOTP/ValidateOTPSchema';\n\n// Analytics\nimport {\n ScreenNameSdkConstants,\n SentryEventNameSdkConstants,\n SeverityLevelValue,\n} from '../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../analytics/sentry/SentryAnalyticsUtils';\nimport { ValidateOTPContext } from '../../utils/context/valdiateOTPContext';\n\n// Storage\nlet storage = Storage.getInstance();\n\nconst ValidateOTPScreen = ({\n route,\n navigation,\n baseETProps,\n}: {\n route: any;\n navigation: any;\n baseETProps: BaseETProps;\n}) => {\n const helperInstance = Helper.getInstance();\n const nextState = route.params[RouteParams.NEXT_STATES];\n const { taskMeta, mergedObjectiveId, input, wfMeta, taskName } =\n getDataFromNextState(nextState);\n const message = input?.message;\n const workflowId = mergedObjectiveId[0]?.split('#')[1]?.toString();\n let _route = JSON.parse(JSON.stringify(route));\n const firstInput = input;\n const [_input, setInputs] = useState({\n ...firstInput,\n wfMeta,\n workflowId,\n });\n const [contactList, setContactList] = useState<ContactType[] | any[]>([]);\n // state to store orders data\n const [orderData, setOrderData] = useState<any>([]);\n const [contextData, setContextData] = useState<any>();\n const [isSelfLoopTrue, setSelfLoop] = useState(false);\n\n async function getSdkConfig() {\n const cache = DispatchSdkCache.getInstance();\n const _sdkConfig: DispatchSDKConfig = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n );\n\n const networkInstance = new NetworkClient(\n _sdkConfig.validateOtpDomain ?? ''\n );\n setContextData({ _sdkConfig, networkInstance });\n return { _sdkConfig, networkInstance };\n }\n\n const getSelfLoopBool = async () => {\n try {\n const splitArr = mergedObjectiveId[0]?.split('#');\n const isSelfLoopTrue: boolean = await helperInstance.isSelfLoopExistOnET(splitArr[1], taskName)\n setSelfLoop(isSelfLoopTrue);\n } catch (error) {\n console.log('isSelfLoopTrue code execution error', error);\n }\n };\n\n useEffect(() => {\n // fetch Contact details & mapped contact list\n const fetchContactDetails = async () => {\n const rootMetaData = route.params[RouteParams.ROOT_META_DATA];\n if (!rootMetaData) return; // Exit early if ROOT_META_DATA is not available\n\n let progressGroup: string | null = null;\n let reattemptId: number | string | null = null;\n\n // Fetch the progress group with error handling\n try {\n progressGroup = await storage.getSharedItem(PROGRESS_GROUP, false);\n reattemptId = await DispatchExecutor.getAttemptCountByMoId(\n mergedObjectiveId[0]\n );\n const refId = getUniqueRefId(\n mergedObjectiveId[0],\n progressGroup,\n Number(reattemptId)\n );\n setInputs({ ..._input, progressGroup, reattemptId, refId });\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ getPaymentStatus triggered ',\n JSON.stringify(error?.response?.data || error),\n LOG_TYPE.SDK_ERROR\n );\n }\n\n try {\n // Get objective task details\n const { contact } = await DispatchExecutor.getObjectiveTaskDetails(\n mergedObjectiveId[0],\n progressGroup,\n rootMetaData.statusFilter\n );\n\n // Fetch contact details and generate contact list\n const contactDetails = await callbackHandler.getEmailAndPhoneNumbers(\n contact\n );\n\n // Fetch and set order data\n const data = await DispatchExecutor.filterWFIData(\n taskName,\n mergedObjectiveId,\n 100,\n 0\n );\n if (data?.data) {\n setOrderData(data.data);\n }\n\n // If valid contact details, generate and set contact list\n if (contactDetails?.[contact[0]]) {\n const mappedContacts = generateContactList(\n contactDetails[contact[0]],\n data?.data[0]?.displayInfo?.orderId ?? null\n );\n setContactList(mappedContacts);\n }\n } catch (error) {\n // Handle any unexpected errors in the process\n console.error('Error fetching contact details:', error);\n }\n };\n\n // fetch & update dynamic inputs\n onTaskStart(\n route.params[RouteParams.NEXT_STATES],\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n if (route.params[RouteParams.ROOT_META_DATA]) {\n const updatedInput = handleDynamicValues(\n route?.params[RouteParams.NEXT_STATES].input,\n route.params[RouteParams.ROOT_META_DATA]\n );\n setInputs(updatedInput);\n }\n //fire sentry event\n (async () => {\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.VERIFY_OTP_ET_OPENED,\n screenName: ScreenNameSdkConstants.VERIFY_OTP_ET_SCREEN,\n });\n //get SDK config\n await getSdkConfig();\n //get self loop boolean\n await getSelfLoopBool();\n })();\n\n fetchContactDetails();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <SafeAreaProvider>\n <ValidateOTPContext.Provider\n value={{\n sdkConfig: contextData?._sdkConfig,\n networkInstance: contextData?.networkInstance,\n }}\n >\n <ValidateOTPET\n {..._input}\n route={route}\n isSelfLoop={isSelfLoopTrue}\n mergedObjectiveId={mergedObjectiveId}\n workflowId={workflowId}\n taskMeta={taskMeta}\n message={message}\n contacts={contactList || []}\n orderData={orderData}\n navigation={navigation}\n onSubmitET={async (validateOtpOutput) => {\n await DispatchStateContainer.getInstance().navigateToNextTask(\n navigation,\n _route,\n validateOtpOutput,\n validateOtpOutput.success,\n EntityCode.VALIDATE_OTP_ET,\n ExecutionTaskID.VALIDATE_OTP_ET,\n baseETProps,\n false\n );\n await resetCount();\n }}\n />\n </ValidateOTPContext.Provider>\n </SafeAreaProvider>\n );\n};\nexport default withBaseDispatchScreen(ValidateOTPScreen);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
1
2
|
import axios from 'axios';
|
|
2
3
|
import { API_CONFIG } from '../constants/apiConstants';
|
|
3
4
|
import { getHeaders } from '../network/NetworkUtils';
|
|
5
|
+
import { RouteParams } from '../ui/uiConfig/RouteParams';
|
|
6
|
+
import { parseRequestBody } from './ExecTaskUtils';
|
|
4
7
|
|
|
5
8
|
/**
|
|
6
9
|
* API headers
|
|
@@ -80,10 +83,123 @@ export async function getApiResponse(apiData) {
|
|
|
80
83
|
...apiData.requestBody
|
|
81
84
|
};
|
|
82
85
|
}
|
|
83
|
-
|
|
84
|
-
|
|
86
|
+
console.log('axiosConfig: ', JSON.stringify(axiosConfig));
|
|
85
87
|
return axios(axiosConfig);
|
|
86
88
|
}
|
|
89
|
+
|
|
90
|
+
// new
|
|
91
|
+
export async function getAxiosApiResponse(apiData) {
|
|
92
|
+
let axiosConfig = {
|
|
93
|
+
method: apiData.httpMethod,
|
|
94
|
+
timeout: apiData.timeout ?? API_CONFIG.timeout,
|
|
95
|
+
// timeout in millis i.e 15s
|
|
96
|
+
url: apiData.uri,
|
|
97
|
+
headers: {
|
|
98
|
+
...getAddHeaders(apiData.headers),
|
|
99
|
+
...(await getHeaders('application/json'))
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
// Handle path parameters
|
|
104
|
+
if (apiData.pathParams) {
|
|
105
|
+
const params = apiData.pathParams;
|
|
106
|
+
params.forEach(param => {
|
|
107
|
+
apiData.uri = apiData.uri.replace(`{${param.key}}`, param.value);
|
|
108
|
+
});
|
|
109
|
+
axiosConfig.url = apiData.uri;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Handle query parameters
|
|
113
|
+
if (apiData.queryParams) {
|
|
114
|
+
axiosConfig.params = {
|
|
115
|
+
...getQueryParams(apiData.queryParams)
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Handle request body
|
|
120
|
+
if (apiData.requestBody) {
|
|
121
|
+
axiosConfig.data = {
|
|
122
|
+
...apiData.requestBody
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
console.log('axiosConfig: ', JSON.stringify(axiosConfig));
|
|
126
|
+
try {
|
|
127
|
+
// Make the API call
|
|
128
|
+
const response = await axios(axiosConfig);
|
|
129
|
+
return response;
|
|
130
|
+
} catch (error) {
|
|
131
|
+
var _error$response, _error$response2, _error$response3;
|
|
132
|
+
console.error('API Error:', error);
|
|
133
|
+
let customError = {
|
|
134
|
+
...error,
|
|
135
|
+
data: {
|
|
136
|
+
message: error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message,
|
|
137
|
+
additionalInfo: error === null || error === void 0 || (_error$response2 = error.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.additionalInfo,
|
|
138
|
+
status: error === null || error === void 0 || (_error$response3 = error.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.status
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
// console.log('Formatted Error:', customError);
|
|
143
|
+
// Throw the custom error for the caller to handle
|
|
144
|
+
throw customError;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// To generate an common payload for APIS as per config
|
|
149
|
+
export const createApiData = (payload, props, endpoint, httpMethod, headers, customApiConfig) => {
|
|
150
|
+
const baseApiData = {
|
|
151
|
+
errorJsonPath: '',
|
|
152
|
+
responseJsonPath: '',
|
|
153
|
+
uri: endpoint,
|
|
154
|
+
httpMethod: httpMethod ?? 'POST',
|
|
155
|
+
timeout: 15000,
|
|
156
|
+
headers: headers ?? [],
|
|
157
|
+
responseJsonLogic: '',
|
|
158
|
+
errorJsonLogic: '',
|
|
159
|
+
requestBody: payload,
|
|
160
|
+
pathParams: [{
|
|
161
|
+
key: 'baseURI',
|
|
162
|
+
value: props.domain
|
|
163
|
+
}]
|
|
164
|
+
};
|
|
165
|
+
if (customApiConfig) {
|
|
166
|
+
Object.assign(baseApiData, {
|
|
167
|
+
httpMethod: customApiConfig.httpMethod ?? baseApiData.httpMethod,
|
|
168
|
+
timeout: customApiConfig.timeout ?? baseApiData.timeout,
|
|
169
|
+
headers: customApiConfig.headers ?? baseApiData.headers,
|
|
170
|
+
responseJsonLogic: customApiConfig.responseJsonLogic,
|
|
171
|
+
errorJsonLogic: customApiConfig.errorJsonLogic,
|
|
172
|
+
errorJsonPath: customApiConfig.errorJsonPath ?? baseApiData.errorJsonPath,
|
|
173
|
+
responseJsonPath: customApiConfig.responseJsonPath ?? baseApiData.responseJsonPath
|
|
174
|
+
});
|
|
175
|
+
if (customApiConfig.requestBody) {
|
|
176
|
+
var _props$route;
|
|
177
|
+
const inputMeta = props === null || props === void 0 || (_props$route = props.route) === null || _props$route === void 0 || (_props$route = _props$route.params[RouteParams.NEXT_STATES]) === null || _props$route === void 0 || (_props$route = _props$route.meta) === null || _props$route === void 0 ? void 0 : _props$route.task;
|
|
178
|
+
const parsedInputMeta = inputMeta ? JSON.parse(inputMeta) : {};
|
|
179
|
+
console.log('parsedInputMeta', parsedInputMeta);
|
|
180
|
+
const metaData = {
|
|
181
|
+
meta: {
|
|
182
|
+
task: parsedInputMeta
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
const updatedPayload = {
|
|
186
|
+
...payload,
|
|
187
|
+
...metaData
|
|
188
|
+
};
|
|
189
|
+
console.log('updatedPayload', updatedPayload);
|
|
190
|
+
baseApiData.requestBody = parseRequestBody(customApiConfig.requestBody, updatedPayload);
|
|
191
|
+
console.log('baseApiData.requestBody', baseApiData.requestBody);
|
|
192
|
+
}
|
|
193
|
+
if (customApiConfig.pathParams) {
|
|
194
|
+
baseApiData.pathParams = customApiConfig.pathParams;
|
|
195
|
+
}
|
|
196
|
+
if (customApiConfig.queryParams) {
|
|
197
|
+
baseApiData.queryParams = customApiConfig.queryParams;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
console.log('baseApiData', baseApiData);
|
|
201
|
+
return baseApiData;
|
|
202
|
+
};
|
|
87
203
|
export function parseBody(body, userInput) {
|
|
88
204
|
const requestBody = JSON.parse(JSON.stringify(body));
|
|
89
205
|
for (const key in requestBody) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["axios","API_CONFIG","getHeaders","getKeyValueFromArray","array","length","addItems","forEach","item","_item$key","key","value","toLowerCase","getAddHeaders","getQueryParams","getApiResponse","apiData","axiosConfig","method","httpMethod","timeout","url","uri","headers","pathParams","params","param","replace","queryParams","requestBody","data","parseBody","body","userInput","JSON","parse","stringify","Object","prototype","hasOwnProperty","call","Array","isArray","val","_userInputExpr","includes","_userEnteredInput","split","pop","parseKeyValue","map"],"sources":["ApiUtils.ts"],"sourcesContent":["import axios, { AxiosRequestConfig } from 'axios';\nimport { API_CONFIG } from '../constants/apiConstants';\nimport { getHeaders } from '../network/NetworkUtils';\n\nexport type HTTPMethod = 'PUT' | 'POST' | 'GET';\nexport type HeaderKey = string;\nexport type HeaderValue = string;\nexport type QueryParamKey = string;\nexport type QueryParamValue = string;\nexport type PathParamKey = string;\nexport type PathParamValue = string;\n\n/**\n * API headers\n */\nexport type Headers = {\n key?: HeaderKey;\n value?: HeaderValue;\n};\n\n/**\n * Query Params\n */\nexport type QueryParams = {\n key?: QueryParamKey;\n value?: QueryParamValue;\n};\n\n/**\n * Path Params\n */\nexport type PathParams = {\n key: PathParamKey;\n value: PathParamValue;\n};\n\n/**\n * request body object\n */\nexport interface HTTPRequestBody {\n [k: string]: unknown;\n}\n\nexport interface APIData {\n uri: string;\n timeout?: number;\n httpMethod: HTTPMethod;\n headers?: Headers[];\n requestBody?: HTTPRequestBody;\n queryParams?: QueryParams[];\n pathParams?: PathParams[];\n responseJsonPath: string;\n errorJsonPath: string;\n}\n\nexport interface KeyValueArray {\n key?: string;\n value?: any;\n}\n\nexport function getKeyValueFromArray() {\n return (array?: KeyValueArray[]) => {\n if (!array || array.length === 0) return {};\n else {\n const addItems: { [k: string]: any } = {};\n array.forEach((item) => {\n if (item.key && item.value)\n addItems[item.key?.toLowerCase()] = item.value;\n });\n return addItems;\n }\n };\n}\n\nexport const getAddHeaders = getKeyValueFromArray();\nexport const getQueryParams = getKeyValueFromArray();\n\nexport async function getApiResponse(apiData: APIData) {\n let axiosConfig: AxiosRequestConfig = {\n method: apiData.httpMethod,\n timeout: apiData.timeout ?? API_CONFIG.timeout, // timeout in millis i.e 15s\n url: apiData.uri,\n headers: {\n ...getAddHeaders(apiData.headers),\n ...(await getHeaders('application/json')),\n },\n };\n\n /**\n * Path params example\n * uri: {baseURI}/core/api/v1/dispatch-service/dispatches/{dispatchId}/jobs/{captureInput}\n * pathParams: [\n * {key:\"baseURI\",value:\"https://delhivery.coreos-dev.fxtrt.io\"},\n * {key:\"dispatchId\",value:\"dispatch:a62dc46d-9787-5b32-9b71-ff38bd1bdcae\"},\n * {key:\"captureInput\",value:\"{{$.userInput.captureInput}}\"}\n * ]\n */\n\n if (apiData.pathParams) {\n const params = apiData.pathParams;\n params.forEach((param) => {\n apiData.uri = apiData.uri.replace(`{${param.key}}`, param.value);\n });\n axiosConfig.url = apiData.uri;\n }\n\n /**\n * Query params example\n * uri: https://jsonplaceholder.typicode.com/comments\n * queryParams: [\n * {key:\"postId\",value:\"{{$.userInput.captureInput}}\"},\n * ]\n * finalURI: https://jsonplaceholder.typicode.com/comments?postId=1\n */\n if (apiData.queryParams) {\n axiosConfig.params = { ...getQueryParams(apiData.queryParams) };\n }\n\n if (apiData.requestBody) {\n axiosConfig.data = { ...apiData.requestBody };\n }\n // console.log('axiosConfig: ', JSON.stringify(axiosConfig));\n\n return axios(axiosConfig);\n}\n\nexport function parseBody(body: any, userInput: any) {\n const requestBody = JSON.parse(JSON.stringify(body));\n for (const key in requestBody) {\n if (Object.prototype.hasOwnProperty.call(requestBody, key)) {\n const value = requestBody[key];\n if (typeof value === 'object') {\n requestBody[key] = parseBody(value, userInput);\n } else if (Array.isArray(value)) {\n value.forEach((val) => {\n requestBody[key] = parseBody(val, userInput);\n });\n } else {\n const _userInputExpr = '$.userInput.';\n if (typeof value === 'string' && value.includes(_userInputExpr)) {\n const _userEnteredInput: string = value.split('.').pop() || '';\n requestBody[key] = userInput[_userEnteredInput] || '';\n }\n }\n }\n }\n return requestBody;\n}\n\nexport function parseKeyValue(array: KeyValueArray[], userInput: any) {\n return array.map((item) => {\n const _userInputExpr = '$.userInput.';\n if (item.value.includes(_userInputExpr)) {\n const _userEnteredInput: string = item.value.split('.').pop() || '';\n item.value = userInput[_userEnteredInput] || '';\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["axios","API_CONFIG","getHeaders","RouteParams","parseRequestBody","getKeyValueFromArray","array","length","addItems","forEach","item","_item$key","key","value","toLowerCase","getAddHeaders","getQueryParams","getApiResponse","apiData","axiosConfig","method","httpMethod","timeout","url","uri","headers","pathParams","params","param","replace","queryParams","requestBody","data","console","log","JSON","stringify","getAxiosApiResponse","response","error","_error$response","_error$response2","_error$response3","customError","message","additionalInfo","status","createApiData","payload","props","endpoint","customApiConfig","baseApiData","errorJsonPath","responseJsonPath","responseJsonLogic","errorJsonLogic","domain","Object","assign","_props$route","inputMeta","route","NEXT_STATES","meta","task","parsedInputMeta","parse","metaData","updatedPayload","parseBody","body","userInput","prototype","hasOwnProperty","call","Array","isArray","val","_userInputExpr","includes","_userEnteredInput","split","pop","parseKeyValue","map"],"sources":["ApiUtils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport axios, { AxiosRequestConfig } from 'axios';\nimport { API_CONFIG } from '../constants/apiConstants';\nimport { getHeaders } from '../network/NetworkUtils';\nimport { RouteParams } from '../ui/uiConfig/RouteParams';\nimport { parseRequestBody } from './ExecTaskUtils';\n\nexport type HTTPMethod = 'PUT' | 'POST' | 'GET';\nexport type HeaderKey = string;\nexport type HeaderValue = string;\nexport type QueryParamKey = string;\nexport type QueryParamValue = string;\nexport type PathParamKey = string;\nexport type PathParamValue = string;\n\n/**\n * API headers\n */\nexport type Headers = {\n key?: HeaderKey;\n value?: HeaderValue;\n};\n\n/**\n * Query Params\n */\nexport type QueryParams = {\n key?: QueryParamKey;\n value?: QueryParamValue;\n};\n\n/**\n * Path Params\n */\nexport type PathParams = {\n key: PathParamKey;\n value: PathParamValue;\n};\n\n/**\n * request body object\n */\nexport interface HTTPRequestBody {\n [k: string]: unknown;\n}\n\nexport interface APIData {\n uri: string;\n timeout?: number;\n httpMethod: HTTPMethod;\n headers?: Headers[];\n requestBody?: HTTPRequestBody;\n queryParams?: QueryParams[];\n pathParams?: PathParams[];\n responseJsonPath: string | object;\n errorJsonPath: string | object;\n errorJsonLogic?: object | string;\n responseJsonLogic?: object | string;\n}\n\nexport interface KeyValueArray {\n key?: string;\n value?: any;\n}\n\nexport function getKeyValueFromArray() {\n return (array?: KeyValueArray[]) => {\n if (!array || array.length === 0) return {};\n else {\n const addItems: { [k: string]: any } = {};\n array.forEach((item) => {\n if (item.key && item.value)\n addItems[item.key?.toLowerCase()] = item.value;\n });\n return addItems;\n }\n };\n}\n\nexport const getAddHeaders = getKeyValueFromArray();\nexport const getQueryParams = getKeyValueFromArray();\n\nexport async function getApiResponse(apiData: APIData) {\n let axiosConfig: AxiosRequestConfig = {\n method: apiData.httpMethod,\n timeout: apiData.timeout ?? API_CONFIG.timeout, // timeout in millis i.e 15s\n url: apiData.uri,\n headers: {\n ...getAddHeaders(apiData.headers),\n ...(await getHeaders('application/json')),\n },\n };\n\n /**\n * Path params example\n * uri: {baseURI}/core/api/v1/dispatch-service/dispatches/{dispatchId}/jobs/{captureInput}\n * pathParams: [\n * {key:\"baseURI\",value:\"https://delhivery.coreos-dev.fxtrt.io\"},\n * {key:\"dispatchId\",value:\"dispatch:a62dc46d-9787-5b32-9b71-ff38bd1bdcae\"},\n * {key:\"captureInput\",value:\"{{$.userInput.captureInput}}\"}\n * ]\n */\n\n if (apiData.pathParams) {\n const params = apiData.pathParams;\n params.forEach((param) => {\n apiData.uri = apiData.uri.replace(`{${param.key}}`, param.value);\n });\n axiosConfig.url = apiData.uri;\n }\n\n /**\n * Query params example\n * uri: https://jsonplaceholder.typicode.com/comments\n * queryParams: [\n * {key:\"postId\",value:\"{{$.userInput.captureInput}}\"},\n * ]\n * finalURI: https://jsonplaceholder.typicode.com/comments?postId=1\n */\n if (apiData.queryParams) {\n axiosConfig.params = { ...getQueryParams(apiData.queryParams) };\n }\n\n if (apiData.requestBody) {\n axiosConfig.data = { ...apiData.requestBody };\n }\n console.log('axiosConfig: ', JSON.stringify(axiosConfig));\n\n return axios(axiosConfig);\n}\n\n// new\nexport async function getAxiosApiResponse(apiData: APIData) {\n let axiosConfig: AxiosRequestConfig = {\n method: apiData.httpMethod,\n timeout: apiData.timeout ?? API_CONFIG.timeout, // timeout in millis i.e 15s\n url: apiData.uri,\n headers: {\n ...getAddHeaders(apiData.headers),\n ...(await getHeaders('application/json')),\n },\n };\n\n // Handle path parameters\n if (apiData.pathParams) {\n const params = apiData.pathParams;\n params.forEach((param) => {\n apiData.uri = apiData.uri.replace(`{${param.key}}`, param.value);\n });\n axiosConfig.url = apiData.uri;\n }\n\n // Handle query parameters\n if (apiData.queryParams) {\n axiosConfig.params = { ...getQueryParams(apiData.queryParams) };\n }\n\n // Handle request body\n if (apiData.requestBody) {\n axiosConfig.data = { ...apiData.requestBody };\n }\n\n console.log('axiosConfig: ', JSON.stringify(axiosConfig));\n\n try {\n // Make the API call\n const response = await axios(axiosConfig);\n return response;\n } catch (error: any) {\n console.error('API Error:', error);\n\n let customError = {\n ...error,\n data: {\n message: error?.response?.data?.message,\n additionalInfo: error?.response?.data?.additionalInfo,\n status: error?.response?.data?.status,\n },\n };\n\n // console.log('Formatted Error:', customError);\n // Throw the custom error for the caller to handle\n throw customError;\n }\n}\n\n// To generate an common payload for APIS as per config\nexport const createApiData = (\n payload: any,\n props: any,\n endpoint: string,\n httpMethod: HTTPMethod,\n headers: Headers[] | null,\n customApiConfig?: Partial<APIData>\n): APIData => {\n const baseApiData: APIData = {\n errorJsonPath: '',\n responseJsonPath: '',\n uri: endpoint,\n httpMethod: httpMethod ?? 'POST',\n timeout: 15000,\n headers: headers ?? [],\n responseJsonLogic: '',\n errorJsonLogic: '',\n requestBody: payload,\n pathParams: [{ key: 'baseURI', value: props.domain }],\n };\n\n if (customApiConfig) {\n Object.assign(baseApiData, {\n httpMethod: customApiConfig.httpMethod ?? baseApiData.httpMethod,\n timeout: customApiConfig.timeout ?? baseApiData.timeout,\n headers: customApiConfig.headers ?? baseApiData.headers,\n responseJsonLogic: customApiConfig.responseJsonLogic,\n errorJsonLogic: customApiConfig.errorJsonLogic,\n errorJsonPath: customApiConfig.errorJsonPath ?? baseApiData.errorJsonPath,\n responseJsonPath:\n customApiConfig.responseJsonPath ?? baseApiData.responseJsonPath,\n });\n\n if (customApiConfig.requestBody) {\n const inputMeta =\n props?.route?.params[RouteParams.NEXT_STATES]?.meta?.task;\n const parsedInputMeta = inputMeta ? JSON.parse(inputMeta) : {};\n console.log('parsedInputMeta', parsedInputMeta);\n\n const metaData = {\n meta: { task: parsedInputMeta },\n };\n const updatedPayload = {\n ...payload,\n ...metaData,\n };\n console.log('updatedPayload', updatedPayload);\n baseApiData.requestBody = parseRequestBody(\n customApiConfig.requestBody,\n updatedPayload\n );\n\n console.log('baseApiData.requestBody', baseApiData.requestBody);\n }\n if (customApiConfig.pathParams) {\n baseApiData.pathParams = customApiConfig.pathParams;\n }\n if (customApiConfig.queryParams) {\n baseApiData.queryParams = customApiConfig.queryParams;\n }\n }\n\n console.log('baseApiData', baseApiData);\n\n return baseApiData;\n};\n\nexport function parseBody(body: any, userInput: any) {\n const requestBody = JSON.parse(JSON.stringify(body));\n for (const key in requestBody) {\n if (Object.prototype.hasOwnProperty.call(requestBody, key)) {\n const value = requestBody[key];\n if (typeof value === 'object') {\n requestBody[key] = parseBody(value, userInput);\n } else if (Array.isArray(value)) {\n value.forEach((val) => {\n requestBody[key] = parseBody(val, userInput);\n });\n } else {\n const _userInputExpr = '$.userInput.';\n if (typeof value === 'string' && value.includes(_userInputExpr)) {\n const _userEnteredInput: string = value.split('.').pop() || '';\n requestBody[key] = userInput[_userEnteredInput] || '';\n }\n }\n }\n }\n return requestBody;\n}\n\nexport function parseKeyValue(array: KeyValueArray[], userInput: any) {\n return array.map((item) => {\n const _userInputExpr = '$.userInput.';\n if (item.value.includes(_userInputExpr)) {\n const _userEnteredInput: string = item.value.split('.').pop() || '';\n item.value = userInput[_userEnteredInput] || '';\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ export async function getBaseETResponse(entityCode, success, eventCode, reasonCo
|
|
|
10
10
|
const sdkConfig = await cache.getObjectFromCache(DispatchSdkCache.KEYS.SDK_CONFIG);
|
|
11
11
|
const startTime = await cache.getObjectFromCache(DispatchSdkCache.KEYS.TASK_START_TIME);
|
|
12
12
|
const startLocation = await cache.getObjectFromCache(DispatchSdkCache.KEYS.TASK_START_LOCATION);
|
|
13
|
-
console.log(
|
|
13
|
+
console.log('getBaseETResponse:startLocation:', startLocation);
|
|
14
14
|
let baseResponse = {
|
|
15
15
|
entityCode: entityCode,
|
|
16
16
|
success: success,
|
|
@@ -39,7 +39,7 @@ export async function getBaseETResponse(entityCode, success, eventCode, reasonCo
|
|
|
39
39
|
},
|
|
40
40
|
mergedObjectiveIds
|
|
41
41
|
};
|
|
42
|
-
console.log(
|
|
42
|
+
console.log('getBaseETResponse:baseResponse:', JSON.stringify(baseResponse));
|
|
43
43
|
return baseResponse;
|
|
44
44
|
}
|
|
45
45
|
export async function getObjectiveCompleteResp(entityCode, success, eventCode, reasonCode, mergedObjectiveId, taskId) {
|
|
@@ -203,14 +203,73 @@ export function handleDynamicValues(jsonInput, dataBlob) {
|
|
|
203
203
|
}
|
|
204
204
|
return jsonInput;
|
|
205
205
|
}
|
|
206
|
+
export function parseRequestBody(body, userInput) {
|
|
207
|
+
const requestBody = JSON.parse(JSON.stringify(body)); // Deep clone the input
|
|
208
|
+
|
|
209
|
+
// Preprocess `userInput` placeholders before calling handleDynamicValues
|
|
210
|
+
const preprocessUserInput = jsonInput => {
|
|
211
|
+
for (const key in jsonInput) {
|
|
212
|
+
if (Object.prototype.hasOwnProperty.call(jsonInput, key)) {
|
|
213
|
+
const value = jsonInput[key];
|
|
214
|
+
if (typeof value === 'string' && value.includes('{{$.userInput}}')) {
|
|
215
|
+
// Replace `{{$.userInput}}` with the OTP value from userInput
|
|
216
|
+
jsonInput[key] = userInput.otp || value;
|
|
217
|
+
} else if (typeof value === 'object' && value !== null) {
|
|
218
|
+
// Recursively preprocess nested objects
|
|
219
|
+
preprocessUserInput(value);
|
|
220
|
+
} else if (Array.isArray(value)) {
|
|
221
|
+
// Recursively preprocess arrays
|
|
222
|
+
jsonInput[key] = value.map(item => {
|
|
223
|
+
if (typeof item === 'string' && item.includes('{{$.userInput}}')) {
|
|
224
|
+
return userInput.otp || userInput.input || item;
|
|
225
|
+
} else if (typeof item === 'string' && item.includes('{{$.inputs.userInput}}')) {
|
|
226
|
+
return userInput.input || item;
|
|
227
|
+
} else if (typeof item === 'object' && item !== null) {
|
|
228
|
+
preprocessUserInput(item);
|
|
229
|
+
return item;
|
|
230
|
+
}
|
|
231
|
+
return item;
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return jsonInput;
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
// Step 1: Preprocess the body for `{{$.userInput}}`
|
|
240
|
+
const preprocessedBody = preprocessUserInput(requestBody);
|
|
241
|
+
|
|
242
|
+
// Step 2: Pass the preprocessed body to `handleDynamicValues`
|
|
243
|
+
const resolvedBody = handleDynamicValues(preprocessedBody, userInput);
|
|
244
|
+
return resolvedBody;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// old masking
|
|
248
|
+
// export const maskContact = (contact: string) => {
|
|
249
|
+
// if (contact && contact?.includes('@')) {
|
|
250
|
+
// const [name, domain] = contact.split('@');
|
|
251
|
+
// const maskedName = name.substring(0, 3) + '****';
|
|
252
|
+
// const maskedEmail = maskedName + '@' + domain;
|
|
253
|
+
// return maskedEmail;
|
|
254
|
+
// } else {
|
|
255
|
+
// return `${contact && contact.slice(0, 2)}****${contact.slice(-4)}`;
|
|
256
|
+
// }
|
|
257
|
+
// };
|
|
206
258
|
export const maskContact = contact => {
|
|
207
|
-
if (contact.includes('@')) {
|
|
259
|
+
if (contact && contact.includes('@')) {
|
|
208
260
|
const [name, domain] = contact.split('@');
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
261
|
+
let maskedName;
|
|
262
|
+
if (name.length <= 2) {
|
|
263
|
+
maskedName = name.substring(0, 1) + '*****';
|
|
264
|
+
} else {
|
|
265
|
+
maskedName = name.substring(0, 2) + '*****';
|
|
266
|
+
}
|
|
267
|
+
return maskedName + '@' + domain;
|
|
212
268
|
} else {
|
|
213
|
-
|
|
269
|
+
const visibleDigits = 4;
|
|
270
|
+
const maskedPart = '*'.repeat(Math.max(contact.length - visibleDigits, 0));
|
|
271
|
+
const visiblePart = contact.slice(-visibleDigits);
|
|
272
|
+
return maskedPart + visiblePart;
|
|
214
273
|
}
|
|
215
274
|
};
|
|
216
275
|
//# sourceMappingURL=ExecTaskUtils.js.map
|