@os1-platform/dispatch-mobile 2.0.8 → 2.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 (565) hide show
  1. package/dispatch-mobile.podspec +35 -0
  2. package/ios/DispatchSdk-Bridging-Header.h +3 -0
  3. package/ios/DispatchSdk.m +9 -0
  4. package/ios/DispatchSdk.swift +8 -0
  5. package/ios/DispatchSdk.xcodeproj/project.pbxproj +317 -0
  6. package/ios/EventEmitter.swift +21 -0
  7. package/ios/EventsConstant.swift +13 -0
  8. package/ios/RNEventEmitter.m +15 -0
  9. package/ios/RNEventEmitter.swift +24 -0
  10. package/lib/commonjs/components/dispatch/DispatchExecNavigator.js +3 -4
  11. package/lib/commonjs/components/dispatch/DispatchExecNavigator.js.map +1 -1
  12. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js +13 -8
  13. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js.map +1 -1
  14. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js +3 -4
  15. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js.map +1 -1
  16. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js +3 -4
  17. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js.map +1 -1
  18. package/lib/commonjs/components/executiontasks/deliver/DeliverETInput.js.map +1 -1
  19. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js +100 -24
  20. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  21. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js +7 -8
  22. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js.map +1 -1
  23. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +36 -13
  24. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
  25. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js +3 -4
  26. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js.map +1 -1
  27. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js +6 -7
  28. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  29. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +5 -6
  30. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
  31. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js +4 -5
  32. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  33. package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js +3 -4
  34. package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js.map +1 -1
  35. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +3 -4
  36. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
  37. package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js +3 -4
  38. package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js.map +1 -1
  39. package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js +3 -4
  40. package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js.map +1 -1
  41. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +136 -22
  42. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  43. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +8 -8
  44. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  45. package/lib/commonjs/components/executiontasks/payments/PaymentStyles.js +6 -7
  46. package/lib/commonjs/components/executiontasks/payments/PaymentStyles.js.map +1 -1
  47. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js +5 -6
  48. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
  49. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js +3 -4
  50. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
  51. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js +3 -4
  52. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
  53. package/lib/commonjs/components/executiontasks/pickup/PickpSchema.js.map +1 -1
  54. package/lib/commonjs/components/executiontasks/pickup/PickupET.js +3 -4
  55. package/lib/commonjs/components/executiontasks/pickup/PickupET.js.map +1 -1
  56. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js +84 -14
  57. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  58. package/lib/commonjs/components/executiontasks/scan/ScanET.js +14 -15
  59. package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
  60. package/lib/commonjs/components/executiontasks/scan/ScanSchema.js +1 -2
  61. package/lib/commonjs/components/executiontasks/scan/ScanSchema.js.map +1 -1
  62. package/lib/commonjs/components/executiontasks/scan/constants.js +6 -12
  63. package/lib/commonjs/components/executiontasks/scan/constants.js.map +1 -1
  64. package/lib/commonjs/components/executiontasks/scan/interfaces.js +4 -8
  65. package/lib/commonjs/components/executiontasks/scan/interfaces.js.map +1 -1
  66. package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js +4 -5
  67. package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
  68. package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js +5 -6
  69. package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
  70. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js +8 -9
  71. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  72. package/lib/commonjs/components/executiontasks/scan/utils.js +2 -2
  73. package/lib/commonjs/components/executiontasks/scan/utils.js.map +1 -1
  74. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +8 -9
  75. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  76. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js +1 -2
  77. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
  78. package/lib/commonjs/components/executiontasks/validateOTP/constants.js +6 -12
  79. package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
  80. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js +5 -6
  81. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  82. package/lib/commonjs/components/executiontasks/validateOTP/utils.js +2 -2
  83. package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
  84. package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js +2 -2
  85. package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js.map +1 -1
  86. package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js +3 -4
  87. package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js.map +1 -1
  88. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js +3 -4
  89. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
  90. package/lib/commonjs/components/widgets/AlertDisplay.js +14 -9
  91. package/lib/commonjs/components/widgets/AlertDisplay.js.map +1 -1
  92. package/lib/commonjs/components/widgets/CancelOrderDialog.js +5 -6
  93. package/lib/commonjs/components/widgets/CancelOrderDialog.js.map +1 -1
  94. package/lib/commonjs/components/widgets/Card.js +2 -3
  95. package/lib/commonjs/components/widgets/Card.js.map +1 -1
  96. package/lib/commonjs/components/widgets/GoBackModal.js +1 -2
  97. package/lib/commonjs/components/widgets/GoBackModal.js.map +1 -1
  98. package/lib/commonjs/components/widgets/IconButton.js +1 -2
  99. package/lib/commonjs/components/widgets/IconButton.js.map +1 -1
  100. package/lib/commonjs/components/widgets/ModalWidget.js +3 -4
  101. package/lib/commonjs/components/widgets/ModalWidget.js.map +1 -1
  102. package/lib/commonjs/components/widgets/ProgressDialog.js +2 -3
  103. package/lib/commonjs/components/widgets/ProgressDialog.js.map +1 -1
  104. package/lib/commonjs/components/widgets/SearchBar.js +1 -2
  105. package/lib/commonjs/components/widgets/SearchBar.js.map +1 -1
  106. package/lib/commonjs/components/widgets/SnackBarCustom.js +3 -5
  107. package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
  108. package/lib/commonjs/components/widgets/SplitTextInput.js +3 -4
  109. package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
  110. package/lib/commonjs/components/widgets/TabsComponent.js +3 -4
  111. package/lib/commonjs/components/widgets/TabsComponent.js.map +1 -1
  112. package/lib/commonjs/config/DispatchSDKConfig.js +1 -2
  113. package/lib/commonjs/config/DispatchSDKConfig.js.map +1 -1
  114. package/lib/commonjs/constants/apiConstants.js +2 -4
  115. package/lib/commonjs/constants/apiConstants.js.map +1 -1
  116. package/lib/commonjs/constants/constants.js +11 -22
  117. package/lib/commonjs/constants/constants.js.map +1 -1
  118. package/lib/commonjs/constants/statuscode.js +1 -2
  119. package/lib/commonjs/constants/statuscode.js.map +1 -1
  120. package/lib/commonjs/errors/ErrorCodes.js +7 -14
  121. package/lib/commonjs/errors/ErrorCodes.js.map +1 -1
  122. package/lib/commonjs/events/EventDispatcher.js +5 -3
  123. package/lib/commonjs/events/EventDispatcher.js.map +1 -1
  124. package/lib/commonjs/events/EventListener.js +1 -2
  125. package/lib/commonjs/events/EventListener.js.map +1 -1
  126. package/lib/commonjs/events/constants.js +1 -2
  127. package/lib/commonjs/events/constants.js.map +1 -1
  128. package/lib/commonjs/events/index.js +1 -2
  129. package/lib/commonjs/events/index.js.map +1 -1
  130. package/lib/commonjs/icons/ScanIcon.js +1 -2
  131. package/lib/commonjs/icons/ScanIcon.js.map +1 -1
  132. package/lib/commonjs/icons/circleMark.svg +3 -0
  133. package/lib/commonjs/icons/file.js +1 -2
  134. package/lib/commonjs/icons/file.js.map +1 -1
  135. package/lib/commonjs/index.js +8 -2
  136. package/lib/commonjs/index.js.map +1 -1
  137. package/lib/commonjs/locale/Str.js +3 -3
  138. package/lib/commonjs/locale/Str.js.map +1 -1
  139. package/lib/commonjs/locale/i18n.js +6 -3
  140. package/lib/commonjs/locale/i18n.js.map +1 -1
  141. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +5 -3
  142. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
  143. package/lib/commonjs/manager/dispatchCodes/EventCodeContainer.js +2 -0
  144. package/lib/commonjs/manager/dispatchCodes/EventCodeContainer.js.map +1 -1
  145. package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js +4 -2
  146. package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
  147. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js +4 -2
  148. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  149. package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js +4 -2
  150. package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
  151. package/lib/commonjs/manager/location/LocationManager.js +7 -4
  152. package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
  153. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +4 -2
  154. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  155. package/lib/commonjs/manager/sdk/DispatchSdkCache.js +2 -0
  156. package/lib/commonjs/manager/sdk/DispatchSdkCache.js.map +1 -1
  157. package/lib/commonjs/manager/sdk/callbacksHandler.js +1 -2
  158. package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
  159. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +4 -2
  160. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  161. package/lib/commonjs/manager/syncmanager/DBConfig.js +15 -26
  162. package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
  163. package/lib/commonjs/manager/syncmanager/NativeSyncManager.js +1 -2
  164. package/lib/commonjs/manager/syncmanager/NativeSyncManager.js.map +1 -1
  165. package/lib/commonjs/manager/syncmanager/constants.js +5 -10
  166. package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
  167. package/lib/commonjs/manager/syncmanager/database.js +2 -2
  168. package/lib/commonjs/manager/syncmanager/database.js.map +1 -1
  169. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +5 -4
  170. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  171. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +4 -2
  172. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  173. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +4 -2
  174. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  175. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +15 -3
  176. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  177. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +4 -2
  178. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  179. package/lib/commonjs/models/DispatchModels.js +1 -2
  180. package/lib/commonjs/models/DispatchModels.js.map +1 -1
  181. package/lib/commonjs/models/execTasks/ETConfig.js +6 -12
  182. package/lib/commonjs/models/execTasks/ETConfig.js.map +1 -1
  183. package/lib/commonjs/models/fcm.js.map +1 -1
  184. package/lib/commonjs/models/sdk.js +1 -2
  185. package/lib/commonjs/models/sdk.js.map +1 -1
  186. package/lib/commonjs/native/signature/SignatureCapture.js +1 -2
  187. package/lib/commonjs/native/signature/SignatureCapture.js.map +1 -1
  188. package/lib/commonjs/network/GraphQLClient.js +48 -4
  189. package/lib/commonjs/network/GraphQLClient.js.map +1 -1
  190. package/lib/commonjs/network/Queries.js +5 -10
  191. package/lib/commonjs/network/Queries.js.map +1 -1
  192. package/lib/commonjs/res/strings.js +1 -2
  193. package/lib/commonjs/res/strings.js.map +1 -1
  194. package/lib/commonjs/resources/Login.js +1 -2
  195. package/lib/commonjs/resources/Login.js.map +1 -1
  196. package/lib/commonjs/resources/network.js +1 -2
  197. package/lib/commonjs/resources/network.js.map +1 -1
  198. package/lib/commonjs/styles/SdkColors.js +2 -4
  199. package/lib/commonjs/styles/SdkColors.js.map +1 -1
  200. package/lib/commonjs/styles/executionTasks/CommonStyles.js +6 -10
  201. package/lib/commonjs/styles/executionTasks/CommonStyles.js.map +1 -1
  202. package/lib/commonjs/ui/screens/CancellationScreen.js +3 -4
  203. package/lib/commonjs/ui/screens/CancellationScreen.js.map +1 -1
  204. package/lib/commonjs/ui/screens/CaptureInputScreen.js +5 -5
  205. package/lib/commonjs/ui/screens/CaptureInputScreen.js.map +1 -1
  206. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +3 -4
  207. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  208. package/lib/commonjs/ui/screens/DeliverScreen.js +12 -5
  209. package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
  210. package/lib/commonjs/ui/screens/DisplayScreen.js +3 -4
  211. package/lib/commonjs/ui/screens/DisplayScreen.js.map +1 -1
  212. package/lib/commonjs/ui/screens/DoodleScreen.js +5 -5
  213. package/lib/commonjs/ui/screens/DoodleScreen.js.map +1 -1
  214. package/lib/commonjs/ui/screens/DropCashScreen.js +5 -5
  215. package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
  216. package/lib/commonjs/ui/screens/FormsScreen.js +3 -4
  217. package/lib/commonjs/ui/screens/FormsScreen.js.map +1 -1
  218. package/lib/commonjs/ui/screens/GeofenceScreen.js +3 -4
  219. package/lib/commonjs/ui/screens/GeofenceScreen.js.map +1 -1
  220. package/lib/commonjs/ui/screens/HttpRequestScreen.js +1 -2
  221. package/lib/commonjs/ui/screens/HttpRequestScreen.js.map +1 -1
  222. package/lib/commonjs/ui/screens/ImageCaptureScreen.js +3 -4
  223. package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
  224. package/lib/commonjs/ui/screens/PaymentScreen.js +6 -6
  225. package/lib/commonjs/ui/screens/PaymentScreen.js.map +1 -1
  226. package/lib/commonjs/ui/screens/PickupScreen.js +7 -5
  227. package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
  228. package/lib/commonjs/ui/screens/ScanScreen.js +3 -4
  229. package/lib/commonjs/ui/screens/ScanScreen.js.map +1 -1
  230. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +8 -7
  231. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
  232. package/lib/commonjs/ui/screens/ValidateOTPScreen.js +3 -4
  233. package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
  234. package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js +4 -4
  235. package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js.map +1 -1
  236. package/lib/commonjs/ui/uiConfig/RouteParams.js +1 -2
  237. package/lib/commonjs/ui/uiConfig/RouteParams.js.map +1 -1
  238. package/lib/commonjs/utils/ApiUtils.js +2 -4
  239. package/lib/commonjs/utils/ApiUtils.js.map +1 -1
  240. package/lib/commonjs/utils/Logger.js +10 -9
  241. package/lib/commonjs/utils/Logger.js.map +1 -1
  242. package/lib/commonjs/utils/NetworkUtil.js +1 -2
  243. package/lib/commonjs/utils/NetworkUtil.js.map +1 -1
  244. package/lib/commonjs/utils/SdkUtils.js +12 -8
  245. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  246. package/lib/commonjs/utils/SyncManagerUtils.js +2 -2
  247. package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
  248. package/lib/commonjs/utils/fcm/FCM.js +3 -4
  249. package/lib/commonjs/utils/fcm/FCM.js.map +1 -1
  250. package/lib/commonjs/utils/fcm/FcmUtils.js +14 -2
  251. package/lib/commonjs/utils/fcm/FcmUtils.js.map +1 -1
  252. package/lib/commonjs/utils/helper.js +1 -2
  253. package/lib/commonjs/utils/helper.js.map +1 -1
  254. package/lib/commonjs/utils/hooks/useModal.js +3 -4
  255. package/lib/commonjs/utils/hooks/useModal.js.map +1 -1
  256. package/lib/commonjs/utils/hooks/useTimer.js +1 -2
  257. package/lib/commonjs/utils/hooks/useTimer.js.map +1 -1
  258. package/lib/commonjs/utils/loginHelper.js +1 -2
  259. package/lib/commonjs/utils/loginHelper.js.map +1 -1
  260. package/lib/commonjs/utils/storage.js +71 -13
  261. package/lib/commonjs/utils/storage.js.map +1 -1
  262. package/lib/module/components/dispatch/DispatchExecNavigator.js.map +1 -1
  263. package/lib/module/components/executiontasks/cancellation/CancelET.js +11 -5
  264. package/lib/module/components/executiontasks/cancellation/CancelET.js.map +1 -1
  265. package/lib/module/components/executiontasks/deliver/DeliverETInput.js.map +1 -1
  266. package/lib/module/components/executiontasks/deliver/SLDeliverET.js +99 -21
  267. package/lib/module/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  268. package/lib/module/components/executiontasks/display/DisplayModalET.js +5 -5
  269. package/lib/module/components/executiontasks/display/DisplayModalET.js.map +1 -1
  270. package/lib/module/components/executiontasks/doodle/SignatureET.js +34 -10
  271. package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
  272. package/lib/module/components/executiontasks/dropCash/SLDropCash.js +4 -4
  273. package/lib/module/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  274. package/lib/module/components/executiontasks/forms/FormGenerator.js +3 -3
  275. package/lib/module/components/executiontasks/forms/FormGenerator.js.map +1 -1
  276. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js +1 -1
  277. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  278. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +131 -18
  279. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  280. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +3 -3
  281. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  282. package/lib/module/components/executiontasks/payments/PaymentStyles.js +6 -6
  283. package/lib/module/components/executiontasks/payments/PaymentStyles.js.map +1 -1
  284. package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js +3 -3
  285. package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
  286. package/lib/module/components/executiontasks/pickup/PickpSchema.js.map +1 -1
  287. package/lib/module/components/executiontasks/pickup/SLPickupET.js +82 -11
  288. package/lib/module/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  289. package/lib/module/components/executiontasks/scan/ScanET.js +12 -12
  290. package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
  291. package/lib/module/components/executiontasks/scan/sub_components/CScanner.js +2 -2
  292. package/lib/module/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
  293. package/lib/module/components/executiontasks/scan/sub_components/ERDropDown.js +3 -3
  294. package/lib/module/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
  295. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js +6 -6
  296. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  297. package/lib/module/components/executiontasks/scan/utils.js.map +1 -1
  298. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +6 -6
  299. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  300. package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js +3 -3
  301. package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  302. package/lib/module/components/widgets/AlertDisplay.js +12 -7
  303. package/lib/module/components/widgets/AlertDisplay.js.map +1 -1
  304. package/lib/module/components/widgets/CancelOrderDialog.js +3 -3
  305. package/lib/module/components/widgets/CancelOrderDialog.js.map +1 -1
  306. package/lib/module/components/widgets/Card.js +1 -1
  307. package/lib/module/components/widgets/Card.js.map +1 -1
  308. package/lib/module/components/widgets/ModalWidget.js +3 -3
  309. package/lib/module/components/widgets/ModalWidget.js.map +1 -1
  310. package/lib/module/components/widgets/ProgressDialog.js +2 -2
  311. package/lib/module/components/widgets/ProgressDialog.js.map +1 -1
  312. package/lib/module/components/widgets/SnackBarCustom.js +2 -2
  313. package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
  314. package/lib/module/events/EventDispatcher.js +5 -2
  315. package/lib/module/events/EventDispatcher.js.map +1 -1
  316. package/lib/module/icons/circleMark.svg +3 -0
  317. package/lib/module/index.js +2 -2
  318. package/lib/module/index.js.map +1 -1
  319. package/lib/module/locale/Str.js +2 -1
  320. package/lib/module/locale/Str.js.map +1 -1
  321. package/lib/module/locale/i18n.js +5 -1
  322. package/lib/module/locale/i18n.js.map +1 -1
  323. package/lib/module/manager/dispatch/DispatchStateContainer.js +3 -1
  324. package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
  325. package/lib/module/manager/dispatchCodes/EventCodeContainer.js +2 -0
  326. package/lib/module/manager/dispatchCodes/EventCodeContainer.js.map +1 -1
  327. package/lib/module/manager/dispatchCodes/EventCodeRepo.js +2 -0
  328. package/lib/module/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
  329. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js +2 -0
  330. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  331. package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js +2 -0
  332. package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
  333. package/lib/module/manager/location/LocationManager.js +2 -0
  334. package/lib/module/manager/location/LocationManager.js.map +1 -1
  335. package/lib/module/manager/sdk/DispatchSDKManager.js +2 -0
  336. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  337. package/lib/module/manager/sdk/DispatchSdkCache.js +2 -0
  338. package/lib/module/manager/sdk/DispatchSdkCache.js.map +1 -1
  339. package/lib/module/manager/syncmanager/AppSyncManager.js +2 -0
  340. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  341. package/lib/module/manager/syncmanager/DBConfig.js +1 -0
  342. package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
  343. package/lib/module/manager/syncmanager/document/DocumentManager.js +2 -0
  344. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  345. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +2 -0
  346. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  347. package/lib/module/manager/syncmanager/events/ETEventsManager.js +13 -1
  348. package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  349. package/lib/module/manager/syncmanager/events/EventsSyncManager.js +2 -0
  350. package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  351. package/lib/module/models/fcm.js.map +1 -1
  352. package/lib/module/network/GraphQLClient.js +48 -3
  353. package/lib/module/network/GraphQLClient.js.map +1 -1
  354. package/lib/module/ui/screens/CaptureInputScreen.js +2 -1
  355. package/lib/module/ui/screens/CaptureInputScreen.js.map +1 -1
  356. package/lib/module/ui/screens/DeliverScreen.js +9 -1
  357. package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
  358. package/lib/module/ui/screens/DoodleScreen.js +2 -1
  359. package/lib/module/ui/screens/DoodleScreen.js.map +1 -1
  360. package/lib/module/ui/screens/DropCashScreen.js +2 -2
  361. package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
  362. package/lib/module/ui/screens/PaymentScreen.js +3 -2
  363. package/lib/module/ui/screens/PaymentScreen.js.map +1 -1
  364. package/lib/module/ui/screens/PickupScreen.js +4 -1
  365. package/lib/module/ui/screens/PickupScreen.js.map +1 -1
  366. package/lib/module/ui/screens/StartWorkFlowScreen.js +6 -4
  367. package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
  368. package/lib/module/ui/screens/WithBaseDispatchScreen.js +1 -0
  369. package/lib/module/ui/screens/WithBaseDispatchScreen.js.map +1 -1
  370. package/lib/module/utils/Logger.js +2 -0
  371. package/lib/module/utils/Logger.js.map +1 -1
  372. package/lib/module/utils/SdkUtils.js +11 -7
  373. package/lib/module/utils/SdkUtils.js.map +1 -1
  374. package/lib/module/utils/fcm/FcmUtils.js +11 -0
  375. package/lib/module/utils/fcm/FcmUtils.js.map +1 -1
  376. package/lib/module/utils/storage.js +69 -10
  377. package/lib/module/utils/storage.js.map +1 -1
  378. package/lib/typescript/components/executiontasks/deliver/DeliverETInput.d.ts +4 -0
  379. package/lib/typescript/components/executiontasks/payments/PaymentStyles.d.ts +4 -5
  380. package/lib/typescript/components/executiontasks/pickup/PickpSchema.d.ts +1 -0
  381. package/lib/typescript/components/widgets/SnackBarCustom.d.ts +1 -1
  382. package/lib/typescript/index.d.ts +2 -2
  383. package/lib/typescript/locale/Str.d.ts +1 -0
  384. package/lib/typescript/manager/syncmanager/DBConfig.d.ts +2 -1
  385. package/lib/typescript/models/fcm.d.ts +3 -0
  386. package/lib/typescript/utils/fcm/FcmUtils.d.ts +2 -1
  387. package/lib/typescript/utils/storage.d.ts +3 -2
  388. package/package.json +21 -7
  389. package/src/@types/assets/index.d.ts +6 -0
  390. package/src/components/dispatch/DispatchExecNavigator.tsx +273 -0
  391. package/src/components/executiontasks/CompletedWFSchema.ts +24 -0
  392. package/src/components/executiontasks/ExecutionTasksIndex.ts +137 -0
  393. package/src/components/executiontasks/cancellation/CancelET.tsx +281 -0
  394. package/src/components/executiontasks/cancellation/CancellationSchema.ts +30 -0
  395. package/src/components/executiontasks/captureInput/CaptureInputSchema.ts +52 -0
  396. package/src/components/executiontasks/captureInput/CaptureText.tsx +172 -0
  397. package/src/components/executiontasks/captureInput/utils.ts +9 -0
  398. package/src/components/executiontasks/deliver/DeliverET.tsx +124 -0
  399. package/src/components/executiontasks/deliver/DeliverETInput.ts +51 -0
  400. package/src/components/executiontasks/deliver/SLDeliverET.tsx +515 -0
  401. package/src/components/executiontasks/display/DisplayModalET.tsx +174 -0
  402. package/src/components/executiontasks/display/DisplaySchema.ts +29 -0
  403. package/src/components/executiontasks/doodle/SignatureET.tsx +320 -0
  404. package/src/components/executiontasks/doodle/SignatureSchema.ts +51 -0
  405. package/src/components/executiontasks/dropCash/DropCashET.tsx +145 -0
  406. package/src/components/executiontasks/dropCash/DropCashSchema.ts +22 -0
  407. package/src/components/executiontasks/dropCash/SLDropCash.tsx +286 -0
  408. package/src/components/executiontasks/forms/FormGenerator.tsx +282 -0
  409. package/src/components/executiontasks/forms/FormSchema.ts +29 -0
  410. package/src/components/executiontasks/forms/widgets/DateTimeWidget.tsx +144 -0
  411. package/src/components/executiontasks/forms/widgets/DropdownWidget.tsx +52 -0
  412. package/src/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.tsx +158 -0
  413. package/src/components/executiontasks/forms/widgets/TimeRangeSelector.tsx +38 -0
  414. package/src/components/executiontasks/httpRequest/HttpEtUtils.ts +49 -0
  415. package/src/components/executiontasks/httpRequest/HttpRequestET.tsx +59 -0
  416. package/src/components/executiontasks/httpRequest/HttpRequestETSchema.ts +42 -0
  417. package/src/components/executiontasks/imageCapture/CaptureSchema.ts +93 -0
  418. package/src/components/executiontasks/imageCapture/CaptureUtils.ts +326 -0
  419. package/src/components/executiontasks/imageCapture/ImageCapture.tsx +363 -0
  420. package/src/components/executiontasks/payments/PaymentStyles.ts +93 -0
  421. package/src/components/executiontasks/payments/PaymentUtils.ts +7 -0
  422. package/src/components/executiontasks/payments/completePayment/CompletePaymentET.tsx +237 -0
  423. package/src/components/executiontasks/payments/completePayment/CompletePaymentSchema.ts +23 -0
  424. package/src/components/executiontasks/payments/init/InitPaymentET.tsx +247 -0
  425. package/src/components/executiontasks/payments/init/InitPaymentSchema.ts +37 -0
  426. package/src/components/executiontasks/payments/processPayment/ProcessPaymentET.tsx +272 -0
  427. package/src/components/executiontasks/payments/processPayment/ProcessPaymentSchema.ts +38 -0
  428. package/src/components/executiontasks/pickup/PickpSchema.ts +29 -0
  429. package/src/components/executiontasks/pickup/PickupET.tsx +126 -0
  430. package/src/components/executiontasks/pickup/SLPickupET.tsx +370 -0
  431. package/src/components/executiontasks/scan/ScanET.tsx +1059 -0
  432. package/src/components/executiontasks/scan/ScanSchema.ts +121 -0
  433. package/src/components/executiontasks/scan/constants.ts +6 -0
  434. package/src/components/executiontasks/scan/interfaces.ts +109 -0
  435. package/src/components/executiontasks/scan/modalConstant.ts +120 -0
  436. package/src/components/executiontasks/scan/sub_components/CScanner.tsx +107 -0
  437. package/src/components/executiontasks/scan/sub_components/DropDownUtils.ts +119 -0
  438. package/src/components/executiontasks/scan/sub_components/ERDropDown.tsx +134 -0
  439. package/src/components/executiontasks/scan/sub_components/SummaryPage.tsx +1296 -0
  440. package/src/components/executiontasks/scan/utils.ts +1108 -0
  441. package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +436 -0
  442. package/src/components/executiontasks/validateOTP/ValidateOTPSchema.ts +68 -0
  443. package/src/components/executiontasks/validateOTP/constants.ts +24 -0
  444. package/src/components/executiontasks/validateOTP/sub-components/OTPInput.tsx +83 -0
  445. package/src/components/executiontasks/validateOTP/utils.ts +180 -0
  446. package/src/components/executiontasks/verifyInput/VerifyInputSchema.ts +49 -0
  447. package/src/components/executiontasks/verifyLocation/GeofenceUtils.ts +55 -0
  448. package/src/components/executiontasks/verifyLocation/VerifyLocSchema.ts +56 -0
  449. package/src/components/executiontasks/verifyLocation/VerifyLocationET.tsx +69 -0
  450. package/src/components/executiontasks/verifyOtp/VerifyOtpET.tsx +96 -0
  451. package/src/components/executiontasks/verifyOtp/VerifyOtpSchema.ts +27 -0
  452. package/src/components/utils/index.ts +18 -0
  453. package/src/components/widgets/AlertDisplay.tsx +38 -0
  454. package/src/components/widgets/CancelOrderDialog.tsx +112 -0
  455. package/src/components/widgets/Card.tsx +99 -0
  456. package/src/components/widgets/GoBackModal.tsx +49 -0
  457. package/src/components/widgets/IconButton.tsx +32 -0
  458. package/src/components/widgets/ModalWidget.tsx +157 -0
  459. package/src/components/widgets/ProgressDialog.tsx +54 -0
  460. package/src/components/widgets/SearchBar.tsx +71 -0
  461. package/src/components/widgets/SnackBarCustom.tsx +212 -0
  462. package/src/components/widgets/SplitTextInput.tsx +116 -0
  463. package/src/components/widgets/TabsComponent.tsx +84 -0
  464. package/src/components/widgets/Toaster.ts +8 -0
  465. package/src/config/DispatchSDKConfig.ts +4 -0
  466. package/src/constants/apiConstants.ts +11 -0
  467. package/src/constants/constants.ts +12 -0
  468. package/src/constants/statuscode.ts +8 -0
  469. package/src/errors/BaseError.ts +16 -0
  470. package/src/errors/ErrorCodes.ts +38 -0
  471. package/src/events/EventDispatcher.ts +22 -0
  472. package/src/events/EventListener.ts +14 -0
  473. package/src/events/constants.ts +7 -0
  474. package/src/events/index.ts +3 -0
  475. package/src/events/interface.ts +1 -0
  476. package/src/icons/ScanIcon.tsx +24 -0
  477. package/src/icons/circleMark.svg +3 -0
  478. package/src/icons/file.tsx +24 -0
  479. package/src/icons/interface.ts +5 -0
  480. package/src/index.tsx +80 -0
  481. package/src/locale/Str.ts +13 -0
  482. package/src/locale/en.json +6 -0
  483. package/src/locale/i18n.ts +22 -0
  484. package/src/locale/util.ts +20 -0
  485. package/src/manager/dispatch/DispatchStateContainer.tsx +842 -0
  486. package/src/manager/dispatchCodes/EventCodeContainer.ts +75 -0
  487. package/src/manager/dispatchCodes/EventCodeRepo.ts +82 -0
  488. package/src/manager/dispatchCodes/ReasonCodeContainer.ts +121 -0
  489. package/src/manager/dispatchCodes/ReasonCodeRepo.ts +90 -0
  490. package/src/manager/dispatchCodes/reasonCodes.json +137 -0
  491. package/src/manager/jobRemoval/JobRemovalManager.ts +21 -0
  492. package/src/manager/location/LocationManager.ts +77 -0
  493. package/src/manager/sdk/DispatchSDKManager.ts +99 -0
  494. package/src/manager/sdk/DispatchSdkCache.ts +47 -0
  495. package/src/manager/sdk/callbacksHandler.ts +25 -0
  496. package/src/manager/syncmanager/AppSyncManager.ts +187 -0
  497. package/src/manager/syncmanager/DBConfig.ts +181 -0
  498. package/src/manager/syncmanager/NativeSyncManager.ts +14 -0
  499. package/src/manager/syncmanager/constants.ts +5 -0
  500. package/src/manager/syncmanager/database.ts +93 -0
  501. package/src/manager/syncmanager/document/DocumentHttpClient.ts +111 -0
  502. package/src/manager/syncmanager/document/DocumentManager.ts +143 -0
  503. package/src/manager/syncmanager/document/DocumentSyncManager.ts +233 -0
  504. package/src/manager/syncmanager/document/models.ts +4 -0
  505. package/src/manager/syncmanager/events/ETEventsManager.ts +647 -0
  506. package/src/manager/syncmanager/events/EventsGraphQLClient.ts +0 -0
  507. package/src/manager/syncmanager/events/EventsSyncManager.ts +490 -0
  508. package/src/manager/syncmanager/events/SyncHttpClient.ts +202 -0
  509. package/src/models/DispatchModels.ts +97 -0
  510. package/src/models/ReasonCodes.ts +12 -0
  511. package/src/models/auth.ts +43 -0
  512. package/src/models/execTasks/ETBaseModels.ts +113 -0
  513. package/src/models/execTasks/ETConfig.ts +94 -0
  514. package/src/models/execution.ts +9 -0
  515. package/src/models/fcm.ts +6 -0
  516. package/src/models/sdk.ts +35 -0
  517. package/src/native/signature/SignatureCapture.tsx +110 -0
  518. package/src/network/GraphQLClient.ts +147 -0
  519. package/src/network/NetworkClient.ts +58 -0
  520. package/src/network/NetworkUtils.ts +41 -0
  521. package/src/network/Queries.ts +46 -0
  522. package/src/network/client.ts +61 -0
  523. package/src/res/strings.ts +1 -0
  524. package/src/resources/Login.ts +36 -0
  525. package/src/resources/network.ts +13 -0
  526. package/src/styles/SdkColors.ts +24 -0
  527. package/src/styles/executionTasks/CommonStyles.ts +188 -0
  528. package/src/ui/screens/CancellationScreen.tsx +144 -0
  529. package/src/ui/screens/CaptureInputScreen.tsx +79 -0
  530. package/src/ui/screens/CompleteObjectiveScreen.tsx +72 -0
  531. package/src/ui/screens/DeliverScreen.tsx +117 -0
  532. package/src/ui/screens/DisplayScreen.tsx +52 -0
  533. package/src/ui/screens/DoodleScreen.tsx +84 -0
  534. package/src/ui/screens/DropCashScreen.tsx +113 -0
  535. package/src/ui/screens/ETScreensIndex.ts +35 -0
  536. package/src/ui/screens/FormsScreen.tsx +164 -0
  537. package/src/ui/screens/GeofenceScreen.tsx +54 -0
  538. package/src/ui/screens/HttpRequestScreen.tsx +47 -0
  539. package/src/ui/screens/ImageCaptureScreen.tsx +77 -0
  540. package/src/ui/screens/PaymentScreen.tsx +191 -0
  541. package/src/ui/screens/PickupScreen.tsx +85 -0
  542. package/src/ui/screens/ScanScreen.tsx +159 -0
  543. package/src/ui/screens/StartWorkFlowScreen.tsx +233 -0
  544. package/src/ui/screens/ValidateOTPScreen.tsx +62 -0
  545. package/src/ui/screens/WithBaseDispatchScreen.tsx +33 -0
  546. package/src/ui/uiConfig/RouteParams.ts +28 -0
  547. package/src/utils/ApiUtils.ts +157 -0
  548. package/src/utils/ExecTaskUtils.ts +214 -0
  549. package/src/utils/Logger.ts +110 -0
  550. package/src/utils/NetworkUtil.ts +50 -0
  551. package/src/utils/SdkUtils.ts +155 -0
  552. package/src/utils/SyncManagerUtils.ts +223 -0
  553. package/src/utils/fcm/FCM.ts +118 -0
  554. package/src/utils/fcm/FcmUtils.ts +130 -0
  555. package/src/utils/helper.ts +24 -0
  556. package/src/utils/hooks/useModal.tsx +67 -0
  557. package/src/utils/hooks/useTimer.ts +44 -0
  558. package/src/utils/loginHelper.ts +51 -0
  559. package/src/utils/storage.ts +292 -0
  560. package/src/utils/test.json +17 -0
  561. package/src/utils/utils.ts +30 -0
  562. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  563. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  564. package/android/gradlew +0 -185
  565. package/android/gradlew.bat +0 -89
@@ -0,0 +1,111 @@
1
+ import HttpClient from '../../../network/client';
2
+ import type { DocumentRow } from '../DBConfig';
3
+ import type { AxiosResponse } from 'axios';
4
+ import * as FileSystem from 'expo-file-system';
5
+ import { FileSystemUploadResult, FileSystemUploadType } from 'expo-file-system';
6
+ import DispatchSdkCache from '../../sdk/DispatchSdkCache';
7
+ import Logger, { LOG_TYPE } from '../../../utils/Logger';
8
+ import type { DispatchSDKConfig } from '../../../models/sdk';
9
+
10
+ const cache = DispatchSdkCache.getInstance();
11
+ const cacheKeys = DispatchSdkCache.KEYS;
12
+ export default class DocumentHttpClient extends HttpClient {
13
+ constructor(baseURL: string) {
14
+ super(baseURL);
15
+ }
16
+ public async uploadDocument(document: DocumentRow): Promise<string | null> {
17
+ if (document.base64 && document.data != null) {
18
+ const response = await this.uploadBase64File(document);
19
+ if (
20
+ response &&
21
+ response.data != null &&
22
+ response.data.data != null &&
23
+ response.data.data.id &&
24
+ response.status === 202
25
+ ) {
26
+ return response.data.data.id;
27
+ } else {
28
+ return null;
29
+ }
30
+ } else {
31
+ const uploadResponse = await this.uploadBinaryFile(document);
32
+ Logger.getInstance().logEvent(
33
+ 'uploadDocument',
34
+ JSON.stringify(uploadResponse),
35
+ LOG_TYPE.SDK_INFO
36
+ );
37
+ if (
38
+ uploadResponse != null &&
39
+ uploadResponse.status === 202 &&
40
+ uploadResponse.body != null
41
+ ) {
42
+ FileSystem.deleteAsync(document.file_path).then().catch(); // WE DELETE FILE HERE
43
+ return JSON.parse(uploadResponse.body)?.data?.id;
44
+ } else {
45
+ return null;
46
+ }
47
+ }
48
+ }
49
+
50
+ public async uploadBase64File(document: DocumentRow): Promise<AxiosResponse> {
51
+ let requestBody = JSON.stringify({
52
+ file: {
53
+ type: 'FILE',
54
+ data: document.data,
55
+ },
56
+ description: document.desc,
57
+ tags: [
58
+ { key: 'dispatchId', value: document.dispatch_id },
59
+ // { key: 'jobId', value: document.job_id },
60
+ // { key: 'objectiveRef', value: document.objective_ref },
61
+ { key: 'fileName', value: document.file_name },
62
+ ],
63
+ fileName: document.file_name,
64
+ });
65
+ const sdkConfig = (await cache.getObjectFromCache(
66
+ cacheKeys.SDK_CONFIG
67
+ )) as DispatchSDKConfig;
68
+ return this.instance.post(
69
+ `/api/folders/${document.fms_folder_id}/files`,
70
+ requestBody,
71
+ {
72
+ headers: {
73
+ 'accept': 'application/json',
74
+ 'X-COREOS-REQUEST-ID': document.dispatch_id,
75
+ 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',
76
+ 'X-COREOS-TID': sdkConfig.tenantID ?? '',
77
+ 'Content-Type': 'application/json',
78
+ },
79
+ }
80
+ );
81
+ }
82
+ private async uploadBinaryFile(
83
+ document: DocumentRow
84
+ ): Promise<FileSystemUploadResult> {
85
+ const sdkConfig = (await cache.getObjectFromCache(
86
+ cacheKeys.SDK_CONFIG
87
+ )) as DispatchSDKConfig;
88
+ const url =
89
+ sdkConfig.tenantBaseURL + `/api/folders/${document.fms_folder_id}/files`;
90
+ return FileSystem.uploadAsync(url, document.file_path, {
91
+ headers: {
92
+ 'accept': 'application/json',
93
+ 'Content-Type': 'multipart/form-data',
94
+ 'X-COREOS-REQUEST-ID': document.dispatch_id,
95
+ 'X-COREOS-TID': sdkConfig.tenantID ?? '',
96
+ 'X-COREOS-ACCESS': sdkConfig.accessToken ?? '',
97
+ },
98
+ httpMethod: 'POST',
99
+ uploadType: FileSystemUploadType.MULTIPART,
100
+ fieldName: 'file',
101
+ parameters: {
102
+ tags: JSON.stringify([
103
+ { key: 'dispatchId', value: document.dispatch_id },
104
+ // { key: 'jobId', value: document.job_id },
105
+ // { key: 'objectiveRef', value: document.objective_ref },
106
+ { key: 'fileName', value: document.file_name },
107
+ ]),
108
+ },
109
+ });
110
+ }
111
+ }
@@ -0,0 +1,143 @@
1
+ import { DOCUMENT_COLUMNS, DOCUMENT_TABLE, DocumentRow } from '../DBConfig';
2
+ import * as Database from '../database';
3
+ import type { SQLResultSet } from 'expo-sqlite';
4
+
5
+ export default class DocumentManager {
6
+ private static instance: DocumentManager;
7
+
8
+ private constructor() {}
9
+
10
+ public static async getInstance(): Promise<DocumentManager> {
11
+ if (!DocumentManager.instance) {
12
+ let managerInstance = new DocumentManager();
13
+ await managerInstance.init();
14
+ DocumentManager.instance = managerInstance;
15
+ }
16
+ return DocumentManager.instance;
17
+ }
18
+
19
+ public async init(): Promise<void> {
20
+ await Database.executeQuery(
21
+ `CREATE TABLE IF NOT EXISTS ${DOCUMENT_TABLE} (\
22
+ ${DOCUMENT_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\
23
+ ${DOCUMENT_COLUMNS.DATA} TEXT,\
24
+ ${DOCUMENT_COLUMNS.BASE64} INTEGER NOT NULL DEFAULT 0,\
25
+ ${DOCUMENT_COLUMNS.FILE_PATH} TEXT,\
26
+ ${DOCUMENT_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\
27
+ ${DOCUMENT_COLUMNS.FILE_NAME} TEXT,\
28
+ ${DOCUMENT_COLUMNS.FILE_TYPE} TEXT,\
29
+ ${DOCUMENT_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\
30
+ ${DOCUMENT_COLUMNS.FMS_ID} TEXT,\
31
+ ${DOCUMENT_COLUMNS.FMS_FOLDER_ID} TEXT,\
32
+ ${DOCUMENT_COLUMNS.PRIORITY} INTEGER NOT NULL DEFAULT 1,\
33
+ ${DOCUMENT_COLUMNS.SYNC_ERROR} TEXT,\
34
+ ${DOCUMENT_COLUMNS.DESCRIPTION} TEXT);`,
35
+ []
36
+ );
37
+ }
38
+
39
+ public async insertDocument(
40
+ fmsFolderID: string | null,
41
+ desc: string,
42
+ dspID: string,
43
+ // jobID: string,
44
+ // objectiveRef: string,
45
+ base64: boolean,
46
+ fileName: string,
47
+ fileType: string,
48
+ data?: string | null,
49
+ filePath?: string | null,
50
+ priority?: number
51
+ ): Promise<SQLResultSet> {
52
+ return await Database.executeQuery(
53
+ `INSERT INTO ${DOCUMENT_TABLE}(\
54
+ ${DOCUMENT_COLUMNS.DATA},\
55
+ ${DOCUMENT_COLUMNS.DISPATCH_ID},\
56
+ ${DOCUMENT_COLUMNS.FMS_FOLDER_ID},\
57
+ ${DOCUMENT_COLUMNS.BASE64},\
58
+ ${DOCUMENT_COLUMNS.FILE_PATH},\
59
+ ${DOCUMENT_COLUMNS.FILE_NAME},\
60
+ ${DOCUMENT_COLUMNS.FILE_TYPE},\
61
+ ${DOCUMENT_COLUMNS.DESCRIPTION},\
62
+ ${DOCUMENT_COLUMNS.PRIORITY}) \
63
+ values (?,?,?,?,?,?,?,?,?)`,
64
+ [
65
+ data,
66
+ dspID,
67
+ fmsFolderID,
68
+ base64,
69
+ filePath,
70
+ fileName,
71
+ fileType,
72
+ desc,
73
+ priority ? priority : 1,
74
+ ]
75
+ );
76
+ }
77
+
78
+ public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {
79
+ if (!dispatchID) {
80
+ const resultSet = await Database.executeQuery(
81
+ `SELECT * FROM ${DOCUMENT_TABLE};`,
82
+ []
83
+ );
84
+ return resultSet.rows._array;
85
+ } else {
86
+ const resultSet = await Database.executeQuery(
87
+ `SELECT * FROM ${DOCUMENT_TABLE}\
88
+ WHERE ${DOCUMENT_COLUMNS.DISPATCH_ID} =?;`,
89
+ [dispatchID]
90
+ );
91
+ return resultSet.rows._array;
92
+ }
93
+ }
94
+
95
+ public async getAllUnsyncedDocs(): Promise<DocumentRow[]> {
96
+ let resultSet = await Database.executeQuery(
97
+ `SELECT * FROM ${DOCUMENT_TABLE} \
98
+ where ${DOCUMENT_COLUMNS.SYNCED} = 0;`,
99
+ []
100
+ );
101
+ return resultSet.rows._array;
102
+ }
103
+
104
+ public deleteAllSyncedDocuments(dispatchID: string) {
105
+ return Database.executeQuery(
106
+ `DELETE FROM ${DOCUMENT_TABLE}\
107
+ WHERE ${DOCUMENT_COLUMNS.SYNCED} = 1 and ${DOCUMENT_COLUMNS.DISPATCH_ID} = ?;`,
108
+ [dispatchID]
109
+ );
110
+ }
111
+
112
+ public async markDocumentSynced(id: number, fmsID: string): Promise<void> {
113
+ if (!id || !fmsID) return;
114
+ await Database.executeQuery(
115
+ `UPDATE ${DOCUMENT_TABLE} SET ${DOCUMENT_COLUMNS.SYNCED} = 1,${DOCUMENT_COLUMNS.FMS_ID} = ? WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,
116
+ [fmsID, id]
117
+ );
118
+ }
119
+
120
+ public async updateDocSyncError(
121
+ id: number,
122
+ uploadError: string
123
+ ): Promise<void> {
124
+ if (!id) throw new TypeError('Document ID cannot be null');
125
+ await Database.executeQuery(
126
+ `UPDATE ${DOCUMENT_TABLE}\
127
+ SET \
128
+ ${DOCUMENT_COLUMNS.SYNC_ERROR} = ?\
129
+ WHERE ${DOCUMENT_COLUMNS.ID} = ?;`,
130
+ [uploadError, id]
131
+ );
132
+ }
133
+
134
+ public async getUnsyncedDocument(): Promise<DocumentRow[]> {
135
+ let rs = await Database.executeQuery(
136
+ `SELECT * from ${DOCUMENT_TABLE}\
137
+ WHERE ${DOCUMENT_COLUMNS.SYNCED} = 0 \
138
+ ORDER BY ${DOCUMENT_COLUMNS.PRIORITY} ASC LIMIT 1;`,
139
+ []
140
+ );
141
+ return rs.rows._array;
142
+ }
143
+ }
@@ -0,0 +1,233 @@
1
+ import type { DocumentRow } from '../DBConfig';
2
+ import DocumentManager from './DocumentManager';
3
+ import DocumentHttpClient from './DocumentHttpClient';
4
+ import { isEmptyOrBlank } from '../../../utils/utils';
5
+ import { BaseError } from '../../../errors/BaseError';
6
+ import BaseErrorCodes, {
7
+ InvalidArgumentsError,
8
+ InvalidBaseURL,
9
+ SyncManagerNotInitialized,
10
+ } from '../../../errors/ErrorCodes';
11
+ import Logger, { LOG_TYPE } from '../../../utils/Logger';
12
+ import type { SQLResultSet } from 'expo-sqlite';
13
+ import NetworkUtil from '../../../utils/NetworkUtil';
14
+
15
+ export default class DocumentSyncManager {
16
+ private documentHttpClient: DocumentHttpClient | undefined;
17
+ private inProgress: boolean = false;
18
+ private static instance: DocumentSyncManager;
19
+ private docManager: DocumentManager | undefined;
20
+ private maxRetryCount: number = 3;
21
+ private _retries = 0;
22
+
23
+ get retries(): number {
24
+ return this._retries;
25
+ }
26
+
27
+ set retries(value: number) {
28
+ this._retries = value;
29
+ }
30
+
31
+ private constructor() {}
32
+
33
+ public init(baseURL: string, retryCount: number) {
34
+ if (isEmptyOrBlank(baseURL))
35
+ throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);
36
+ this.maxRetryCount = retryCount;
37
+ this.documentHttpClient = new DocumentHttpClient(baseURL);
38
+ }
39
+
40
+ public static getInstance(): DocumentSyncManager {
41
+ if (!DocumentSyncManager.instance) {
42
+ DocumentSyncManager.instance = new DocumentSyncManager();
43
+ }
44
+ return DocumentSyncManager.instance;
45
+ }
46
+
47
+ public async startDocumentSync(): Promise<void> {
48
+ if (!this.inProgress && this._retries < this.maxRetryCount) {
49
+ this.inProgress = true;
50
+ const hasNetwork = await NetworkUtil.isAvailableAsync();
51
+ try {
52
+ this.checkForInitialization();
53
+ if (!this.docManager) {
54
+ this.docManager = await DocumentManager.getInstance();
55
+ }
56
+ if (hasNetwork) {
57
+ let documentRows: DocumentRow[] =
58
+ await this.docManager.getUnsyncedDocument();
59
+ if (documentRows?.length > 0) {
60
+ await this.uploadDocToServer(documentRows[0]);
61
+ } else {
62
+ Logger.getInstance().logEvent(
63
+ 'startDocumentSync',
64
+ 'No data to sync',
65
+ LOG_TYPE.SDK_INFO
66
+ );
67
+ }
68
+ } else {
69
+ Logger.getInstance().logEvent(
70
+ 'startDocumentSync',
71
+ 'No Network',
72
+ LOG_TYPE.SDK_INFO
73
+ );
74
+ }
75
+ } catch (error: any) {
76
+ } finally {
77
+ this.inProgress = false;
78
+ if ((await this.isSyncPending()) && hasNetwork) {
79
+ await this.startDocumentSync();
80
+ }
81
+ }
82
+ } else {
83
+ Logger.getInstance().logEvent(
84
+ 'startDocumentSync',
85
+ 'sync already in progress ',
86
+ LOG_TYPE.SDK_INFO
87
+ );
88
+ }
89
+ }
90
+
91
+ public async isSyncPending(): Promise<boolean> {
92
+ if (!this.docManager) this.docManager = await DocumentManager.getInstance();
93
+ let leftDocuments = await this.docManager.getAllUnsyncedDocs();
94
+ return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;
95
+ }
96
+
97
+ public async insertDocument(
98
+ fmsFolderID: string | null,
99
+ data: string | null,
100
+ base64: boolean,
101
+ desc: string,
102
+ dspID: string,
103
+ // jobID: string,
104
+ // objRef: string,
105
+ filePath: string | null,
106
+ fileType: string,
107
+ fileName: string,
108
+ priority: number = 1
109
+ ): Promise<SQLResultSet> {
110
+ if (
111
+ isEmptyOrBlank(desc) ||
112
+ isEmptyOrBlank(dspID) ||
113
+ // isEmptyOrBlank(jobID) ||
114
+ // isEmptyOrBlank(objRef) ||
115
+ isEmptyOrBlank(fileType) ||
116
+ isEmptyOrBlank(fileName) ||
117
+ (base64 && isEmptyOrBlank(data)) ||
118
+ (!base64 && isEmptyOrBlank(filePath))
119
+ )
120
+ throw new BaseError(
121
+ BaseErrorCodes.InvalidArgumentError,
122
+ InvalidArgumentsError
123
+ );
124
+ else {
125
+ if (!this.docManager) {
126
+ Logger.getInstance().logEvent(
127
+ 'insertDocument',
128
+ 'INIT DOC SYNC AGAIN',
129
+ LOG_TYPE.SDK_INFO
130
+ );
131
+ this.docManager = await DocumentManager.getInstance();
132
+ }
133
+ let insertResponse = await this.docManager?.insertDocument(
134
+ fmsFolderID,
135
+ desc,
136
+ dspID,
137
+ // jobID,
138
+ // objRef,
139
+ base64,
140
+ fileName,
141
+ fileType,
142
+ data,
143
+ filePath,
144
+ priority
145
+ );
146
+ return insertResponse;
147
+ }
148
+ }
149
+
150
+ public async forceDocumentSync() {
151
+ if (!this.docManager) this.docManager = await DocumentManager.getInstance();
152
+ this._retries = 0;
153
+ await this.startDocumentSync();
154
+ }
155
+
156
+ private async updateDocument(documentRow: DocumentRow, fmsID: string) {
157
+ if (!this.docManager) this.docManager = await DocumentManager.getInstance();
158
+ try {
159
+ await this.docManager.markDocumentSynced(documentRow.id, fmsID);
160
+ } catch (err: any) {
161
+ Logger.getInstance().logEvent(
162
+ 'updateDocument',
163
+ err.message,
164
+ LOG_TYPE.SDK_WARNING
165
+ );
166
+ }
167
+ }
168
+
169
+ private async updateDocError(documentRow: DocumentRow, uploadError: string) {
170
+ if (!this.docManager) this.docManager = await DocumentManager.getInstance();
171
+ try {
172
+ await this.docManager.updateDocSyncError(documentRow.id, uploadError);
173
+ } catch (err: any) {
174
+ Logger.getInstance().logEvent(
175
+ 'updateDocError',
176
+ err.message,
177
+ LOG_TYPE.SDK_WARNING
178
+ );
179
+ }
180
+ }
181
+ private checkForInitialization() {
182
+ if (!this.documentHttpClient) {
183
+ throw new BaseError(
184
+ BaseErrorCodes.SyncManagerNotInitialized,
185
+ SyncManagerNotInitialized
186
+ );
187
+ }
188
+ }
189
+
190
+ private async uploadDocToServer(documentRow: DocumentRow) {
191
+ try {
192
+ let fmsID = await this.documentHttpClient?.uploadDocument(documentRow);
193
+ // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202
194
+ if (fmsID) {
195
+ this._retries = 0;
196
+ await this.updateDocument(documentRow, fmsID);
197
+ } else {
198
+ this._retries++;
199
+ Logger.getInstance().logEvent(
200
+ 'uploadDocToServer-sync-error',
201
+ 'Unexpected Error',
202
+ LOG_TYPE.SDK_ERROR
203
+ );
204
+ await this.updateDocError(documentRow, 'Unexpected Error');
205
+ }
206
+ } catch (error: any) {
207
+ this._retries++;
208
+ Logger.getInstance().logEvent(
209
+ 'uploadDocToServer-sync-error',
210
+ error.message,
211
+ LOG_TYPE.SDK_ERROR
212
+ );
213
+ await this.updateDocError(
214
+ documentRow,
215
+ JSON.stringify({
216
+ message: error.message,
217
+ error: JSON.stringify(error?.response?.data),
218
+ status: error?.response?.status,
219
+ })
220
+ );
221
+ }
222
+ }
223
+
224
+ public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {
225
+ if (!this.docManager) this.docManager = await DocumentManager.getInstance();
226
+ return this.docManager.getAllDocuments(dispatchID);
227
+ }
228
+
229
+ public async clearSyncedDocs(dspID: string) {
230
+ if (!this.docManager) this.docManager = await DocumentManager.getInstance();
231
+ if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);
232
+ }
233
+ }
@@ -0,0 +1,4 @@
1
+ export type FILE_TAGS = {
2
+ key: string;
3
+ value: string;
4
+ };