@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
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getAddHeaders = void 0;
|
|
6
|
+
exports.getAddHeaders = exports.createApiData = void 0;
|
|
7
7
|
exports.getApiResponse = getApiResponse;
|
|
8
|
+
exports.getAxiosApiResponse = getAxiosApiResponse;
|
|
8
9
|
exports.getKeyValueFromArray = getKeyValueFromArray;
|
|
9
10
|
exports.getQueryParams = void 0;
|
|
10
11
|
exports.parseBody = parseBody;
|
|
@@ -12,7 +13,11 @@ exports.parseKeyValue = parseKeyValue;
|
|
|
12
13
|
var _axios = _interopRequireDefault(require("axios"));
|
|
13
14
|
var _apiConstants = require("../constants/apiConstants");
|
|
14
15
|
var _NetworkUtils = require("../network/NetworkUtils");
|
|
16
|
+
var _RouteParams = require("../ui/uiConfig/RouteParams");
|
|
17
|
+
var _ExecTaskUtils = require("./ExecTaskUtils");
|
|
15
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
20
|
+
|
|
16
21
|
/**
|
|
17
22
|
* API headers
|
|
18
23
|
*/
|
|
@@ -91,10 +96,124 @@ async function getApiResponse(apiData) {
|
|
|
91
96
|
...apiData.requestBody
|
|
92
97
|
};
|
|
93
98
|
}
|
|
94
|
-
|
|
95
|
-
|
|
99
|
+
console.log('axiosConfig: ', JSON.stringify(axiosConfig));
|
|
96
100
|
return (0, _axios.default)(axiosConfig);
|
|
97
101
|
}
|
|
102
|
+
|
|
103
|
+
// new
|
|
104
|
+
async function getAxiosApiResponse(apiData) {
|
|
105
|
+
let axiosConfig = {
|
|
106
|
+
method: apiData.httpMethod,
|
|
107
|
+
timeout: apiData.timeout ?? _apiConstants.API_CONFIG.timeout,
|
|
108
|
+
// timeout in millis i.e 15s
|
|
109
|
+
url: apiData.uri,
|
|
110
|
+
headers: {
|
|
111
|
+
...getAddHeaders(apiData.headers),
|
|
112
|
+
...(await (0, _NetworkUtils.getHeaders)('application/json'))
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// Handle path parameters
|
|
117
|
+
if (apiData.pathParams) {
|
|
118
|
+
const params = apiData.pathParams;
|
|
119
|
+
params.forEach(param => {
|
|
120
|
+
apiData.uri = apiData.uri.replace(`{${param.key}}`, param.value);
|
|
121
|
+
});
|
|
122
|
+
axiosConfig.url = apiData.uri;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Handle query parameters
|
|
126
|
+
if (apiData.queryParams) {
|
|
127
|
+
axiosConfig.params = {
|
|
128
|
+
...getQueryParams(apiData.queryParams)
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Handle request body
|
|
133
|
+
if (apiData.requestBody) {
|
|
134
|
+
axiosConfig.data = {
|
|
135
|
+
...apiData.requestBody
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
console.log('axiosConfig: ', JSON.stringify(axiosConfig));
|
|
139
|
+
try {
|
|
140
|
+
// Make the API call
|
|
141
|
+
const response = await (0, _axios.default)(axiosConfig);
|
|
142
|
+
return response;
|
|
143
|
+
} catch (error) {
|
|
144
|
+
var _error$response, _error$response2, _error$response3;
|
|
145
|
+
console.error('API Error:', error);
|
|
146
|
+
let customError = {
|
|
147
|
+
...error,
|
|
148
|
+
data: {
|
|
149
|
+
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,
|
|
150
|
+
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,
|
|
151
|
+
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
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
// console.log('Formatted Error:', customError);
|
|
156
|
+
// Throw the custom error for the caller to handle
|
|
157
|
+
throw customError;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// To generate an common payload for APIS as per config
|
|
162
|
+
const createApiData = (payload, props, endpoint, httpMethod, headers, customApiConfig) => {
|
|
163
|
+
const baseApiData = {
|
|
164
|
+
errorJsonPath: '',
|
|
165
|
+
responseJsonPath: '',
|
|
166
|
+
uri: endpoint,
|
|
167
|
+
httpMethod: httpMethod ?? 'POST',
|
|
168
|
+
timeout: 15000,
|
|
169
|
+
headers: headers ?? [],
|
|
170
|
+
responseJsonLogic: '',
|
|
171
|
+
errorJsonLogic: '',
|
|
172
|
+
requestBody: payload,
|
|
173
|
+
pathParams: [{
|
|
174
|
+
key: 'baseURI',
|
|
175
|
+
value: props.domain
|
|
176
|
+
}]
|
|
177
|
+
};
|
|
178
|
+
if (customApiConfig) {
|
|
179
|
+
Object.assign(baseApiData, {
|
|
180
|
+
httpMethod: customApiConfig.httpMethod ?? baseApiData.httpMethod,
|
|
181
|
+
timeout: customApiConfig.timeout ?? baseApiData.timeout,
|
|
182
|
+
headers: customApiConfig.headers ?? baseApiData.headers,
|
|
183
|
+
responseJsonLogic: customApiConfig.responseJsonLogic,
|
|
184
|
+
errorJsonLogic: customApiConfig.errorJsonLogic,
|
|
185
|
+
errorJsonPath: customApiConfig.errorJsonPath ?? baseApiData.errorJsonPath,
|
|
186
|
+
responseJsonPath: customApiConfig.responseJsonPath ?? baseApiData.responseJsonPath
|
|
187
|
+
});
|
|
188
|
+
if (customApiConfig.requestBody) {
|
|
189
|
+
var _props$route;
|
|
190
|
+
const inputMeta = props === null || props === void 0 || (_props$route = props.route) === null || _props$route === void 0 || (_props$route = _props$route.params[_RouteParams.RouteParams.NEXT_STATES]) === null || _props$route === void 0 || (_props$route = _props$route.meta) === null || _props$route === void 0 ? void 0 : _props$route.task;
|
|
191
|
+
const parsedInputMeta = inputMeta ? JSON.parse(inputMeta) : {};
|
|
192
|
+
console.log('parsedInputMeta', parsedInputMeta);
|
|
193
|
+
const metaData = {
|
|
194
|
+
meta: {
|
|
195
|
+
task: parsedInputMeta
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
const updatedPayload = {
|
|
199
|
+
...payload,
|
|
200
|
+
...metaData
|
|
201
|
+
};
|
|
202
|
+
console.log('updatedPayload', updatedPayload);
|
|
203
|
+
baseApiData.requestBody = (0, _ExecTaskUtils.parseRequestBody)(customApiConfig.requestBody, updatedPayload);
|
|
204
|
+
console.log('baseApiData.requestBody', baseApiData.requestBody);
|
|
205
|
+
}
|
|
206
|
+
if (customApiConfig.pathParams) {
|
|
207
|
+
baseApiData.pathParams = customApiConfig.pathParams;
|
|
208
|
+
}
|
|
209
|
+
if (customApiConfig.queryParams) {
|
|
210
|
+
baseApiData.queryParams = customApiConfig.queryParams;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
console.log('baseApiData', baseApiData);
|
|
214
|
+
return baseApiData;
|
|
215
|
+
};
|
|
216
|
+
exports.createApiData = createApiData;
|
|
98
217
|
function parseBody(body, userInput) {
|
|
99
218
|
const requestBody = JSON.parse(JSON.stringify(body));
|
|
100
219
|
for (const key in requestBody) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","_apiConstants","_NetworkUtils","e","__esModule","default","getKeyValueFromArray","array","length","addItems","forEach","item","_item$key","key","value","toLowerCase","getAddHeaders","exports","getQueryParams","getApiResponse","apiData","axiosConfig","method","httpMethod","timeout","API_CONFIG","url","uri","headers","getHeaders","pathParams","params","param","replace","queryParams","requestBody","data","axios","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","_interopRequireDefault","require","_apiConstants","_NetworkUtils","_RouteParams","_ExecTaskUtils","e","__esModule","default","getKeyValueFromArray","array","length","addItems","forEach","item","_item$key","key","value","toLowerCase","getAddHeaders","exports","getQueryParams","getApiResponse","apiData","axiosConfig","method","httpMethod","timeout","API_CONFIG","url","uri","headers","getHeaders","pathParams","params","param","replace","queryParams","requestBody","data","console","log","JSON","stringify","axios","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","RouteParams","NEXT_STATES","meta","task","parsedInputMeta","parse","metaData","updatedPayload","parseRequestBody","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,6 +10,7 @@ exports.handleDynamicValues = handleDynamicValues;
|
|
|
10
10
|
exports.maskContact = void 0;
|
|
11
11
|
exports.onClickEvent = onClickEvent;
|
|
12
12
|
exports.onTaskStart = onTaskStart;
|
|
13
|
+
exports.parseRequestBody = parseRequestBody;
|
|
13
14
|
var _LocationManager = _interopRequireDefault(require("../manager/location/LocationManager"));
|
|
14
15
|
var _DispatchSdkCache = _interopRequireDefault(require("../manager/sdk/DispatchSdkCache"));
|
|
15
16
|
var _ETConfig = require("../models/execTasks/ETConfig");
|
|
@@ -23,7 +24,7 @@ async function getBaseETResponse(entityCode, success, eventCode, reasonCode, mer
|
|
|
23
24
|
const sdkConfig = await cache.getObjectFromCache(_DispatchSdkCache.default.KEYS.SDK_CONFIG);
|
|
24
25
|
const startTime = await cache.getObjectFromCache(_DispatchSdkCache.default.KEYS.TASK_START_TIME);
|
|
25
26
|
const startLocation = await cache.getObjectFromCache(_DispatchSdkCache.default.KEYS.TASK_START_LOCATION);
|
|
26
|
-
console.log(
|
|
27
|
+
console.log('getBaseETResponse:startLocation:', startLocation);
|
|
27
28
|
let baseResponse = {
|
|
28
29
|
entityCode: entityCode,
|
|
29
30
|
success: success,
|
|
@@ -52,7 +53,7 @@ async function getBaseETResponse(entityCode, success, eventCode, reasonCode, mer
|
|
|
52
53
|
},
|
|
53
54
|
mergedObjectiveIds
|
|
54
55
|
};
|
|
55
|
-
console.log(
|
|
56
|
+
console.log('getBaseETResponse:baseResponse:', JSON.stringify(baseResponse));
|
|
56
57
|
return baseResponse;
|
|
57
58
|
}
|
|
58
59
|
async function getObjectiveCompleteResp(entityCode, success, eventCode, reasonCode, mergedObjectiveId, taskId) {
|
|
@@ -216,14 +217,73 @@ function handleDynamicValues(jsonInput, dataBlob) {
|
|
|
216
217
|
}
|
|
217
218
|
return jsonInput;
|
|
218
219
|
}
|
|
220
|
+
function parseRequestBody(body, userInput) {
|
|
221
|
+
const requestBody = JSON.parse(JSON.stringify(body)); // Deep clone the input
|
|
222
|
+
|
|
223
|
+
// Preprocess `userInput` placeholders before calling handleDynamicValues
|
|
224
|
+
const preprocessUserInput = jsonInput => {
|
|
225
|
+
for (const key in jsonInput) {
|
|
226
|
+
if (Object.prototype.hasOwnProperty.call(jsonInput, key)) {
|
|
227
|
+
const value = jsonInput[key];
|
|
228
|
+
if (typeof value === 'string' && value.includes('{{$.userInput}}')) {
|
|
229
|
+
// Replace `{{$.userInput}}` with the OTP value from userInput
|
|
230
|
+
jsonInput[key] = userInput.otp || value;
|
|
231
|
+
} else if (typeof value === 'object' && value !== null) {
|
|
232
|
+
// Recursively preprocess nested objects
|
|
233
|
+
preprocessUserInput(value);
|
|
234
|
+
} else if (Array.isArray(value)) {
|
|
235
|
+
// Recursively preprocess arrays
|
|
236
|
+
jsonInput[key] = value.map(item => {
|
|
237
|
+
if (typeof item === 'string' && item.includes('{{$.userInput}}')) {
|
|
238
|
+
return userInput.otp || userInput.input || item;
|
|
239
|
+
} else if (typeof item === 'string' && item.includes('{{$.inputs.userInput}}')) {
|
|
240
|
+
return userInput.input || item;
|
|
241
|
+
} else if (typeof item === 'object' && item !== null) {
|
|
242
|
+
preprocessUserInput(item);
|
|
243
|
+
return item;
|
|
244
|
+
}
|
|
245
|
+
return item;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return jsonInput;
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
// Step 1: Preprocess the body for `{{$.userInput}}`
|
|
254
|
+
const preprocessedBody = preprocessUserInput(requestBody);
|
|
255
|
+
|
|
256
|
+
// Step 2: Pass the preprocessed body to `handleDynamicValues`
|
|
257
|
+
const resolvedBody = handleDynamicValues(preprocessedBody, userInput);
|
|
258
|
+
return resolvedBody;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// old masking
|
|
262
|
+
// export const maskContact = (contact: string) => {
|
|
263
|
+
// if (contact && contact?.includes('@')) {
|
|
264
|
+
// const [name, domain] = contact.split('@');
|
|
265
|
+
// const maskedName = name.substring(0, 3) + '****';
|
|
266
|
+
// const maskedEmail = maskedName + '@' + domain;
|
|
267
|
+
// return maskedEmail;
|
|
268
|
+
// } else {
|
|
269
|
+
// return `${contact && contact.slice(0, 2)}****${contact.slice(-4)}`;
|
|
270
|
+
// }
|
|
271
|
+
// };
|
|
219
272
|
const maskContact = contact => {
|
|
220
|
-
if (contact.includes('@')) {
|
|
273
|
+
if (contact && contact.includes('@')) {
|
|
221
274
|
const [name, domain] = contact.split('@');
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
275
|
+
let maskedName;
|
|
276
|
+
if (name.length <= 2) {
|
|
277
|
+
maskedName = name.substring(0, 1) + '*****';
|
|
278
|
+
} else {
|
|
279
|
+
maskedName = name.substring(0, 2) + '*****';
|
|
280
|
+
}
|
|
281
|
+
return maskedName + '@' + domain;
|
|
225
282
|
} else {
|
|
226
|
-
|
|
283
|
+
const visibleDigits = 4;
|
|
284
|
+
const maskedPart = '*'.repeat(Math.max(contact.length - visibleDigits, 0));
|
|
285
|
+
const visiblePart = contact.slice(-visibleDigits);
|
|
286
|
+
return maskedPart + visiblePart;
|
|
227
287
|
}
|
|
228
288
|
};
|
|
229
289
|
exports.maskContact = maskContact;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_LocationManager","_interopRequireDefault","require","_DispatchSdkCache","_ETConfig","_EventDispatcher","_jsonpathPlus","e","__esModule","default","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","LocationManager","getInstance","getLastLocation","console","log","JSON","stringify","cache","DispatchSdkCache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","ExecutionTaskID","CAPTURE_INPUT","EntityCode","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","dispatchEvent","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","JSONPath","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","maskContact","contact","includes","domain","split","maskedName","maskedEmail","slice","exports"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log(\"getBaseETResponse:startLocation:\",startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation:{\n latitude:startLocation.latitude,\n longitude:startLocation.longitude\n },\n endLocation:{\n latitude:lastLocation.latitude,\n longitude:lastLocation.longitude\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log(\"getBaseETResponse:baseResponse:\",JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"onTaskStart:lastLocation:\",JSON.stringify(lastLocation));\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n\n\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport const maskContact = (contact: string) => {\n if (contact.includes('@')) {\n const [name, domain] = contact.split('@');\n const maskedName = name.substring(0, 3) + '****';\n const maskedEmail = maskedName + '@' + domain;\n return maskedEmail;\n } else {\n return `${contact.slice(0, 2)}****${contact.slice(-4)}`;\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_LocationManager","_interopRequireDefault","require","_DispatchSdkCache","_ETConfig","_EventDispatcher","_jsonpathPlus","e","__esModule","default","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","LocationManager","getInstance","getLastLocation","console","log","JSON","stringify","cache","DispatchSdkCache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","ExecutionTaskID","CAPTURE_INPUT","EntityCode","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","dispatchEvent","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","JSONPath","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","parseRequestBody","body","userInput","requestBody","parse","preprocessUserInput","Object","prototype","hasOwnProperty","call","includes","otp","item","preprocessedBody","resolvedBody","maskContact","contact","domain","split","maskedName","visibleDigits","maskedPart","repeat","Math","max","visiblePart","slice","exports"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log('getBaseETResponse:startLocation:', startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation: {\n latitude: startLocation.latitude,\n longitude: startLocation.longitude,\n },\n endLocation: {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log('getBaseETResponse:baseResponse:', JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"onTaskStart:lastLocation:\",JSON.stringify(lastLocation));\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport function parseRequestBody(body: any, userInput: any) {\n const requestBody = JSON.parse(JSON.stringify(body)); // Deep clone the input\n\n // Preprocess `userInput` placeholders before calling handleDynamicValues\n const preprocessUserInput = (jsonInput: any) => {\n for (const key in jsonInput) {\n if (Object.prototype.hasOwnProperty.call(jsonInput, key)) {\n const value = jsonInput[key];\n\n if (typeof value === 'string' && value.includes('{{$.userInput}}')) {\n // Replace `{{$.userInput}}` with the OTP value from userInput\n jsonInput[key] = userInput.otp || value;\n } else if (typeof value === 'object' && value !== null) {\n // Recursively preprocess nested objects\n preprocessUserInput(value);\n } else if (Array.isArray(value)) {\n // Recursively preprocess arrays\n jsonInput[key] = value.map((item) => {\n if (typeof item === 'string' && item.includes('{{$.userInput}}')) {\n return userInput.otp || userInput.input || item;\n } else if (\n typeof item === 'string' &&\n item.includes('{{$.inputs.userInput}}')\n ) {\n return userInput.input || item;\n } else if (typeof item === 'object' && item !== null) {\n preprocessUserInput(item);\n return item;\n }\n return item;\n });\n }\n }\n }\n return jsonInput;\n };\n\n // Step 1: Preprocess the body for `{{$.userInput}}`\n const preprocessedBody = preprocessUserInput(requestBody);\n\n // Step 2: Pass the preprocessed body to `handleDynamicValues`\n const resolvedBody = handleDynamicValues(preprocessedBody, userInput);\n\n return resolvedBody;\n}\n\n// old masking\n// export const maskContact = (contact: string) => {\n// if (contact && contact?.includes('@')) {\n// const [name, domain] = contact.split('@');\n// const maskedName = name.substring(0, 3) + '****';\n// const maskedEmail = maskedName + '@' + domain;\n// return maskedEmail;\n// } else {\n// return `${contact && contact.slice(0, 2)}****${contact.slice(-4)}`;\n// }\n// };\nexport const maskContact = (contact: string) => {\n if (contact && contact.includes('@')) {\n const [name, domain] = contact.split('@');\n let maskedName;\n if (name.length <= 2) {\n maskedName = name.substring(0, 1) + '*****';\n } else {\n maskedName = name.substring(0, 2) + '*****';\n }\n return maskedName + '@' + domain;\n } else {\n const visibleDigits = 4;\n const maskedPart = '*'.repeat(Math.max(contact.length - visibleDigits, 0));\n const visiblePart = contact.slice(-visibleDigits);\n return maskedPart + visiblePart;\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ValidateOTPContext = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
9
|
+
|
|
10
|
+
const ValidateOTPContext = exports.ValidateOTPContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
11
|
+
//# sourceMappingURL=valdiateOTPContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","ValidateOTPContext","exports","createContext"],"sources":["valdiateOTPContext.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { createContext } from 'react';\nimport { DispatchSDKConfig } from '../../models/sdk';\nimport NetworkClient from '../../network/NetworkClient';\n\nexport const ValidateOTPContext = createContext<{\n sdkConfig: DispatchSDKConfig;\n networkInstance: NetworkClient;\n} | null>(null);\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AADA;;AAKO,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAG,IAAAE,oBAAa,EAGrC,IAAI,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_network","_interopRequireDefault","require","_platformCoreosExecutionEngineSdk","_Helper","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Helper","getInstance","instance","checkNetwork","Network","heartBeat","isSelfLoopExistOnET","workflowId","sourceTaskName","console","log","isSelfLoopExist","dummyETTransitionObj","targetTaskName","condition","transitionsFromCurrentET","dispatchExecutor","queryWorkflowTransitionData","outerLoop","obj","toLocaleLowerCase","toLowerCase","JSON","stringify","exports"],"sources":["helper.ts"],"sourcesContent":["import Network from '../resources/network';\nimport { DispatchExecutor as dispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\
|
|
1
|
+
{"version":3,"names":["_network","_interopRequireDefault","require","_platformCoreosExecutionEngineSdk","_Helper","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Helper","getInstance","instance","checkNetwork","Network","heartBeat","isSelfLoopExistOnET","workflowId","sourceTaskName","console","log","isSelfLoopExist","dummyETTransitionObj","targetTaskName","condition","transitionsFromCurrentET","dispatchExecutor","queryWorkflowTransitionData","outerLoop","obj","toLocaleLowerCase","toLowerCase","JSON","stringify","exports"],"sources":["helper.ts"],"sourcesContent":["import Network from '../resources/network';\nimport { DispatchExecutor as dispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\n\n/**\n *\n * @class Helper\n */\nexport default class Helper {\n\n private static instance: Helper;\n\n\n public static getInstance(): Helper {\n if (!Helper.instance) {\n Helper.instance = new Helper();\n }\n return Helper.instance;\n }\n\n /**\n * Check the availability of a network for an app.\n *\n * @returns {Promise<boolean>}\n */\n async checkNetwork(): Promise<boolean> {\n try {\n await Network.heartBeat();\n return true;\n } catch (e: any) {\n // console.log('checkNetwork catch', e);\n return false;\n }\n }\n\n\n async isSelfLoopExistOnET(workflowId: string,\n sourceTaskName: string): Promise<boolean> {\n try {\n console.log(\"isSelfLoopExistOnET::sourceTaskName => \", sourceTaskName)\n //\n let isSelfLoopExist: boolean = false;\n const dummyETTransitionObj = [{ sourceTaskName: \"\", targetTaskName: \"\", condition: \"\" }]\n const transitionsFromCurrentET = await dispatchExecutor.queryWorkflowTransitionData(workflowId, sourceTaskName);\n\n outerLoop: for (const obj of transitionsFromCurrentET ?? dummyETTransitionObj) {\n if ((obj.targetTaskName as string).toLocaleLowerCase() === sourceTaskName.toLowerCase()) {\n isSelfLoopExist = true;\n break outerLoop;\n }\n }\n\n // transitionsFromCurrentET?.forEach( (obj) => {\n // if((obj.targetTaskName as string).toLocaleLowerCase() === sourceTaskName.toLowerCase()){\n // isSelfLoopExist = true;\n // break;\n // } \n // }); \n return isSelfLoopExist;\n } catch (e: any) {\n console.log(\"isSelfLoopExistOnET-Error\", JSON.stringify(e));\n return false;\n }\n }\n\n}\n\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iCAAA,GAAAD,OAAA;AAA0G,IAAAE,OAAA;AAAA,SAAAH,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE1G;AACA;AACA;AACA;AACe,MAAMgB,MAAM,CAAC;EAK1B,OAAcC,WAAWA,CAAA,EAAW;IAClC,IAAI,CAACD,MAAM,CAACE,QAAQ,EAAE;MACpBF,MAAM,CAACE,QAAQ,GAAG,IAAIF,MAAM,CAAC,CAAC;IAChC;IACA,OAAOA,MAAM,CAACE,QAAQ;EACxB;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMC,YAAYA,CAAA,EAAqB;IACrC,IAAI;MACF,MAAMC,gBAAO,CAACC,SAAS,CAAC,CAAC;MACzB,OAAO,IAAI;IACb,CAAC,CAAC,OAAO1B,CAAM,EAAE;MACf;MACA,OAAO,KAAK;IACd;EACF;EAGA,MAAM2B,mBAAmBA,CAACC,UAAkB,EAC1CC,cAAsB,EAAoB;IAC1C,IAAI;MACFC,OAAO,CAACC,GAAG,CAAC,yCAAyC,EAAEF,cAAc,CAAC;MACtE;MACA,IAAIG,eAAwB,GAAG,KAAK;MACpC,MAAMC,oBAAoB,GAAG,CAAC;QAAEJ,cAAc,EAAE,EAAE;QAAEK,cAAc,EAAE,EAAE;QAAEC,SAAS,EAAE;MAAG,CAAC,CAAC;MACxF,MAAMC,wBAAwB,GAAG,MAAMC,kDAAgB,CAACC,2BAA2B,CAACV,UAAU,EAAEC,cAAc,CAAC;MAE/GU,SAAS,EAAE,KAAK,MAAMC,GAAG,IAAIJ,wBAAwB,IAAIH,oBAAoB,EAAE;QAC7E,IAAKO,GAAG,CAACN,cAAc,CAAYO,iBAAiB,CAAC,CAAC,KAAKZ,cAAc,CAACa,WAAW,CAAC,CAAC,EAAE;UACvFV,eAAe,GAAG,IAAI;UACtB,MAAMO,SAAS;QACjB;MACF;;MAEA;MACA;MACA;MACA;MACA;MACA;MACA,OAAOP,eAAe;IACxB,CAAC,CAAC,OAAOhC,CAAM,EAAE;MACf8B,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEY,IAAI,CAACC,SAAS,CAAC5C,CAAC,CAAC,CAAC;MAC3D,OAAO,KAAK;IACd;EACF;AAEF;AAAC6C,OAAA,CAAA3C,OAAA,GAAAmB,MAAA;AAAAtB,OAAA,GAzDoBsB,MAAM;AAAAlB,eAAA,CAANkB,MAAM","ignoreList":[]}
|
|
@@ -3,41 +3,79 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.formatExpiryTime = exports.default = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
10
|
+
|
|
11
|
+
// Function to format the expiry time (without showing '0 sec' when it's unnecessary)
|
|
12
|
+
const formatExpiryTime = timeInSeconds => {
|
|
13
|
+
const minutes = Math.floor(timeInSeconds / 60);
|
|
14
|
+
const seconds = timeInSeconds % 60;
|
|
15
|
+
if (minutes > 0 && seconds > 0) {
|
|
16
|
+
return `${minutes} min ${seconds} sec`;
|
|
17
|
+
} else if (minutes > 0 && seconds === 0) {
|
|
18
|
+
return `${minutes} min`;
|
|
19
|
+
} else {
|
|
20
|
+
return `${seconds} sec`;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.formatExpiryTime = formatExpiryTime;
|
|
24
|
+
const useResendOtpTimer = (initialTimerValue, onTimerEnd) => {
|
|
25
|
+
const [timer, setTimer] = (0, _react.useState)(initialTimerValue);
|
|
26
|
+
const appState = (0, _react.useRef)(_reactNative.AppState.currentState);
|
|
27
|
+
const initialTimeRef = (0, _react.useRef)(Date.now());
|
|
28
|
+
const resetTimer = (0, _react.useCallback)(() => {
|
|
29
|
+
initialTimeRef.current = Date.now();
|
|
30
|
+
setTimer(initialTimerValue);
|
|
31
|
+
}, [initialTimerValue]);
|
|
32
|
+
const updateTimer = (0, _react.useCallback)(() => {
|
|
33
|
+
const currentTime = Date.now();
|
|
34
|
+
const elapsedTimeInSeconds = Math.floor((currentTime - initialTimeRef.current) / 1000);
|
|
35
|
+
const remainingTime = Math.max(0, initialTimerValue - elapsedTimeInSeconds);
|
|
36
|
+
if (remainingTime !== timer) {
|
|
37
|
+
setTimer(remainingTime);
|
|
38
|
+
}
|
|
39
|
+
if (remainingTime === 0 && onTimerEnd) {
|
|
40
|
+
onTimerEnd();
|
|
41
|
+
}
|
|
42
|
+
}, [initialTimerValue, onTimerEnd, timer]);
|
|
15
43
|
(0, _react.useEffect)(() => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
44
|
+
resetTimer();
|
|
45
|
+
}, [initialTimerValue, resetTimer]);
|
|
46
|
+
(0, _react.useEffect)(() => {
|
|
47
|
+
// Update the timer immediately on mount
|
|
48
|
+
updateTimer();
|
|
49
|
+
const intervalId = setInterval(updateTimer, 1000);
|
|
50
|
+
return () => clearInterval(intervalId);
|
|
51
|
+
}, [updateTimer]);
|
|
52
|
+
(0, _react.useEffect)(() => {
|
|
53
|
+
const handleAppStateChange = nextAppState => {
|
|
54
|
+
if (appState.current.match(/inactive|background/) && nextAppState === 'active') {
|
|
55
|
+
// Calculate elapsed time and adjust the initial time reference
|
|
56
|
+
const currentTime = Date.now();
|
|
57
|
+
const elapsedTimeInSeconds = Math.floor((currentTime - initialTimeRef.current) / 1000);
|
|
58
|
+
const newRemainingTime = Math.max(0, initialTimerValue - elapsedTimeInSeconds);
|
|
59
|
+
|
|
60
|
+
// Update initial time ref based on new remaining time
|
|
61
|
+
initialTimeRef.current = currentTime - (initialTimerValue - newRemainingTime) * 1000;
|
|
62
|
+
|
|
63
|
+
// Update the timer
|
|
64
|
+
setTimer(newRemainingTime);
|
|
65
|
+
updateTimer();
|
|
27
66
|
}
|
|
28
|
-
|
|
67
|
+
appState.current = nextAppState;
|
|
68
|
+
};
|
|
69
|
+
const subscription = _reactNative.AppState.addEventListener('change', handleAppStateChange);
|
|
29
70
|
return () => {
|
|
30
|
-
|
|
71
|
+
subscription.remove();
|
|
31
72
|
};
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
73
|
+
}, [updateTimer, initialTimerValue]);
|
|
74
|
+
return {
|
|
75
|
+
formattedTime: formatExpiryTime(timer),
|
|
76
|
+
timer: timer,
|
|
77
|
+
resetTimer
|
|
38
78
|
};
|
|
39
|
-
const timer = minutes === 0 && seconds === 0 ? null : `${minutes}: ${seconds < 10 ? `0${seconds}` : seconds}`;
|
|
40
|
-
return [timer, resetTimer];
|
|
41
79
|
};
|
|
42
|
-
var _default = exports.default =
|
|
80
|
+
var _default = exports.default = useResendOtpTimer;
|
|
43
81
|
//# sourceMappingURL=useTimer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","formatExpiryTime","timeInSeconds","minutes","Math","floor","seconds","exports","useResendOtpTimer","initialTimerValue","onTimerEnd","timer","setTimer","useState","appState","useRef","AppState","currentState","initialTimeRef","Date","now","resetTimer","useCallback","current","updateTimer","currentTime","elapsedTimeInSeconds","remainingTime","max","useEffect","intervalId","setInterval","clearInterval","handleAppStateChange","nextAppState","match","newRemainingTime","subscription","addEventListener","remove","formattedTime","_default","default"],"sources":["useTimer.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { AppState, AppStateStatus } from 'react-native';\n\n// Function to format the expiry time (without showing '0 sec' when it's unnecessary)\nexport const formatExpiryTime = (timeInSeconds: number) => {\n const minutes = Math.floor(timeInSeconds / 60);\n const seconds = timeInSeconds % 60;\n\n if (minutes > 0 && seconds > 0) {\n return `${minutes} min ${seconds} sec`;\n } else if (minutes > 0 && seconds === 0) {\n return `${minutes} min`;\n } else {\n return `${seconds} sec`;\n }\n};\n\nconst useResendOtpTimer = (\n initialTimerValue: number,\n onTimerEnd?: () => void\n) => {\n const [timer, setTimer] = useState(initialTimerValue);\n const appState = useRef(AppState.currentState);\n const initialTimeRef = useRef(Date.now());\n\n const resetTimer = useCallback(() => {\n initialTimeRef.current = Date.now();\n setTimer(initialTimerValue);\n }, [initialTimerValue]);\n\n const updateTimer = useCallback(() => {\n const currentTime = Date.now();\n const elapsedTimeInSeconds = Math.floor(\n (currentTime - initialTimeRef.current) / 1000\n );\n const remainingTime = Math.max(0, initialTimerValue - elapsedTimeInSeconds);\n\n if (remainingTime !== timer) {\n setTimer(remainingTime);\n }\n\n if (remainingTime === 0 && onTimerEnd) {\n onTimerEnd();\n }\n }, [initialTimerValue, onTimerEnd, timer]);\n\n useEffect(() => {\n resetTimer();\n }, [initialTimerValue, resetTimer]);\n\n useEffect(() => {\n // Update the timer immediately on mount\n updateTimer();\n const intervalId = setInterval(updateTimer, 1000);\n return () => clearInterval(intervalId);\n }, [updateTimer]);\n\n useEffect(() => {\n const handleAppStateChange = (nextAppState: AppStateStatus) => {\n if (\n appState.current.match(/inactive|background/) &&\n nextAppState === 'active'\n ) {\n // Calculate elapsed time and adjust the initial time reference\n const currentTime = Date.now();\n const elapsedTimeInSeconds = Math.floor(\n (currentTime - initialTimeRef.current) / 1000\n );\n const newRemainingTime = Math.max(\n 0,\n initialTimerValue - elapsedTimeInSeconds\n );\n\n // Update initial time ref based on new remaining time\n initialTimeRef.current =\n currentTime - (initialTimerValue - newRemainingTime) * 1000;\n\n // Update the timer\n setTimer(newRemainingTime);\n updateTimer();\n }\n appState.current = nextAppState;\n };\n\n const subscription = AppState.addEventListener(\n 'change',\n handleAppStateChange\n );\n return () => {\n subscription.remove();\n };\n }, [updateTimer, initialTimerValue]);\n\n return {\n formattedTime: formatExpiryTime(timer),\n timer: timer,\n resetTimer,\n };\n};\n\nexport default useResendOtpTimer;\n"],"mappings":"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","ignoreList":[]}
|