@os1-platform/dispatch-mobile 3.0.4 → 3.1.0

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.
Files changed (218) hide show
  1. package/android/build.gradle +38 -9
  2. package/android/gradle.properties +17 -2
  3. package/lib/commonjs/components/dispatch/DispatchExecNavigator.js.map +1 -1
  4. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  5. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
  6. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  7. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +467 -287
  8. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  9. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js +14 -1
  10. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
  11. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOtpStyles.js +272 -0
  12. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOtpStyles.js.map +1 -0
  13. package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js +99 -0
  14. package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -0
  15. package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js +195 -0
  16. package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js.map +1 -0
  17. package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js +106 -0
  18. package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -0
  19. package/lib/commonjs/components/executiontasks/validateOTP/constants.js +12 -5
  20. package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
  21. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ContactCard.js +68 -0
  22. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ContactCard.js.map +1 -0
  23. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js +12 -5
  24. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  25. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js +61 -0
  26. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js.map +1 -0
  27. package/lib/commonjs/components/executiontasks/validateOTP/utils.js +235 -114
  28. package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
  29. package/lib/commonjs/components/utils/Scale.js +22 -0
  30. package/lib/commonjs/components/utils/Scale.js.map +1 -0
  31. package/lib/commonjs/components/widgets/ConfirmCancelModal.js +47 -0
  32. package/lib/commonjs/components/widgets/ConfirmCancelModal.js.map +1 -0
  33. package/lib/commonjs/components/widgets/SnackBarCustom.js +36 -4
  34. package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
  35. package/lib/commonjs/components/widgets/SplitTextInput.js +48 -18
  36. package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
  37. package/lib/commonjs/constants/apiConstants.js +4 -1
  38. package/lib/commonjs/constants/apiConstants.js.map +1 -1
  39. package/lib/commonjs/constants/constants.js +2 -1
  40. package/lib/commonjs/constants/constants.js.map +1 -1
  41. package/lib/commonjs/icons/icExclamationcircleo_dark.svg +3 -0
  42. package/lib/commonjs/icons/icFailed.gif +0 -0
  43. package/lib/commonjs/icons/icRadioChecked.svg +4 -0
  44. package/lib/commonjs/icons/icRadioUnchecked.svg +4 -0
  45. package/lib/commonjs/icons/icSuccess.gif +0 -0
  46. package/lib/commonjs/icons/index.js +28 -0
  47. package/lib/commonjs/icons/index.js.map +1 -0
  48. package/lib/commonjs/index.js +19 -0
  49. package/lib/commonjs/index.js.map +1 -1
  50. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +5 -4
  51. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  52. package/lib/commonjs/manager/sdk/callbacksHandler.js +9 -2
  53. package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
  54. package/lib/commonjs/manager/syncmanager/constants.js +3 -1
  55. package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
  56. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +3 -2
  57. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  58. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +70 -80
  59. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  60. package/lib/commonjs/models/sdk.js +1 -0
  61. package/lib/commonjs/models/sdk.js.map +1 -1
  62. package/lib/commonjs/ui/screens/ValidateOTPScreen.js +132 -12
  63. package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
  64. package/lib/commonjs/utils/ApiUtils.js +122 -3
  65. package/lib/commonjs/utils/ApiUtils.js.map +1 -1
  66. package/lib/commonjs/utils/ExecTaskUtils.js +67 -7
  67. package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
  68. package/lib/commonjs/utils/context/valdiateOTPContext.js +11 -0
  69. package/lib/commonjs/utils/context/valdiateOTPContext.js.map +1 -0
  70. package/lib/commonjs/utils/helper.js.map +1 -1
  71. package/lib/commonjs/utils/hooks/useTimer.js +68 -30
  72. package/lib/commonjs/utils/hooks/useTimer.js.map +1 -1
  73. package/lib/module/components/dispatch/DispatchExecNavigator.js.map +1 -1
  74. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  75. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
  76. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  77. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +480 -290
  78. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  79. package/lib/module/components/executiontasks/validateOTP/ValidateOTPSchema.js +14 -0
  80. package/lib/module/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
  81. package/lib/module/components/executiontasks/validateOTP/ValidateOtpStyles.js +266 -0
  82. package/lib/module/components/executiontasks/validateOTP/ValidateOtpStyles.js.map +1 -0
  83. package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js +88 -0
  84. package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -0
  85. package/lib/module/components/executiontasks/validateOTP/components/OTPView.js +194 -0
  86. package/lib/module/components/executiontasks/validateOTP/components/OTPView.js.map +1 -0
  87. package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js +96 -0
  88. package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -0
  89. package/lib/module/components/executiontasks/validateOTP/constants.js +11 -4
  90. package/lib/module/components/executiontasks/validateOTP/constants.js.map +1 -1
  91. package/lib/module/components/executiontasks/validateOTP/sub-components/ContactCard.js +59 -0
  92. package/lib/module/components/executiontasks/validateOTP/sub-components/ContactCard.js.map +1 -0
  93. package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js +11 -5
  94. package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  95. package/lib/module/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js +52 -0
  96. package/lib/module/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js.map +1 -0
  97. package/lib/module/components/executiontasks/validateOTP/utils.js +219 -108
  98. package/lib/module/components/executiontasks/validateOTP/utils.js.map +1 -1
  99. package/lib/module/components/utils/Scale.js +14 -0
  100. package/lib/module/components/utils/Scale.js.map +1 -0
  101. package/lib/module/components/widgets/ConfirmCancelModal.js +40 -0
  102. package/lib/module/components/widgets/ConfirmCancelModal.js.map +1 -0
  103. package/lib/module/components/widgets/SnackBarCustom.js +36 -4
  104. package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
  105. package/lib/module/components/widgets/SplitTextInput.js +48 -19
  106. package/lib/module/components/widgets/SplitTextInput.js.map +1 -1
  107. package/lib/module/constants/apiConstants.js +4 -1
  108. package/lib/module/constants/apiConstants.js.map +1 -1
  109. package/lib/module/constants/constants.js +1 -0
  110. package/lib/module/constants/constants.js.map +1 -1
  111. package/lib/module/icons/icExclamationcircleo_dark.svg +3 -0
  112. package/lib/module/icons/icFailed.gif +0 -0
  113. package/lib/module/icons/icRadioChecked.svg +4 -0
  114. package/lib/module/icons/icRadioUnchecked.svg +4 -0
  115. package/lib/module/icons/icSuccess.gif +0 -0
  116. package/lib/module/icons/index.js +5 -0
  117. package/lib/module/icons/index.js.map +1 -0
  118. package/lib/module/index.js +2 -0
  119. package/lib/module/index.js.map +1 -1
  120. package/lib/module/manager/sdk/DispatchSDKManager.js +5 -3
  121. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  122. package/lib/module/manager/sdk/callbacksHandler.js +12 -3
  123. package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
  124. package/lib/module/manager/syncmanager/constants.js +2 -0
  125. package/lib/module/manager/syncmanager/constants.js.map +1 -1
  126. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +3 -2
  127. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  128. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +70 -80
  129. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  130. package/lib/module/models/sdk.js +2 -0
  131. package/lib/module/models/sdk.js.map +1 -1
  132. package/lib/module/ui/screens/ValidateOTPScreen.js +139 -11
  133. package/lib/module/ui/screens/ValidateOTPScreen.js.map +1 -1
  134. package/lib/module/utils/ApiUtils.js +118 -2
  135. package/lib/module/utils/ApiUtils.js.map +1 -1
  136. package/lib/module/utils/ExecTaskUtils.js +66 -7
  137. package/lib/module/utils/ExecTaskUtils.js.map +1 -1
  138. package/lib/module/utils/context/valdiateOTPContext.js +4 -0
  139. package/lib/module/utils/context/valdiateOTPContext.js.map +1 -0
  140. package/lib/module/utils/helper.js +1 -0
  141. package/lib/module/utils/helper.js.map +1 -1
  142. package/lib/module/utils/hooks/useTimer.js +67 -30
  143. package/lib/module/utils/hooks/useTimer.js.map +1 -1
  144. package/lib/typescript/components/executiontasks/collectPayment/PaymentStyles.d.ts +3 -3
  145. package/lib/typescript/components/executiontasks/deliver/DeliverETInput.d.ts +0 -1
  146. package/lib/typescript/components/executiontasks/scan/modalConstant.d.ts +0 -1
  147. package/lib/typescript/components/executiontasks/validateOTP/ValidateOTPET.d.ts +3 -3
  148. package/lib/typescript/components/executiontasks/validateOTP/ValidateOTPSchema.d.ts +169 -5
  149. package/lib/typescript/components/executiontasks/validateOTP/ValidateOtpStyles.d.ts +257 -0
  150. package/lib/typescript/components/executiontasks/validateOTP/components/ContactListView.d.ts +3 -0
  151. package/lib/typescript/components/executiontasks/validateOTP/components/OTPView.d.ts +3 -0
  152. package/lib/typescript/components/executiontasks/validateOTP/components/VerificationComplete.d.ts +3 -0
  153. package/lib/typescript/components/executiontasks/validateOTP/constants.d.ts +11 -4
  154. package/lib/typescript/components/executiontasks/validateOTP/sub-components/ContactCard.d.ts +8 -0
  155. package/lib/typescript/components/executiontasks/validateOTP/sub-components/ResendOTPButton.d.ts +12 -0
  156. package/lib/typescript/components/executiontasks/validateOTP/utils.d.ts +31 -7
  157. package/lib/typescript/components/utils/Scale.d.ts +4 -0
  158. package/lib/typescript/components/widgets/ConfirmCancelModal.d.ts +9 -0
  159. package/lib/typescript/components/widgets/SnackBarCustom.d.ts +4 -8
  160. package/lib/typescript/components/widgets/SplitTextInput.d.ts +1 -1
  161. package/lib/typescript/components/widgets/Timer.d.ts +3 -3
  162. package/lib/typescript/constants/apiConstants.d.ts +3 -0
  163. package/lib/typescript/constants/constants.d.ts +1 -0
  164. package/lib/typescript/icons/index.d.ts +4 -0
  165. package/lib/typescript/index.d.ts +2 -0
  166. package/lib/typescript/manager/sdk/callbacksHandler.d.ts +4 -1
  167. package/lib/typescript/manager/syncmanager/constants.d.ts +2 -0
  168. package/lib/typescript/models/execTasks/ETConfig.d.ts +1 -1
  169. package/lib/typescript/models/sdk.d.ts +3 -0
  170. package/lib/typescript/network/GraphQLClient.d.ts +4 -4
  171. package/lib/typescript/styles/executionTasks/CommonStyles.d.ts +2 -2
  172. package/lib/typescript/ui/screens/HttpRequestScreen.d.ts +0 -1
  173. package/lib/typescript/utils/ApiUtils.d.ts +6 -2
  174. package/lib/typescript/utils/ExecTaskUtils.d.ts +1 -0
  175. package/lib/typescript/utils/context/paymentContext.d.ts +0 -1
  176. package/lib/typescript/utils/context/valdiateOTPContext.d.ts +6 -0
  177. package/lib/typescript/utils/hooks/useModal.d.ts +0 -2
  178. package/lib/typescript/utils/hooks/useTimer.d.ts +7 -5
  179. package/package.json +46 -44
  180. package/src/components/dispatch/DispatchExecNavigator.tsx +1 -1
  181. package/src/components/executiontasks/forms/widgets/DateTimeWidget.tsx +2 -2
  182. package/src/components/executiontasks/imageCapture/CaptureUtils.ts +1 -1
  183. package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +654 -381
  184. package/src/components/executiontasks/validateOTP/ValidateOTPSchema.ts +193 -8
  185. package/src/components/executiontasks/validateOTP/ValidateOtpStyles.ts +298 -0
  186. package/src/components/executiontasks/validateOTP/components/ContactListView.tsx +109 -0
  187. package/src/components/executiontasks/validateOTP/components/OTPView.tsx +216 -0
  188. package/src/components/executiontasks/validateOTP/components/VerificationComplete.tsx +124 -0
  189. package/src/components/executiontasks/validateOTP/constants.ts +11 -4
  190. package/src/components/executiontasks/validateOTP/sub-components/ContactCard.tsx +72 -0
  191. package/src/components/executiontasks/validateOTP/sub-components/OTPInput.tsx +13 -7
  192. package/src/components/executiontasks/validateOTP/sub-components/ResendOTPButton.tsx +86 -0
  193. package/src/components/executiontasks/validateOTP/utils.ts +313 -143
  194. package/src/components/utils/Scale.ts +13 -0
  195. package/src/components/widgets/ConfirmCancelModal.tsx +49 -0
  196. package/src/components/widgets/SnackBarCustom.tsx +37 -13
  197. package/src/components/widgets/SplitTextInput.tsx +58 -21
  198. package/src/constants/apiConstants.ts +3 -0
  199. package/src/constants/constants.ts +2 -2
  200. package/src/icons/icExclamationcircleo_dark.svg +3 -0
  201. package/src/icons/icFailed.gif +0 -0
  202. package/src/icons/icRadioChecked.svg +4 -0
  203. package/src/icons/icRadioUnchecked.svg +4 -0
  204. package/src/icons/icSuccess.gif +0 -0
  205. package/src/icons/index.ts +5 -0
  206. package/src/index.tsx +2 -0
  207. package/src/manager/sdk/DispatchSDKManager.ts +6 -5
  208. package/src/manager/sdk/callbacksHandler.ts +29 -12
  209. package/src/manager/syncmanager/constants.ts +2 -0
  210. package/src/manager/syncmanager/document/DocumentHttpClient.ts +29 -29
  211. package/src/manager/syncmanager/document/DocumentSyncManager.ts +75 -84
  212. package/src/models/sdk.ts +6 -0
  213. package/src/ui/screens/ValidateOTPScreen.tsx +194 -32
  214. package/src/utils/ApiUtils.ts +131 -3
  215. package/src/utils/ExecTaskUtils.ts +77 -15
  216. package/src/utils/context/valdiateOTPContext.ts +9 -0
  217. package/src/utils/helper.ts +0 -1
  218. 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
- // console.log('axiosConfig: ', JSON.stringify(axiosConfig));
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":";;;;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAAmD,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AALnD;;AAeA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAwBO,SAASG,oBAAoBA,CAAA,EAAG;EACrC,OAAQC,KAAuB,IAAK;IAClC,IAAI,CAACA,KAAK,IAAIA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KACvC;MACH,MAAMC,QAA8B,GAAG,CAAC,CAAC;MACzCF,KAAK,CAACG,OAAO,CAAEC,IAAI,IAAK;QAAA,IAAAC,SAAA;QACtB,IAAID,IAAI,CAACE,GAAG,IAAIF,IAAI,CAACG,KAAK,EACxBL,QAAQ,EAAAG,SAAA,GAACD,IAAI,CAACE,GAAG,cAAAD,SAAA,uBAARA,SAAA,CAAUG,WAAW,CAAC,CAAC,CAAC,GAAGJ,IAAI,CAACG,KAAK;MAClD,CAAC,CAAC;MACF,OAAOL,QAAQ;IACjB;EACF,CAAC;AACH;AAEO,MAAMO,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGV,oBAAoB,CAAC,CAAC;AAC5C,MAAMY,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAGZ,oBAAoB,CAAC,CAAC;AAE7C,eAAea,cAAcA,CAACC,OAAgB,EAAE;EACrD,IAAIC,WAA+B,GAAG;IACpCC,MAAM,EAAEF,OAAO,CAACG,UAAU;IAC1BC,OAAO,EAAEJ,OAAO,CAACI,OAAO,IAAIC,wBAAU,CAACD,OAAO;IAAE;IAChDE,GAAG,EAAEN,OAAO,CAACO,GAAG;IAChBC,OAAO,EAAE;MACP,GAAGZ,aAAa,CAACI,OAAO,CAACQ,OAAO,CAAC;MACjC,IAAI,MAAM,IAAAC,wBAAU,EAAC,kBAAkB,CAAC;IAC1C;EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEE,IAAIT,OAAO,CAACU,UAAU,EAAE;IACtB,MAAMC,MAAM,GAAGX,OAAO,CAACU,UAAU;IACjCC,MAAM,CAACrB,OAAO,CAAEsB,KAAK,IAAK;MACxBZ,OAAO,CAACO,GAAG,GAAGP,OAAO,CAACO,GAAG,CAACM,OAAO,CAAC,IAAID,KAAK,CAACnB,GAAG,GAAG,EAAEmB,KAAK,CAAClB,KAAK,CAAC;IAClE,CAAC,CAAC;IACFO,WAAW,CAACK,GAAG,GAAGN,OAAO,CAACO,GAAG;EAC/B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIP,OAAO,CAACc,WAAW,EAAE;IACvBb,WAAW,CAACU,MAAM,GAAG;MAAE,GAAGb,cAAc,CAACE,OAAO,CAACc,WAAW;IAAE,CAAC;EACjE;EAEA,IAAId,OAAO,CAACe,WAAW,EAAE;IACvBd,WAAW,CAACe,IAAI,GAAG;MAAE,GAAGhB,OAAO,CAACe;IAAY,CAAC;EAC/C;EACAE,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEC,IAAI,CAACC,SAAS,CAACnB,WAAW,CAAC,CAAC;EAEzD,OAAO,IAAAoB,cAAK,EAACpB,WAAW,CAAC;AAC3B;;AAEA;AACO,eAAeqB,mBAAmBA,CAACtB,OAAgB,EAAE;EAC1D,IAAIC,WAA+B,GAAG;IACpCC,MAAM,EAAEF,OAAO,CAACG,UAAU;IAC1BC,OAAO,EAAEJ,OAAO,CAACI,OAAO,IAAIC,wBAAU,CAACD,OAAO;IAAE;IAChDE,GAAG,EAAEN,OAAO,CAACO,GAAG;IAChBC,OAAO,EAAE;MACP,GAAGZ,aAAa,CAACI,OAAO,CAACQ,OAAO,CAAC;MACjC,IAAI,MAAM,IAAAC,wBAAU,EAAC,kBAAkB,CAAC;IAC1C;EACF,CAAC;;EAED;EACA,IAAIT,OAAO,CAACU,UAAU,EAAE;IACtB,MAAMC,MAAM,GAAGX,OAAO,CAACU,UAAU;IACjCC,MAAM,CAACrB,OAAO,CAAEsB,KAAK,IAAK;MACxBZ,OAAO,CAACO,GAAG,GAAGP,OAAO,CAACO,GAAG,CAACM,OAAO,CAAC,IAAID,KAAK,CAACnB,GAAG,GAAG,EAAEmB,KAAK,CAAClB,KAAK,CAAC;IAClE,CAAC,CAAC;IACFO,WAAW,CAACK,GAAG,GAAGN,OAAO,CAACO,GAAG;EAC/B;;EAEA;EACA,IAAIP,OAAO,CAACc,WAAW,EAAE;IACvBb,WAAW,CAACU,MAAM,GAAG;MAAE,GAAGb,cAAc,CAACE,OAAO,CAACc,WAAW;IAAE,CAAC;EACjE;;EAEA;EACA,IAAId,OAAO,CAACe,WAAW,EAAE;IACvBd,WAAW,CAACe,IAAI,GAAG;MAAE,GAAGhB,OAAO,CAACe;IAAY,CAAC;EAC/C;EAEAE,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEC,IAAI,CAACC,SAAS,CAACnB,WAAW,CAAC,CAAC;EAEzD,IAAI;IACF;IACA,MAAMsB,QAAQ,GAAG,MAAM,IAAAF,cAAK,EAACpB,WAAW,CAAC;IACzC,OAAOsB,QAAQ;EACjB,CAAC,CAAC,OAAOC,KAAU,EAAE;IAAA,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA;IACnBV,OAAO,CAACO,KAAK,CAAC,YAAY,EAAEA,KAAK,CAAC;IAElC,IAAII,WAAW,GAAG;MAChB,GAAGJ,KAAK;MACRR,IAAI,EAAE;QACJa,OAAO,EAAEL,KAAK,aAALA,KAAK,gBAAAC,eAAA,GAALD,KAAK,CAAED,QAAQ,cAAAE,eAAA,gBAAAA,eAAA,GAAfA,eAAA,CAAiBT,IAAI,cAAAS,eAAA,uBAArBA,eAAA,CAAuBI,OAAO;QACvCC,cAAc,EAAEN,KAAK,aAALA,KAAK,gBAAAE,gBAAA,GAALF,KAAK,CAAED,QAAQ,cAAAG,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAiBV,IAAI,cAAAU,gBAAA,uBAArBA,gBAAA,CAAuBI,cAAc;QACrDC,MAAM,EAAEP,KAAK,aAALA,KAAK,gBAAAG,gBAAA,GAALH,KAAK,CAAED,QAAQ,cAAAI,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAiBX,IAAI,cAAAW,gBAAA,uBAArBA,gBAAA,CAAuBI;MACjC;IACF,CAAC;;IAED;IACA;IACA,MAAMH,WAAW;EACnB;AACF;;AAEA;AACO,MAAMI,aAAa,GAAGA,CAC3BC,OAAY,EACZC,KAAU,EACVC,QAAgB,EAChBhC,UAAsB,EACtBK,OAAyB,EACzB4B,eAAkC,KACtB;EACZ,MAAMC,WAAoB,GAAG;IAC3BC,aAAa,EAAE,EAAE;IACjBC,gBAAgB,EAAE,EAAE;IACpBhC,GAAG,EAAE4B,QAAQ;IACbhC,UAAU,EAAEA,UAAU,IAAI,MAAM;IAChCC,OAAO,EAAE,KAAK;IACdI,OAAO,EAAEA,OAAO,IAAI,EAAE;IACtBgC,iBAAiB,EAAE,EAAE;IACrBC,cAAc,EAAE,EAAE;IAClB1B,WAAW,EAAEkB,OAAO;IACpBvB,UAAU,EAAE,CAAC;MAAEjB,GAAG,EAAE,SAAS;MAAEC,KAAK,EAAEwC,KAAK,CAACQ;IAAO,CAAC;EACtD,CAAC;EAED,IAAIN,eAAe,EAAE;IACnBO,MAAM,CAACC,MAAM,CAACP,WAAW,EAAE;MACzBlC,UAAU,EAAEiC,eAAe,CAACjC,UAAU,IAAIkC,WAAW,CAAClC,UAAU;MAChEC,OAAO,EAAEgC,eAAe,CAAChC,OAAO,IAAIiC,WAAW,CAACjC,OAAO;MACvDI,OAAO,EAAE4B,eAAe,CAAC5B,OAAO,IAAI6B,WAAW,CAAC7B,OAAO;MACvDgC,iBAAiB,EAAEJ,eAAe,CAACI,iBAAiB;MACpDC,cAAc,EAAEL,eAAe,CAACK,cAAc;MAC9CH,aAAa,EAAEF,eAAe,CAACE,aAAa,IAAID,WAAW,CAACC,aAAa;MACzEC,gBAAgB,EACdH,eAAe,CAACG,gBAAgB,IAAIF,WAAW,CAACE;IACpD,CAAC,CAAC;IAEF,IAAIH,eAAe,CAACrB,WAAW,EAAE;MAAA,IAAA8B,YAAA;MAC/B,MAAMC,SAAS,GACbZ,KAAK,aAALA,KAAK,gBAAAW,YAAA,GAALX,KAAK,CAAEa,KAAK,cAAAF,YAAA,gBAAAA,YAAA,GAAZA,YAAA,CAAclC,MAAM,CAACqC,wBAAW,CAACC,WAAW,CAAC,cAAAJ,YAAA,gBAAAA,YAAA,GAA7CA,YAAA,CAA+CK,IAAI,cAAAL,YAAA,uBAAnDA,YAAA,CAAqDM,IAAI;MAC3D,MAAMC,eAAe,GAAGN,SAAS,GAAG3B,IAAI,CAACkC,KAAK,CAACP,SAAS,CAAC,GAAG,CAAC,CAAC;MAC9D7B,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAEkC,eAAe,CAAC;MAE/C,MAAME,QAAQ,GAAG;QACfJ,IAAI,EAAE;UAAEC,IAAI,EAAEC;QAAgB;MAChC,CAAC;MACD,MAAMG,cAAc,GAAG;QACrB,GAAGtB,OAAO;QACV,GAAGqB;MACL,CAAC;MACDrC,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEqC,cAAc,CAAC;MAC7ClB,WAAW,CAACtB,WAAW,GAAG,IAAAyC,+BAAgB,EACxCpB,eAAe,CAACrB,WAAW,EAC3BwC,cACF,CAAC;MAEDtC,OAAO,CAACC,GAAG,CAAC,yBAAyB,EAAEmB,WAAW,CAACtB,WAAW,CAAC;IACjE;IACA,IAAIqB,eAAe,CAAC1B,UAAU,EAAE;MAC9B2B,WAAW,CAAC3B,UAAU,GAAG0B,eAAe,CAAC1B,UAAU;IACrD;IACA,IAAI0B,eAAe,CAACtB,WAAW,EAAE;MAC/BuB,WAAW,CAACvB,WAAW,GAAGsB,eAAe,CAACtB,WAAW;IACvD;EACF;EAEAG,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEmB,WAAW,CAAC;EAEvC,OAAOA,WAAW;AACpB,CAAC;AAACxC,OAAA,CAAAmC,aAAA,GAAAA,aAAA;AAEK,SAASyB,SAASA,CAACC,IAAS,EAAEC,SAAc,EAAE;EACnD,MAAM5C,WAAW,GAAGI,IAAI,CAACkC,KAAK,CAAClC,IAAI,CAACC,SAAS,CAACsC,IAAI,CAAC,CAAC;EACpD,KAAK,MAAMjE,GAAG,IAAIsB,WAAW,EAAE;IAC7B,IAAI4B,MAAM,CAACiB,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC/C,WAAW,EAAEtB,GAAG,CAAC,EAAE;MAC1D,MAAMC,KAAK,GAAGqB,WAAW,CAACtB,GAAG,CAAC;MAC9B,IAAI,OAAOC,KAAK,KAAK,QAAQ,EAAE;QAC7BqB,WAAW,CAACtB,GAAG,CAAC,GAAGgE,SAAS,CAAC/D,KAAK,EAAEiE,SAAS,CAAC;MAChD,CAAC,MAAM,IAAII,KAAK,CAACC,OAAO,CAACtE,KAAK,CAAC,EAAE;QAC/BA,KAAK,CAACJ,OAAO,CAAE2E,GAAG,IAAK;UACrBlD,WAAW,CAACtB,GAAG,CAAC,GAAGgE,SAAS,CAACQ,GAAG,EAAEN,SAAS,CAAC;QAC9C,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAMO,cAAc,GAAG,cAAc;QACrC,IAAI,OAAOxE,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACyE,QAAQ,CAACD,cAAc,CAAC,EAAE;UAC/D,MAAME,iBAAyB,GAAG1E,KAAK,CAAC2E,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,IAAI,EAAE;UAC9DvD,WAAW,CAACtB,GAAG,CAAC,GAAGkE,SAAS,CAACS,iBAAiB,CAAC,IAAI,EAAE;QACvD;MACF;IACF;EACF;EACA,OAAOrD,WAAW;AACpB;AAEO,SAASwD,aAAaA,CAACpF,KAAsB,EAAEwE,SAAc,EAAE;EACpE,OAAOxE,KAAK,CAACqF,GAAG,CAAEjF,IAAI,IAAK;IACzB,MAAM2E,cAAc,GAAG,cAAc;IACrC,IAAI3E,IAAI,CAACG,KAAK,CAACyE,QAAQ,CAACD,cAAc,CAAC,EAAE;MACvC,MAAME,iBAAyB,GAAG7E,IAAI,CAACG,KAAK,CAAC2E,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,IAAI,EAAE;MACnE/E,IAAI,CAACG,KAAK,GAAGiE,SAAS,CAACS,iBAAiB,CAAC,IAAI,EAAE;IACjD;EACF,CAAC,CAAC;AACJ","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("getBaseETResponse:startLocation:", startLocation);
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("getBaseETResponse:baseResponse:", JSON.stringify(baseResponse));
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
- const maskedName = name.substring(0, 3) + '****';
223
- const maskedEmail = maskedName + '@' + domain;
224
- return maskedEmail;
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
- return `${contact.slice(0, 2)}****${contact.slice(-4)}`;
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';\nimport ETTransition 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;AAG1G;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":[]}
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
- const useTimer = props => {
9
- const {
10
- initialMinute = 0,
11
- initialSeconds = 0
12
- } = props;
13
- const [minutes, setMinutes] = (0, _react.useState)(initialMinute);
14
- const [seconds, setSeconds] = (0, _react.useState)(initialSeconds);
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
- let myInterval = setInterval(() => {
17
- if (seconds > 0) {
18
- setSeconds(seconds - 1);
19
- }
20
- if (seconds === 0) {
21
- if (minutes === 0) {
22
- clearInterval(myInterval);
23
- } else {
24
- setMinutes(minutes - 1);
25
- setSeconds(59);
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
- }, 1000);
67
+ appState.current = nextAppState;
68
+ };
69
+ const subscription = _reactNative.AppState.addEventListener('change', handleAppStateChange);
29
70
  return () => {
30
- clearInterval(myInterval);
71
+ subscription.remove();
31
72
  };
32
- });
33
- const resetTimer = () => {
34
- if (!minutes && !seconds) {
35
- setMinutes(initialMinute);
36
- setSeconds(initialSeconds);
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 = useTimer;
80
+ var _default = exports.default = useResendOtpTimer;
43
81
  //# sourceMappingURL=useTimer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useTimer","props","initialMinute","initialSeconds","minutes","setMinutes","useState","seconds","setSeconds","useEffect","myInterval","setInterval","clearInterval","resetTimer","timer","_default","exports","default"],"sources":["useTimer.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useTimer = (props: {\n initialMinute: number;\n initialSeconds: number;\n}): [string | null, () => void] => {\n const { initialMinute = 0, initialSeconds = 0 } = props;\n const [minutes, setMinutes] = useState(initialMinute);\n const [seconds, setSeconds] = useState(initialSeconds);\n useEffect(() => {\n let myInterval = setInterval(() => {\n if (seconds > 0) {\n setSeconds(seconds - 1);\n }\n if (seconds === 0) {\n if (minutes === 0) {\n clearInterval(myInterval);\n } else {\n setMinutes(minutes - 1);\n setSeconds(59);\n }\n }\n }, 1000);\n return () => {\n clearInterval(myInterval);\n };\n });\n\n const resetTimer = () => {\n if (!minutes && !seconds) {\n setMinutes(initialMinute);\n setSeconds(initialSeconds);\n }\n };\n\n const timer =\n minutes === 0 && seconds === 0\n ? null\n : `${minutes}: ${seconds < 10 ? `0${seconds}` : seconds}`;\n\n return [timer, resetTimer];\n};\n\nexport default useTimer;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAIC,KAGjB,IAAkC;EACjC,MAAM;IAAEC,aAAa,GAAG,CAAC;IAAEC,cAAc,GAAG;EAAE,CAAC,GAAGF,KAAK;EACvD,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAACJ,aAAa,CAAC;EACrD,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAF,eAAQ,EAACH,cAAc,CAAC;EACtD,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAIC,UAAU,GAAGC,WAAW,CAAC,MAAM;MACjC,IAAIJ,OAAO,GAAG,CAAC,EAAE;QACfC,UAAU,CAACD,OAAO,GAAG,CAAC,CAAC;MACzB;MACA,IAAIA,OAAO,KAAK,CAAC,EAAE;QACjB,IAAIH,OAAO,KAAK,CAAC,EAAE;UACjBQ,aAAa,CAACF,UAAU,CAAC;QAC3B,CAAC,MAAM;UACLL,UAAU,CAACD,OAAO,GAAG,CAAC,CAAC;UACvBI,UAAU,CAAC,EAAE,CAAC;QAChB;MACF;IACF,CAAC,EAAE,IAAI,CAAC;IACR,OAAO,MAAM;MACXI,aAAa,CAACF,UAAU,CAAC;IAC3B,CAAC;EACH,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGA,CAAA,KAAM;IACvB,IAAI,CAACT,OAAO,IAAI,CAACG,OAAO,EAAE;MACxBF,UAAU,CAACH,aAAa,CAAC;MACzBM,UAAU,CAACL,cAAc,CAAC;IAC5B;EACF,CAAC;EAED,MAAMW,KAAK,GACTV,OAAO,KAAK,CAAC,IAAIG,OAAO,KAAK,CAAC,GAC1B,IAAI,GACJ,GAAGH,OAAO,KAAKG,OAAO,GAAG,EAAE,GAAG,IAAIA,OAAO,EAAE,GAAGA,OAAO,EAAE;EAE7D,OAAO,CAACO,KAAK,EAAED,UAAU,CAAC;AAC5B,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEajB,QAAQ","ignoreList":[]}
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":[]}