@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.
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 +270 -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 +264 -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 +255 -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 +296 -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
@@ -1 +1 @@
1
- {"version":3,"names":["LocationManager","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","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","CAPTURE_INPUT","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","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","maskContact","contact","includes","domain","split","maskedName","maskedEmail","slice"],"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","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","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","CAPTURE_INPUT","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","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","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"],"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,4 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ import { createContext } from 'react';
3
+ export const ValidateOTPContext = /*#__PURE__*/createContext(null);
4
+ //# sourceMappingURL=valdiateOTPContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","ValidateOTPContext"],"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":"AAAA;AACA,SAASA,aAAa,QAAQ,OAAO;AAIrC,OAAO,MAAMC,kBAAkB,gBAAGD,aAAa,CAGrC,IAAI,CAAC","ignoreList":[]}
@@ -4,6 +4,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import Network from '../resources/network';
6
6
  import { DispatchExecutor as dispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';
7
+
7
8
  /**
8
9
  *
9
10
  * @class Helper
@@ -1 +1 @@
1
- {"version":3,"names":["Network","DispatchExecutor","dispatchExecutor","Helper","getInstance","instance","checkNetwork","heartBeat","e","isSelfLoopExistOnET","workflowId","sourceTaskName","console","log","isSelfLoopExist","dummyETTransitionObj","targetTaskName","condition","transitionsFromCurrentET","queryWorkflowTransitionData","outerLoop","obj","toLocaleLowerCase","toLowerCase","JSON","stringify","_Helper","_defineProperty"],"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,OAAOA,OAAO,MAAM,sBAAsB;AAC1C,SAASC,gBAAgB,IAAIC,gBAAgB,QAAQ,oDAAoD;AAGzG;AACA;AACA;AACA;AACA,eAAe,MAAMC,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,MAAMN,OAAO,CAACO,SAAS,CAAC,CAAC;MACzB,OAAO,IAAI;IACb,CAAC,CAAC,OAAOC,CAAM,EAAE;MACf;MACA,OAAO,KAAK;IACd;EACF;EAGA,MAAMC,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,MAAMhB,gBAAgB,CAACiB,2BAA2B,CAACT,UAAU,EAAEC,cAAc,CAAC;MAE/GS,SAAS,EAAE,KAAK,MAAMC,GAAG,IAAIH,wBAAwB,IAAIH,oBAAoB,EAAE;QAC7E,IAAKM,GAAG,CAACL,cAAc,CAAYM,iBAAiB,CAAC,CAAC,KAAKX,cAAc,CAACY,WAAW,CAAC,CAAC,EAAE;UACvFT,eAAe,GAAG,IAAI;UACtB,MAAMM,SAAS;QACjB;MACF;;MAEA;MACA;MACA;MACA;MACA;MACA;MACA,OAAON,eAAe;IACxB,CAAC,CAAC,OAAON,CAAM,EAAE;MACfI,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEW,IAAI,CAACC,SAAS,CAACjB,CAAC,CAAC,CAAC;MAC3D,OAAO,KAAK;IACd;EACF;AAEF;AAACkB,OAAA,GAzDoBvB,MAAM;AAAAwB,eAAA,CAANxB,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["Network","DispatchExecutor","dispatchExecutor","Helper","getInstance","instance","checkNetwork","heartBeat","e","isSelfLoopExistOnET","workflowId","sourceTaskName","console","log","isSelfLoopExist","dummyETTransitionObj","targetTaskName","condition","transitionsFromCurrentET","queryWorkflowTransitionData","outerLoop","obj","toLocaleLowerCase","toLowerCase","JSON","stringify","_Helper","_defineProperty"],"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,OAAOA,OAAO,MAAM,sBAAsB;AAC1C,SAASC,gBAAgB,IAAIC,gBAAgB,QAAQ,oDAAoD;;AAEzG;AACA;AACA;AACA;AACA,eAAe,MAAMC,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,MAAMN,OAAO,CAACO,SAAS,CAAC,CAAC;MACzB,OAAO,IAAI;IACb,CAAC,CAAC,OAAOC,CAAM,EAAE;MACf;MACA,OAAO,KAAK;IACd;EACF;EAGA,MAAMC,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,MAAMhB,gBAAgB,CAACiB,2BAA2B,CAACT,UAAU,EAAEC,cAAc,CAAC;MAE/GS,SAAS,EAAE,KAAK,MAAMC,GAAG,IAAIH,wBAAwB,IAAIH,oBAAoB,EAAE;QAC7E,IAAKM,GAAG,CAACL,cAAc,CAAYM,iBAAiB,CAAC,CAAC,KAAKX,cAAc,CAACY,WAAW,CAAC,CAAC,EAAE;UACvFT,eAAe,GAAG,IAAI;UACtB,MAAMM,SAAS;QACjB;MACF;;MAEA;MACA;MACA;MACA;MACA;MACA;MACA,OAAON,eAAe;IACxB,CAAC,CAAC,OAAON,CAAM,EAAE;MACfI,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEW,IAAI,CAACC,SAAS,CAACjB,CAAC,CAAC,CAAC;MAC3D,OAAO,KAAK;IACd;EACF;AAEF;AAACkB,OAAA,GAzDoBvB,MAAM;AAAAwB,eAAA,CAANxB,MAAM","ignoreList":[]}
@@ -1,37 +1,74 @@
1
- import { useEffect, useState } from 'react';
2
- const useTimer = props => {
3
- const {
4
- initialMinute = 0,
5
- initialSeconds = 0
6
- } = props;
7
- const [minutes, setMinutes] = useState(initialMinute);
8
- const [seconds, setSeconds] = useState(initialSeconds);
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ import { useCallback, useEffect, useRef, useState } from 'react';
3
+ import { AppState } from 'react-native';
4
+
5
+ // Function to format the expiry time (without showing '0 sec' when it's unnecessary)
6
+ export const formatExpiryTime = timeInSeconds => {
7
+ const minutes = Math.floor(timeInSeconds / 60);
8
+ const seconds = timeInSeconds % 60;
9
+ if (minutes > 0 && seconds > 0) {
10
+ return `${minutes} min ${seconds} sec`;
11
+ } else if (minutes > 0 && seconds === 0) {
12
+ return `${minutes} min`;
13
+ } else {
14
+ return `${seconds} sec`;
15
+ }
16
+ };
17
+ const useResendOtpTimer = (initialTimerValue, onTimerEnd) => {
18
+ const [timer, setTimer] = useState(initialTimerValue);
19
+ const appState = useRef(AppState.currentState);
20
+ const initialTimeRef = useRef(Date.now());
21
+ const resetTimer = useCallback(() => {
22
+ initialTimeRef.current = Date.now();
23
+ setTimer(initialTimerValue);
24
+ }, [initialTimerValue]);
25
+ const updateTimer = useCallback(() => {
26
+ const currentTime = Date.now();
27
+ const elapsedTimeInSeconds = Math.floor((currentTime - initialTimeRef.current) / 1000);
28
+ const remainingTime = Math.max(0, initialTimerValue - elapsedTimeInSeconds);
29
+ if (remainingTime !== timer) {
30
+ setTimer(remainingTime);
31
+ }
32
+ if (remainingTime === 0 && onTimerEnd) {
33
+ onTimerEnd();
34
+ }
35
+ }, [initialTimerValue, onTimerEnd, timer]);
9
36
  useEffect(() => {
10
- let myInterval = setInterval(() => {
11
- if (seconds > 0) {
12
- setSeconds(seconds - 1);
13
- }
14
- if (seconds === 0) {
15
- if (minutes === 0) {
16
- clearInterval(myInterval);
17
- } else {
18
- setMinutes(minutes - 1);
19
- setSeconds(59);
20
- }
37
+ resetTimer();
38
+ }, [initialTimerValue, resetTimer]);
39
+ useEffect(() => {
40
+ // Update the timer immediately on mount
41
+ updateTimer();
42
+ const intervalId = setInterval(updateTimer, 1000);
43
+ return () => clearInterval(intervalId);
44
+ }, [updateTimer]);
45
+ useEffect(() => {
46
+ const handleAppStateChange = nextAppState => {
47
+ if (appState.current.match(/inactive|background/) && nextAppState === 'active') {
48
+ // Calculate elapsed time and adjust the initial time reference
49
+ const currentTime = Date.now();
50
+ const elapsedTimeInSeconds = Math.floor((currentTime - initialTimeRef.current) / 1000);
51
+ const newRemainingTime = Math.max(0, initialTimerValue - elapsedTimeInSeconds);
52
+
53
+ // Update initial time ref based on new remaining time
54
+ initialTimeRef.current = currentTime - (initialTimerValue - newRemainingTime) * 1000;
55
+
56
+ // Update the timer
57
+ setTimer(newRemainingTime);
58
+ updateTimer();
21
59
  }
22
- }, 1000);
60
+ appState.current = nextAppState;
61
+ };
62
+ const subscription = AppState.addEventListener('change', handleAppStateChange);
23
63
  return () => {
24
- clearInterval(myInterval);
64
+ subscription.remove();
25
65
  };
26
- });
27
- const resetTimer = () => {
28
- if (!minutes && !seconds) {
29
- setMinutes(initialMinute);
30
- setSeconds(initialSeconds);
31
- }
66
+ }, [updateTimer, initialTimerValue]);
67
+ return {
68
+ formattedTime: formatExpiryTime(timer),
69
+ timer: timer,
70
+ resetTimer
32
71
  };
33
- const timer = minutes === 0 && seconds === 0 ? null : `${minutes}: ${seconds < 10 ? `0${seconds}` : seconds}`;
34
- return [timer, resetTimer];
35
72
  };
36
- export default useTimer;
73
+ export default useResendOtpTimer;
37
74
  //# sourceMappingURL=useTimer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","useTimer","props","initialMinute","initialSeconds","minutes","setMinutes","seconds","setSeconds","myInterval","setInterval","clearInterval","resetTimer","timer"],"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,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE3C,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,GAAGN,QAAQ,CAACG,aAAa,CAAC;EACrD,MAAM,CAACI,OAAO,EAAEC,UAAU,CAAC,GAAGR,QAAQ,CAACI,cAAc,CAAC;EACtDL,SAAS,CAAC,MAAM;IACd,IAAIU,UAAU,GAAGC,WAAW,CAAC,MAAM;MACjC,IAAIH,OAAO,GAAG,CAAC,EAAE;QACfC,UAAU,CAACD,OAAO,GAAG,CAAC,CAAC;MACzB;MACA,IAAIA,OAAO,KAAK,CAAC,EAAE;QACjB,IAAIF,OAAO,KAAK,CAAC,EAAE;UACjBM,aAAa,CAACF,UAAU,CAAC;QAC3B,CAAC,MAAM;UACLH,UAAU,CAACD,OAAO,GAAG,CAAC,CAAC;UACvBG,UAAU,CAAC,EAAE,CAAC;QAChB;MACF;IACF,CAAC,EAAE,IAAI,CAAC;IACR,OAAO,MAAM;MACXG,aAAa,CAACF,UAAU,CAAC;IAC3B,CAAC;EACH,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGA,CAAA,KAAM;IACvB,IAAI,CAACP,OAAO,IAAI,CAACE,OAAO,EAAE;MACxBD,UAAU,CAACH,aAAa,CAAC;MACzBK,UAAU,CAACJ,cAAc,CAAC;IAC5B;EACF,CAAC;EAED,MAAMS,KAAK,GACTR,OAAO,KAAK,CAAC,IAAIE,OAAO,KAAK,CAAC,GAC1B,IAAI,GACJ,GAAGF,OAAO,KAAKE,OAAO,GAAG,EAAE,GAAG,IAAIA,OAAO,EAAE,GAAGA,OAAO,EAAE;EAE7D,OAAO,CAACM,KAAK,EAAED,UAAU,CAAC;AAC5B,CAAC;AAED,eAAeX,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","AppState","formatExpiryTime","timeInSeconds","minutes","Math","floor","seconds","useResendOtpTimer","initialTimerValue","onTimerEnd","timer","setTimer","appState","currentState","initialTimeRef","Date","now","resetTimer","current","updateTimer","currentTime","elapsedTimeInSeconds","remainingTime","max","intervalId","setInterval","clearInterval","handleAppStateChange","nextAppState","match","newRemainingTime","subscription","addEventListener","remove","formattedTime"],"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":[]}
@@ -96,8 +96,8 @@ export declare const PaymentStyles: {
96
96
  };
97
97
  overlay: {
98
98
  position: "absolute";
99
- width: string;
100
- height: string;
99
+ width: "100%";
100
+ height: "100%";
101
101
  justifyContent: "center";
102
102
  alignItems: "center";
103
103
  backgroundColor: string;
@@ -106,7 +106,7 @@ export declare const PaymentStyles: {
106
106
  position: "absolute";
107
107
  alignSelf: "center";
108
108
  bottom: number;
109
- width: string;
109
+ width: "95%";
110
110
  borderRadius: number;
111
111
  };
112
112
  };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * Unique identifier for the item
4
3
  */
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ModalHookProps } from '../../../utils/hooks/useModal';
3
2
  interface UndeliveredShipmentModalInput {
4
3
  pendingCount: number;
@@ -1,4 +1,4 @@
1
- import React from 'react';
2
- import type { ValidateOTPInput } from './ValidateOTPSchema';
3
- declare const ValidateOTPET: (props: ValidateOTPInput) => React.JSX.Element | null;
1
+ import { FC } from 'react';
2
+ import { type ValidateOTPInput } from './ValidateOTPSchema';
3
+ declare const ValidateOTPET: FC<ValidateOTPInput>;
4
4
  export default ValidateOTPET;
@@ -1,6 +1,7 @@
1
1
  import type { HTTPRequestBody, PathParams, QueryParams } from '../../../utils/ApiUtils';
2
2
  import type { BaseETRequest, BaseETResponse } from '../../../models/execTasks/ETBaseModels';
3
3
  import type { Headers, HTTPMethod } from '../httpRequest/HttpRequestETSchema';
4
+ import { SnackBarType } from 'src/components/widgets/SnackBarCustom';
4
5
  export interface API {
5
6
  uri: string;
6
7
  timeout?: number;
@@ -9,8 +10,10 @@ export interface API {
9
10
  requestBody?: HTTPRequestBody;
10
11
  queryParams?: QueryParams[];
11
12
  pathParams?: PathParams[];
12
- responseJsonLogic: object;
13
- errorJsonLogic: object;
13
+ responseJsonPath: string | object;
14
+ errorJsonPath: string | object;
15
+ errorJsonLogic?: object | string;
16
+ responseJsonLogic?: object | string;
14
17
  }
15
18
  export type ValidationRegex = string;
16
19
  export interface RetryConfig {
@@ -26,7 +29,8 @@ export interface GenerationLogic {
26
29
  }
27
30
  export declare enum InputType {
28
31
  STRING = "string",
29
- NUMBER = "number"
32
+ NUMBER = "number",
33
+ NUMERIC = "numeric"
30
34
  }
31
35
  export interface CaptureInput {
32
36
  inputType: InputType;
@@ -45,10 +49,170 @@ export interface Validation {
45
49
  selectedIndex: number;
46
50
  logic: Logic;
47
51
  }
48
- export type ValidateOTPInput = BaseETRequest & {
52
+ export declare enum OtpDeliveryMethodTypes {
53
+ PHONE = "Phone",
54
+ EMAIL = "Email",
55
+ BOTH = "Both"
56
+ }
57
+ export interface ResendOTPConfigType {
58
+ buttonTitle?: string;
59
+ enableResends: boolean;
60
+ enableDelay: number;
61
+ maxResends: number;
62
+ }
63
+ export type GenerateOtpPayloadType = {
64
+ refId: string;
65
+ jobId: string;
66
+ objectiveId: string;
67
+ contactInfo: {
68
+ id: string;
69
+ mode: 'PHONE' | 'EMAIL' | string;
70
+ type: 'PRIMARY' | 'SECONDARY' | string;
71
+ index: number;
72
+ };
73
+ pathParams?: PathParams[];
74
+ meta: string | object;
75
+ };
76
+ export interface ResendOTPPayloadType {
77
+ refId: string;
78
+ meta: string | object;
79
+ contactInfo?: {
80
+ id: string;
81
+ mode: 'PHONE' | 'EMAIL' | string;
82
+ type: 'PRIMARY' | 'SECONDARY' | string;
83
+ index: number;
84
+ };
85
+ }
86
+ export type ResponseType = {
87
+ status: boolean;
88
+ data: {
89
+ result: {
90
+ resendCount: number;
91
+ retryCount: number;
92
+ message: string;
93
+ };
94
+ };
95
+ };
96
+ export type ErrorResponseType = {
97
+ code: string;
98
+ description: string;
99
+ additionalInfo: {
100
+ resendCount: number;
101
+ retryCount: number;
102
+ message: string;
103
+ };
104
+ };
105
+ export type PhoneType = {
106
+ number: string | null;
107
+ countryCode: string | null;
108
+ isMobile: boolean | null;
109
+ muteNotif: boolean | null;
110
+ areaCode?: string | null;
111
+ };
112
+ export type EmailType = {
113
+ id: string | null;
114
+ muteNotif: boolean | null;
115
+ };
116
+ export type EmailAndPhoneResponse = {
117
+ id: string;
118
+ name: string;
119
+ phone: PhoneType;
120
+ email: string | null;
121
+ additionalPhone: PhoneType[] | null;
122
+ primaryEmail: EmailType | null;
123
+ additionalEmail: EmailType[] | null;
124
+ };
125
+ export interface ContactType {
126
+ id: string;
127
+ mode: 'PHONE' | 'EMAIL' | string;
128
+ type: 'PRIMARY' | 'SECONDARY' | string;
129
+ index: number;
130
+ value: string;
131
+ orderId?: string | undefined | null;
132
+ }
133
+ export type ContactTypes = ContactType & {
134
+ orderFrom?: string;
135
+ contactId?: string;
136
+ isSelected?: boolean;
137
+ };
138
+ export interface OtpInputConfigType {
139
+ inputType: InputType;
140
+ length: number;
141
+ validationRegex: string;
142
+ }
143
+ export interface SetSnackBarType {
144
+ show: boolean;
145
+ message: string;
146
+ type: SnackBarType;
147
+ }
148
+ export type OTPViewPropTypes = BaseETRequest & {
149
+ errorMessage: string;
150
+ handleBackNavigation: () => void;
151
+ setCurrentScreen: (screen: string) => void;
152
+ setPrevScreen: (screen: string) => void;
153
+ isContactVisited: boolean;
154
+ selectedContact: ContactTypes;
155
+ otpInputConfig: OtpInputConfigType;
156
+ otpCode: string;
157
+ setOTPCode: (otp: string) => void;
158
+ hasError: boolean;
159
+ setHasError: (value: boolean) => void;
160
+ setErrorMessage: (screen: string) => void;
161
+ loading: boolean;
162
+ setLoading: (value: boolean) => void;
163
+ setSnackBar: (values: SetSnackBarType) => void;
164
+ resendConfig: ResendOTPConfigType;
165
+ resendCount: number;
166
+ setResendCount: React.Dispatch<React.SetStateAction<number>>;
167
+ domain: string;
168
+ };
169
+ export type ContactListViewPropTypes = BaseETRequest & {
170
+ handleBackNavigation: () => boolean;
171
+ handleSelectContact: (contactDetails: ContactTypes) => void;
172
+ contactList: ContactTypes[];
173
+ setIsContactVisited: (value: boolean) => void;
174
+ domain: string;
175
+ };
176
+ export type OTP_CONFIG_TYPE = 'OS1 Configured API' | 'Custom';
177
+ export declare enum ValidationType {
178
+ ONLINE = "Online (from API)",
179
+ OFFLINE = "Offline (from Job)"
180
+ }
181
+ export type OTP_VALIDATION_TYPE = ValidationType.OFFLINE | ValidationType.ONLINE;
182
+ export type ValidateOTPInput = BaseETRequest & OTPViewPropTypes & ContactListViewPropTypes & {
49
183
  generationLogic?: GenerationLogic;
50
184
  captureInput: CaptureInput;
51
185
  validation: Validation;
52
186
  onSubmitET: (validateOTPOutput: ValidateOTPOutput) => void;
187
+ otpLength: number;
188
+ inputType: InputType;
189
+ generateMessage: string;
190
+ validateMessage: string;
191
+ allowCancel?: boolean;
192
+ restrictCancel?: boolean;
193
+ allowBack?: boolean;
194
+ doorstepOTP: boolean;
195
+ otpDeliveryMethod: OtpDeliveryMethodTypes;
196
+ resendOTP: ResendOTPConfigType;
197
+ contacts: ContactType[] | any[];
198
+ otpConfig: OTP_CONFIG_TYPE;
199
+ resendApi: API;
200
+ otpGeneration: API;
201
+ validationApi: API;
202
+ offlineOtpValue: string | number;
203
+ showSummary: boolean;
204
+ verifyFor: string;
205
+ validateFor: string;
206
+ jobId: string;
207
+ orderData: any[];
208
+ workflowId: string;
209
+ refId: string;
210
+ maxRetries: number;
211
+ otpValidation: OTP_VALIDATION_TYPE;
212
+ progressGroup: string;
213
+ reattemptId: number;
214
+ isSelfLoop: boolean;
215
+ };
216
+ export type ValidateOTPOutput = BaseETResponse & {
217
+ retryCount: number;
53
218
  };
54
- export type ValidateOTPOutput = BaseETResponse;