@os1-platform/dispatch-mobile 3.1.9 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/android/.gradle/8.13/checksums/checksums.lock +0 -0
- package/android/.gradle/8.13/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.13/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.13/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/{8.10.2 → 8.13}/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/8.13/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
- package/android/.idea/caches/deviceStreaming.xml +218 -12
- package/android/build.gradle +14 -15
- package/android/gradle.properties +9 -4
- package/android/src/main/AndroidManifest.xml +4 -1
- package/android/src/main/java/com/dispatchsdk/location/LocationModule.kt +3 -3
- package/android/src/main/java/com/dispatchsdk/sync/SyncEventService.kt +2 -3
- package/android/src/main/java/com/dispatchsdk/utils/DispatchSdkUtils.kt +27 -11
- package/babel.config.js +1 -1
- package/dispatch-mobile.podspec +1 -1
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +1 -2
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js +4 -0
- package/lib/commonjs/analytics/sentry/SentrySdkConstants.js.map +1 -1
- package/lib/commonjs/components/dispatch/DispatchExecNavigator.js +1 -2
- package/lib/commonjs/components/dispatch/DispatchExecNavigator.js.map +1 -1
- package/lib/commonjs/components/executiontasks/cancellation/CancelET.js +4 -5
- package/lib/commonjs/components/executiontasks/cancellation/CancelET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js +5 -6
- package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/CollectPayment.js +1 -2
- package/lib/commonjs/components/executiontasks/collectPayment/CollectPayment.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentUtils.js +1 -2
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/CompletePayment.js +3 -4
- package/lib/commonjs/components/executiontasks/collectPayment/components/CompletePayment.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/InitPayment.js +5 -9
- package/lib/commonjs/components/executiontasks/collectPayment/components/InitPayment.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/PaymentContactDetails.js +8 -9
- package/lib/commonjs/components/executiontasks/collectPayment/components/PaymentContactDetails.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/ProcessPayment.js +24 -25
- package/lib/commonjs/components/executiontasks/collectPayment/components/ProcessPayment.js.map +1 -1
- package/lib/commonjs/components/executiontasks/deliver/DeliverET.js +1 -2
- package/lib/commonjs/components/executiontasks/deliver/DeliverET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js +5 -6
- package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/display/DisplayModalET.js +1 -2
- package/lib/commonjs/components/executiontasks/display/DisplayModalET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +6 -7
- package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js +1 -2
- package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js +5 -6
- package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +13 -35
- package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js +1 -2
- package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js +1 -2
- package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +4 -5
- package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js +1 -2
- package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js.map +1 -1
- package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js +1 -2
- package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +1 -2
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +5 -6
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js +5 -6
- package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js +5 -6
- package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js +5 -6
- package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/pickup/PickupET.js +1 -2
- package/lib/commonjs/components/executiontasks/pickup/PickupET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js +5 -6
- package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/ScanET.js +8 -9
- package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/interfaces.js +17 -1
- package/lib/commonjs/components/executiontasks/scan/interfaces.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js +5 -6
- package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/sub_components/DropDownUtils.js +1 -1
- package/lib/commonjs/components/executiontasks/scan/sub_components/DropDownUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js +1 -2
- package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js +6 -6
- package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/utils.js +13 -15
- package/lib/commonjs/components/executiontasks/scan/utils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +1 -2
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js +5 -7
- package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js +5 -6
- package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js +8 -11
- package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js +1 -2
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js +1 -2
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js +1 -2
- package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js +1 -2
- package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js +7 -12
- package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
- package/lib/commonjs/components/widgets/AlertDisplay.js +1 -2
- package/lib/commonjs/components/widgets/AlertDisplay.js.map +1 -1
- package/lib/commonjs/components/widgets/CancelOrderDialog.js +3 -4
- package/lib/commonjs/components/widgets/CancelOrderDialog.js.map +1 -1
- package/lib/commonjs/components/widgets/Card.js +2 -2
- package/lib/commonjs/components/widgets/Card.js.map +1 -1
- package/lib/commonjs/components/widgets/SearchBar.js +4 -3
- package/lib/commonjs/components/widgets/SearchBar.js.map +1 -1
- package/lib/commonjs/components/widgets/SnackBarCustom.js +12 -15
- package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/commonjs/components/widgets/SplitTextInput.js +2 -3
- package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/commonjs/components/widgets/TabsComponent.js +1 -2
- package/lib/commonjs/components/widgets/TabsComponent.js.map +1 -1
- package/lib/commonjs/components/widgets/Timer.js +1 -2
- package/lib/commonjs/components/widgets/Timer.js.map +1 -1
- package/lib/commonjs/database/DBManager.js +112 -0
- package/lib/commonjs/database/DBManager.js.map +1 -0
- package/lib/commonjs/database/dbUpdate.json +6 -0
- package/lib/commonjs/index.js +1 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +1 -2
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js +8 -9
- package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
- package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js +5 -6
- package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
- package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js +13 -10
- package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
- package/lib/commonjs/manager/location/LocationManager.js +0 -4
- package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +8 -3
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js +1 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/AppSyncManager.js +1 -2
- package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/DBConfig.js +6 -2
- package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/database.js +118 -47
- package/lib/commonjs/manager/syncmanager/database.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +1 -2
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +17 -22
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +86 -77
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +25 -28
- package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +1 -2
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js +1 -2
- package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
- package/lib/commonjs/models/execTasks/ETConfig.js +1 -0
- package/lib/commonjs/models/execTasks/ETConfig.js.map +1 -1
- package/lib/commonjs/models/sdk.js.map +1 -1
- package/lib/commonjs/native/signature/SignatureCapture.js +2 -2
- package/lib/commonjs/native/signature/SignatureCapture.js.map +1 -1
- package/lib/commonjs/network/client.js.map +1 -1
- package/lib/commonjs/styles/executionTasks/CommonStyles.js +1 -2
- package/lib/commonjs/styles/executionTasks/CommonStyles.js.map +1 -1
- package/lib/commonjs/ui/screens/CancellationScreen.js +1 -2
- package/lib/commonjs/ui/screens/CancellationScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CaptureInputScreen.js +1 -2
- package/lib/commonjs/ui/screens/CaptureInputScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js +1 -2
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +1 -2
- package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DeliverScreen.js +1 -2
- package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DisplayScreen.js +1 -2
- package/lib/commonjs/ui/screens/DisplayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DoodleScreen.js +1 -2
- package/lib/commonjs/ui/screens/DoodleScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DropCashScreen.js +1 -2
- package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FormsScreen.js +1 -2
- package/lib/commonjs/ui/screens/FormsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/GeofenceScreen.js +1 -2
- package/lib/commonjs/ui/screens/GeofenceScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ImageCaptureScreen.js +1 -2
- package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentScreen.js +1 -2
- package/lib/commonjs/ui/screens/PaymentScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PickupScreen.js +1 -2
- package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ScanScreen.js +1 -2
- package/lib/commonjs/ui/screens/ScanScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +1 -2
- package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js +1 -2
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js +1 -2
- package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js.map +1 -1
- package/lib/commonjs/utils/Constants.js.map +1 -1
- package/lib/commonjs/utils/Logger.js +1 -1
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/commonjs/utils/SdkUtils.js +6 -5
- package/lib/commonjs/utils/SdkUtils.js.map +1 -1
- package/lib/commonjs/utils/SyncManagerUtils.js +3 -2
- package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
- package/lib/commonjs/utils/fcm/FCM.js +1 -2
- package/lib/commonjs/utils/fcm/FCM.js.map +1 -1
- package/lib/commonjs/utils/fcm/FcmUtils.js +1 -2
- package/lib/commonjs/utils/fcm/FcmUtils.js.map +1 -1
- package/lib/commonjs/utils/hooks/useModal.js +1 -2
- package/lib/commonjs/utils/hooks/useModal.js.map +1 -1
- package/lib/commonjs/utils/storage.js +1 -2
- package/lib/commonjs/utils/storage.js.map +1 -1
- package/lib/module/analytics/sentry/SentrySdkConstants.js +4 -0
- package/lib/module/analytics/sentry/SentrySdkConstants.js.map +1 -1
- package/lib/module/components/executiontasks/cancellation/CancelET.js +1 -1
- package/lib/module/components/executiontasks/cancellation/CancelET.js.map +1 -1
- package/lib/module/components/executiontasks/captureInput/CaptureText.js +3 -3
- package/lib/module/components/executiontasks/captureInput/CaptureText.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/CompletePayment.js +2 -2
- package/lib/module/components/executiontasks/collectPayment/components/CompletePayment.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/InitPayment.js +3 -6
- package/lib/module/components/executiontasks/collectPayment/components/InitPayment.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/PaymentContactDetails.js +6 -6
- package/lib/module/components/executiontasks/collectPayment/components/PaymentContactDetails.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/ProcessPayment.js +21 -21
- package/lib/module/components/executiontasks/collectPayment/components/ProcessPayment.js.map +1 -1
- package/lib/module/components/executiontasks/deliver/SLDeliverET.js +3 -3
- package/lib/module/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
- package/lib/module/components/executiontasks/doodle/SignatureET.js +4 -4
- package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
- package/lib/module/components/executiontasks/dropCash/SLDropCash.js +3 -3
- package/lib/module/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
- package/lib/module/components/executiontasks/forms/FormGenerator.js +11 -32
- package/lib/module/components/executiontasks/forms/FormGenerator.js.map +1 -1
- package/lib/module/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +2 -2
- package/lib/module/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +4 -4
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js +3 -3
- package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
- package/lib/module/components/executiontasks/payments/init/InitPaymentET.js +3 -3
- package/lib/module/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
- package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentET.js +3 -3
- package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
- package/lib/module/components/executiontasks/pickup/PickupET.js.map +1 -1
- package/lib/module/components/executiontasks/pickup/SLPickupET.js +3 -3
- package/lib/module/components/executiontasks/pickup/SLPickupET.js.map +1 -1
- package/lib/module/components/executiontasks/scan/ScanET.js +5 -5
- package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/module/components/executiontasks/scan/interfaces.js +16 -0
- package/lib/module/components/executiontasks/scan/interfaces.js.map +1 -1
- package/lib/module/components/executiontasks/scan/sub_components/CScanner.js +5 -5
- package/lib/module/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
- package/lib/module/components/executiontasks/scan/sub_components/DropDownUtils.js +2 -2
- package/lib/module/components/executiontasks/scan/sub_components/DropDownUtils.js.map +1 -1
- package/lib/module/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
- package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js +3 -3
- package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
- package/lib/module/components/executiontasks/scan/utils.js +13 -14
- package/lib/module/components/executiontasks/scan/utils.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js +3 -4
- package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/components/OTPView.js +3 -3
- package/lib/module/components/executiontasks/validateOTP/components/OTPView.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js +7 -9
- package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -1
- package/lib/module/components/executiontasks/verifyOtp/VerifyOtpET.js +7 -10
- package/lib/module/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
- package/lib/module/components/widgets/CancelOrderDialog.js +1 -1
- package/lib/module/components/widgets/CancelOrderDialog.js.map +1 -1
- package/lib/module/components/widgets/Card.js +1 -1
- package/lib/module/components/widgets/Card.js.map +1 -1
- package/lib/module/components/widgets/SearchBar.js +2 -1
- package/lib/module/components/widgets/SearchBar.js.map +1 -1
- package/lib/module/components/widgets/SnackBarCustom.js +6 -8
- package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/module/components/widgets/SplitTextInput.js +1 -1
- package/lib/module/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/module/components/widgets/Timer.js.map +1 -1
- package/lib/module/database/DBManager.js +104 -0
- package/lib/module/database/DBManager.js.map +1 -0
- package/lib/module/database/dbUpdate.json +6 -0
- package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/module/manager/dispatchCodes/EventCodeRepo.js +7 -7
- package/lib/module/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
- package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js +4 -4
- package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
- package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js +13 -8
- package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
- package/lib/module/manager/location/LocationManager.js +0 -4
- package/lib/module/manager/location/LocationManager.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +7 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/sdk/callbacksHandler.js +0 -2
- package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/module/manager/syncmanager/DBConfig.js +5 -1
- package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
- package/lib/module/manager/syncmanager/database.js +117 -43
- package/lib/module/manager/syncmanager/database.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js +16 -20
- package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +85 -75
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/ETEventsManager.js +20 -22
- package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/module/models/execTasks/ETConfig.js +1 -0
- package/lib/module/models/execTasks/ETConfig.js.map +1 -1
- package/lib/module/models/sdk.js.map +1 -1
- package/lib/module/native/signature/SignatureCapture.js +2 -2
- package/lib/module/native/signature/SignatureCapture.js.map +1 -1
- package/lib/module/network/client.js.map +1 -1
- package/lib/module/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/module/utils/Constants.js.map +1 -1
- package/lib/module/utils/Logger.js +1 -1
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/module/utils/SdkUtils.js +5 -3
- package/lib/module/utils/SdkUtils.js.map +1 -1
- package/lib/module/utils/SyncManagerUtils.js +2 -0
- package/lib/module/utils/SyncManagerUtils.js.map +1 -1
- package/lib/typescript/babel.config.d.ts +1 -0
- package/lib/typescript/jest.config.d.ts +7 -0
- package/lib/typescript/jest.setup.d.ts +1 -0
- package/lib/typescript/scripts/bootstrap.d.ts +1 -0
- package/lib/typescript/{components → src/components}/executiontasks/httpRequest/HttpEtUtils.d.ts +1 -1
- package/lib/typescript/{components → src/components}/executiontasks/scan/interfaces.d.ts +15 -0
- package/lib/typescript/{components → src/components}/executiontasks/validateOTP/ValidateOTPSchema.d.ts +1 -1
- package/lib/typescript/{components → src/components}/widgets/CancelOrderDialog.d.ts +1 -1
- package/lib/typescript/{components → src/components}/widgets/SnackBarCustom.d.ts +3 -2
- package/lib/typescript/src/components/widgets/Timer.d.ts +6 -0
- package/lib/typescript/src/database/DBManager.d.ts +1 -0
- package/lib/typescript/{manager → src/manager}/dispatchCodes/EventCodeRepo.d.ts +1 -1
- package/lib/typescript/{manager → src/manager}/dispatchCodes/ReasonCodeRepo.d.ts +5 -3
- package/lib/typescript/{manager → src/manager}/syncmanager/DBConfig.d.ts +5 -1
- package/lib/typescript/src/manager/syncmanager/database.d.ts +31 -0
- package/lib/typescript/{manager → src/manager}/syncmanager/document/DocumentManager.d.ts +2 -3
- package/lib/typescript/{manager → src/manager}/syncmanager/document/DocumentSyncManager.d.ts +1 -2
- package/lib/typescript/{network → src/network}/GraphQLClient.d.ts +5 -5
- package/lib/typescript/{network → src/network}/NetworkClient.d.ts +3 -3
- package/lib/typescript/{network → src/network}/client.d.ts +3 -3
- package/lib/typescript/{resources → src/resources}/Login.d.ts +7 -7
- package/lib/typescript/{resources → src/resources}/network.d.ts +1 -1
- package/lib/typescript/{utils → src/utils}/ApiUtils.d.ts +2 -2
- package/lib/typescript/{utils → src/utils}/Constants.d.ts +4 -0
- package/package.json +104 -127
- package/src/components/executiontasks/cancellation/CancelET.tsx +1 -1
- package/src/components/executiontasks/captureInput/CaptureText.tsx +6 -6
- package/src/components/executiontasks/collectPayment/components/CompletePayment.tsx +2 -3
- package/src/components/executiontasks/collectPayment/components/InitPayment.tsx +3 -7
- package/src/components/executiontasks/collectPayment/components/PaymentContactDetails.tsx +3 -4
- package/src/components/executiontasks/collectPayment/components/ProcessPayment.tsx +7 -8
- package/src/components/executiontasks/deliver/SLDeliverET.tsx +3 -4
- package/src/components/executiontasks/doodle/SignatureET.tsx +5 -5
- package/src/components/executiontasks/dropCash/SLDropCash.tsx +3 -4
- package/src/components/executiontasks/forms/FormGenerator.tsx +38 -55
- package/src/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.tsx +2 -2
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +5 -7
- package/src/components/executiontasks/payments/completePayment/CompletePaymentET.tsx +3 -4
- package/src/components/executiontasks/payments/init/InitPaymentET.tsx +3 -4
- package/src/components/executiontasks/payments/processPayment/ProcessPaymentET.tsx +3 -4
- package/src/components/executiontasks/pickup/PickupET.tsx +3 -9
- package/src/components/executiontasks/pickup/SLPickupET.tsx +3 -4
- package/src/components/executiontasks/scan/ScanET.tsx +5 -6
- package/src/components/executiontasks/scan/interfaces.ts +16 -0
- package/src/components/executiontasks/scan/sub_components/CScanner.tsx +7 -6
- package/src/components/executiontasks/scan/sub_components/DropDownUtils.ts +2 -2
- package/src/components/executiontasks/scan/sub_components/ERDropDown.tsx +0 -1
- package/src/components/executiontasks/scan/sub_components/SummaryPage.tsx +3 -3
- package/src/components/executiontasks/scan/utils.ts +13 -13
- package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +5 -0
- package/src/components/executiontasks/validateOTP/ValidateOTPSchema.ts +1 -1
- package/src/components/executiontasks/validateOTP/components/ContactListView.tsx +3 -11
- package/src/components/executiontasks/validateOTP/components/OTPView.tsx +3 -4
- package/src/components/executiontasks/validateOTP/components/VerificationComplete.tsx +7 -7
- package/src/components/executiontasks/verifyOtp/VerifyOtpET.tsx +9 -17
- package/src/components/widgets/CancelOrderDialog.tsx +2 -2
- package/src/components/widgets/Card.tsx +1 -1
- package/src/components/widgets/SearchBar.tsx +2 -1
- package/src/components/widgets/SnackBarCustom.tsx +8 -10
- package/src/components/widgets/SplitTextInput.tsx +1 -1
- package/src/components/widgets/Timer.tsx +0 -1
- package/src/database/DBManager.ts +118 -0
- package/src/database/dbUpdate.json +6 -0
- package/src/manager/dispatch/DispatchStateContainer.tsx +5 -25
- package/src/manager/dispatchCodes/EventCodeRepo.ts +8 -12
- package/src/manager/dispatchCodes/ReasonCodeContainer.ts +5 -5
- package/src/manager/dispatchCodes/ReasonCodeRepo.ts +17 -15
- package/src/manager/location/LocationManager.ts +1 -8
- package/src/manager/sdk/DispatchSDKManager.ts +12 -4
- package/src/manager/sdk/callbacksHandler.ts +3 -8
- package/src/manager/syncmanager/DBConfig.ts +6 -1
- package/src/manager/syncmanager/database.ts +130 -71
- package/src/manager/syncmanager/document/DocumentManager.ts +19 -24
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +95 -82
- package/src/manager/syncmanager/events/ETEventsManager.ts +30 -35
- package/src/manager/syncmanager/events/EventsSyncManager.ts +1 -1
- package/src/models/sdk.ts +2 -6
- package/src/native/signature/SignatureCapture.tsx +4 -3
- package/src/network/client.ts +2 -2
- package/src/ui/screens/ValidateOTPScreen.tsx +2 -4
- package/src/utils/Constants.ts +6 -1
- package/src/utils/Logger.ts +2 -1
- package/src/utils/SdkUtils.ts +6 -7
- package/src/utils/SyncManagerUtils.ts +1 -0
- package/tsconfig.build.json +1 -1
- package/tsconfig.json +2 -3
- package/android/.gradle/8.10.2/checksums/checksums.lock +0 -0
- package/android/.gradle/8.10.2/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.10.2/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.10.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.10.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.10.2/gc.properties +0 -0
- package/lib/typescript/components/widgets/Timer.d.ts +0 -7
- package/lib/typescript/manager/syncmanager/database.d.ts +0 -7
- /package/android/.gradle/{8.10.2 → 8.13}/fileChanges/last-build.bin +0 -0
- /package/android/.gradle/{8.10.2 → 8.13}/fileHashes/resourceHashesCache.bin +0 -0
- /package/android/.gradle/{8.10.2/dependencies-accessors → 8.13}/gc.properties +0 -0
- /package/lib/typescript/{analytics → src/analytics}/firebase/FirebaseLogging.d.ts +0 -0
- /package/lib/typescript/{analytics → src/analytics}/sentry/SentryAnalyticsSingleton.d.ts +0 -0
- /package/lib/typescript/{analytics → src/analytics}/sentry/SentryAnalyticsUtils.d.ts +0 -0
- /package/lib/typescript/{analytics → src/analytics}/sentry/SentryModels.d.ts +0 -0
- /package/lib/typescript/{analytics → src/analytics}/sentry/SentrySdkConstants.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/dispatch/DispatchExecNavigator.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/CompletedWFSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/ExecutionTasksIndex.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/cancellation/CancelET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/cancellation/CancellationSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/captureInput/CaptureInputSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/captureInput/CaptureText.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/captureInput/utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/collectPayment/CollectPayment.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/collectPayment/CollectPaymentSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/collectPayment/PaymentStyles.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/collectPayment/PaymentUtils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/collectPayment/components/CompletePayment.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/collectPayment/components/CustomContactsModal.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/collectPayment/components/InitPayment.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/collectPayment/components/PaymentContactDetails.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/collectPayment/components/ProcessPayment.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/deliver/DeliverET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/deliver/DeliverETInput.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/deliver/SLDeliverET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/display/DisplayModalET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/display/DisplaySchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/doodle/SignatureET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/doodle/SignatureSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/dropCash/DropCashET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/dropCash/DropCashSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/dropCash/SLDropCash.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/forms/FormGenerator.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/forms/FormSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/forms/widgets/DateTimeWidget.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/forms/widgets/DropdownWidget.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/forms/widgets/QRBarcodeScannerWidget.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/forms/widgets/TimeRangeSelector.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/httpRequest/HttpRequestET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/httpRequest/HttpRequestETSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/imageCapture/CaptureSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/imageCapture/CaptureUtils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/imageCapture/ImageCapture.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/payments/PaymentStyles.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/payments/PaymentUtils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/payments/completePayment/CompletePaymentET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/payments/completePayment/CompletePaymentSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/payments/init/InitPaymentET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/payments/init/InitPaymentSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/payments/processPayment/ProcessPaymentET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/payments/processPayment/ProcessPaymentSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/pickup/PickpSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/pickup/PickupET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/pickup/SLPickupET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/scan/ScanET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/scan/ScanSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/scan/constants.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/scan/modalConstant.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/scan/sub_components/CScanner.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/scan/sub_components/DropDownUtils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/scan/sub_components/ERDropDown.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/scan/sub_components/SummaryPage.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/scan/utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/ValidateOTPET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/ValidateOtpStyles.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/components/ContactListView.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/components/OTPView.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/components/VerificationComplete.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/constants.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/sub-components/ContactCard.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/sub-components/OTPInput.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/sub-components/ResendOTPButton.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/validateOTP/utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/verifyInput/VerifyInputSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/verifyLocation/GeofenceUtils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/verifyLocation/VerifyLocSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/verifyLocation/VerifyLocationET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/verifyOtp/VerifyOtpET.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/executiontasks/verifyOtp/VerifyOtpSchema.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/utils/Scale.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/utils/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/AlertDisplay.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/Card.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/ConfirmCancelModal.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/GoBackModal.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/IconButton.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/ModalWidget.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/ProgressDialog.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/SearchBar.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/SplitTextInput.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/TabsComponent.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/widgets/Toaster.d.ts +0 -0
- /package/lib/typescript/{config → src/config}/DispatchSDKConfig.d.ts +0 -0
- /package/lib/typescript/{constants → src/constants}/apiConstants.d.ts +0 -0
- /package/lib/typescript/{constants → src/constants}/constants.d.ts +0 -0
- /package/lib/typescript/{constants → src/constants}/statuscode.d.ts +0 -0
- /package/lib/typescript/{errors → src/errors}/BaseError.d.ts +0 -0
- /package/lib/typescript/{errors → src/errors}/ErrorCodes.d.ts +0 -0
- /package/lib/typescript/{events → src/events}/EventDispatcher.d.ts +0 -0
- /package/lib/typescript/{events → src/events}/EventListener.d.ts +0 -0
- /package/lib/typescript/{events → src/events}/constants.d.ts +0 -0
- /package/lib/typescript/{events → src/events}/index.d.ts +0 -0
- /package/lib/typescript/{events → src/events}/interface.d.ts +0 -0
- /package/lib/typescript/{icons → src/icons}/CircleMark.d.ts +0 -0
- /package/lib/typescript/{icons → src/icons}/FailedIcon.d.ts +0 -0
- /package/lib/typescript/{icons → src/icons}/FailureCloseIcon.d.ts +0 -0
- /package/lib/typescript/{icons → src/icons}/ScanIcon.d.ts +0 -0
- /package/lib/typescript/{icons → src/icons}/SuccessCompleteIcon.d.ts +0 -0
- /package/lib/typescript/{icons → src/icons}/file.d.ts +0 -0
- /package/lib/typescript/{icons → src/icons}/index.d.ts +0 -0
- /package/lib/typescript/{icons → src/icons}/interface.d.ts +0 -0
- /package/lib/typescript/{index.d.ts → src/index.d.ts} +0 -0
- /package/lib/typescript/{locale → src/locale}/Str.d.ts +0 -0
- /package/lib/typescript/{locale → src/locale}/i18n.d.ts +0 -0
- /package/lib/typescript/{locale → src/locale}/util.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/dispatch/DispatchStateContainer.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/dispatchCodes/EventCodeContainer.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/dispatchCodes/ReasonCodeContainer.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/jobRemoval/JobRemovalManager.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/location/LocationManager.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/sdk/DispatchSDKManager.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/sdk/DispatchSdkCache.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/sdk/callbacksHandler.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/syncmanager/AppSyncManager.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/syncmanager/NativeSyncManager.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/syncmanager/constants.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/syncmanager/document/DocumentHttpClient.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/syncmanager/document/models.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/syncmanager/events/ETEventsManager.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/syncmanager/events/EventsGraphQLClient.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/syncmanager/events/EventsSyncManager.d.ts +0 -0
- /package/lib/typescript/{manager → src/manager}/syncmanager/events/SyncHttpClient.d.ts +0 -0
- /package/lib/typescript/{models → src/models}/DispatchModels.d.ts +0 -0
- /package/lib/typescript/{models → src/models}/ReasonCodes.d.ts +0 -0
- /package/lib/typescript/{models → src/models}/auth.d.ts +0 -0
- /package/lib/typescript/{models → src/models}/execTasks/ETBaseModels.d.ts +0 -0
- /package/lib/typescript/{models → src/models}/execTasks/ETConfig.d.ts +0 -0
- /package/lib/typescript/{models → src/models}/execution.d.ts +0 -0
- /package/lib/typescript/{models → src/models}/fcm.d.ts +0 -0
- /package/lib/typescript/{models → src/models}/sdk.d.ts +0 -0
- /package/lib/typescript/{native → src/native}/LocationModule.d.ts +0 -0
- /package/lib/typescript/{native → src/native}/PermissionModule.d.ts +0 -0
- /package/lib/typescript/{native → src/native}/signature/SignatureCapture.d.ts +0 -0
- /package/lib/typescript/{network → src/network}/NetworkUtils.d.ts +0 -0
- /package/lib/typescript/{network → src/network}/Queries.d.ts +0 -0
- /package/lib/typescript/{res → src/res}/strings.d.ts +0 -0
- /package/lib/typescript/{styles → src/styles}/SdkColors.d.ts +0 -0
- /package/lib/typescript/{styles → src/styles}/executionTasks/CommonStyles.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/CancellationScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/CaptureInputScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/CollectPaymentScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/CompleteObjectiveScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/DeliverScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/DisplayScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/DoodleScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/DropCashScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/ETScreensIndex.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/FormsScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/GeofenceScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/HttpRequestScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/ImageCaptureScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/PaymentScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/PickupScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/ScanScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/StartWorkFlowScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/ValidateOTPScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/screens/WithBaseDispatchScreen.d.ts +0 -0
- /package/lib/typescript/{ui → src/ui}/uiConfig/RouteParams.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/Enums.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/ExecTaskUtils.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/Logger.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/NetworkUtil.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/SdkUtils.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/SyncManagerUtils.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/context/paymentContext.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/context/valdiateOTPContext.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/fcm/FCM.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/fcm/FcmUtils.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/helper.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/hooks/useModal.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/hooks/useTimer.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/loginHelper.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/storage.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/utils.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","ETEventsManager","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","EventsSyncManager","Marker","Position","TextBackgroundType","ImageFormat","RNFS","Storage","Platform","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","latlngToDms","require","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","severityLevel","LOG","eventName","APP_LOG","screenName","extraParams","msg","logEvent","SDK_ERROR","error","logCora","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","InvalidArgumentError","_this$docManager","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","podId","markPODDocEventSynced","lastSyncedEventId","getSharedItem","syncEventId","parseInt","setSharedItem","startSync","err","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","updateDocError","uploadError","updateDocSyncError","processImageData","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","processed_file_path","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","none","quality","filename","saveFormat","jpg","markText","completeFilePath","includes","processBase64Data","imagePath","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","geoStampAvailable","uploadDocument","startSyncAfterMaxRetry","_error$response","_error$response2","stringify","message","response","status","updateDocPriority","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","_DocumentSyncManager"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, { Position, TextBackgroundType, ImageFormat } from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] = await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No data to sync'\n },\n });\n Logger.getInstance().logEvent(cta, 'No data to sync', LOG_TYPE.SDK_ERROR);\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager startDocumentSync: ${error}`);\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);\n else {\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'insertResponse ' + flattenObject(insertResponse)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'insertResponse ' + flattenObject(insertResponse),\n LOG_TYPE.SDK_ERROR\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n // This function will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if (sync == 1) {\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager updateDocumentWithAttempt: ${err}`);\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager updateDocumentProcessedPath: ${err}`);\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager updateDocError: ${err}`);\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n let extra = {\n msg: '',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n try {\n let cta = 'processImageData-started';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath;\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager processImageData: ${error}`);\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n documentRow.file_path // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = \"\"\n }\n }\n let cta = 'processImageData-completed';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let cta = 'processBase64Data-started';\n let extra = {\n msg: 'processBase64Data-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n let cta = 'processBase64Data-completed';\n let extra = {\n msg: 'processBase64Data-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = documentRow;\n let cta = 'uploadDocToServer-geoStamp';\n let geoStampAvailable = false\n if (documentRow.geo_timestamp && documentRow.geo_timestamp.length != 0) {\n geoStampAvailable = true;\n docRow = await this.processPODData(documentRow);\n }\n let extra = {\n msg: geoStampAvailable ? \"geoStamp availale\" : 'geoStamp not availale',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let fmsID = await this.documentHttpClient?.uploadDocument(docRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n // Calling function updating document row along with attempt count and sync as true.\n await this.updateDocumentWithAttempt(\n documentRow,\n fmsID,\n this._retries + 1,\n 1\n );\n this._retries = 0;\n // await this.updateDocument(docRow, fmsID);\n } else {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n this._retries++;\n let cta = 'uploadDocToServer-empty-fms-id'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n this.startSyncAfterMaxRetry(extraParameters, null);\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager uploadDocToServer: ${error}`);\n this._retries++;\n this.startSyncAfterMaxRetry(null, error);\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n private async startSyncAfterMaxRetry(extraParameters: any, error: any) {\n if (this.retries >= this.maxRetryCount) {\n let cta = 'startSyncAfterMaxRetry-max-retry-reached'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters ? extraParameters : error,\n });\n Logger.getInstance().logEvent(\n cta,\n extraParameters ? flattenObject(extraParameters) : flattenObject((error)),\n LOG_TYPE.SDK_ERROR\n );\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.docManager.updateDocPriority(documentRows[0].id, documentRows[0].priority + 1);\n this._retries = 0;\n this.startDocumentSync();\n }\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","ETEventsManager","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","EventsSyncManager","Marker","Position","TextBackgroundType","ImageFormat","RNFS","Storage","Platform","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","latlngToDms","require","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","severityLevel","LOG","eventName","APP_LOG","screenName","extraParams","msg","logEvent","SDK_ERROR","error","logCora","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","InvalidArgumentError","_this$docManager","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","podId","markPODDocEventSynced","lastSyncedEventId","getSharedItem","syncEventId","parseInt","setSharedItem","startSync","err","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","updateDocError","uploadError","updateDocSyncError","processImageData","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","processed_file_path","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","none","quality","filename","saveFormat","jpg","markText","completeFilePath","includes","processBase64Data","imagePath","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","console","log","processPODData","_this$documentHttpCli","docRow","geoStampAvailable","uploadDocument","startSyncAfterMaxRetry","_error$response","_error$response2","stringify","message","response","status","updateDocPriority","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","_DocumentSyncManager"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, { Position, TextBackgroundType, ImageFormat } from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] = await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No data to sync'\n },\n });\n Logger.getInstance().logEvent(cta, 'No data to sync', LOG_TYPE.SDK_ERROR);\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager startDocumentSync: ${error}`);\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<any> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);\n else {\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'insertResponse ' + flattenObject(insertResponse)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'insertResponse ' + flattenObject(insertResponse),\n LOG_TYPE.SDK_ERROR\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n // This function will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if (sync == 1) {\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager updateDocumentWithAttempt: ${err}`);\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager updateDocumentProcessedPath: ${err}`);\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager updateDocError: ${err}`);\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n let extra = {\n msg: '',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n try {\n let cta = 'processImageData-started';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath;\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager processImageData: ${error}`);\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n documentRow.file_path // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = \"\"\n }\n }\n let cta = 'processImageData-completed';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n let cta = 'processBase64Data-started';\n let extra = {\n msg: 'processBase64Data-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let filePath = '';\n try {\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n } catch (error: any) {\n console.log('====================================');\n console.log('processBase64Data-error:', error);\n console.log('====================================');\n // Updating document document table with original base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n filePath\n );\n documentRow.processed_file_path = \"\";\n }\n }\n cta = 'processBase64Data-completed';\n extra = {\n msg: 'processBase64Data-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = documentRow;\n let cta = 'uploadDocToServer-geoStamp';\n let geoStampAvailable = false\n if (documentRow.geo_timestamp && documentRow.geo_timestamp.length != 0) {\n geoStampAvailable = true;\n docRow = await this.processPODData(documentRow);\n }\n let extra = {\n msg: geoStampAvailable ? \"geoStamp availale\" : 'geoStamp not availale',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let fmsID = await this.documentHttpClient?.uploadDocument(docRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n // Calling function updating document row along with attempt count and sync as true.\n await this.updateDocumentWithAttempt(\n documentRow,\n fmsID,\n this._retries + 1,\n 1\n );\n this._retries = 0;\n // await this.updateDocument(docRow, fmsID);\n } else {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n this._retries++;\n let cta = 'uploadDocToServer-empty-fms-id'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n this.startSyncAfterMaxRetry(extraParameters, null);\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n Logger.getInstance().logCora(\"Error\", `DocumentSyncManager uploadDocToServer: ${error}`);\n this._retries++;\n this.startSyncAfterMaxRetry(null, error);\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n private async startSyncAfterMaxRetry(extraParameters: any, error: any) {\n if (this.retries >= this.maxRetryCount) {\n let cta = 'startSyncAfterMaxRetry-max-retry-reached'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters ? extraParameters : error,\n });\n Logger.getInstance().logEvent(\n cta,\n extraParameters ? flattenObject(extraParameters) : flattenObject((error)),\n LOG_TYPE.SDK_ERROR\n );\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.docManager.updateDocPriority(documentRows[0].id, documentRows[0].priority + 1);\n this._retries = 0;\n this.startDocumentSync();\n }\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,11 +4,12 @@ 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 { isEmptyOrBlank } from '../../../utils/utils';
|
|
6
6
|
import { DispatchSyncType, EVENTS_COLUMNS, EVENTS_TABLE } from '../DBConfig';
|
|
7
|
-
import
|
|
7
|
+
import Database from '../database';
|
|
8
8
|
import { BaseError } from '../../../errors/BaseError';
|
|
9
9
|
import BaseErrorCodes, { InvalidArgumentsError } from '../../../errors/ErrorCodes';
|
|
10
10
|
import Logger, { LOG_TYPE } from '../../../utils/Logger';
|
|
11
11
|
import { BULK_DATA_LIMIT, MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';
|
|
12
|
+
|
|
12
13
|
// NEW CODE
|
|
13
14
|
import { DispatchExecutor, IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';
|
|
14
15
|
const SyncType = IDispatch.SyncType;
|
|
@@ -28,7 +29,7 @@ export default class ETEventsManager {
|
|
|
28
29
|
|
|
29
30
|
// NEED TO REMOVE SYNCED, CONFIG, OBJECTIVE_REF
|
|
30
31
|
static async init() {
|
|
31
|
-
await Database.
|
|
32
|
+
await Database.executeSetDataQuery(`CREATE TABLE IF NOT EXISTS ${EVENTS_TABLE} (\
|
|
32
33
|
${EVENTS_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\
|
|
33
34
|
${EVENTS_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\
|
|
34
35
|
${EVENTS_COLUMNS.PAYLOAD} TEXT NOT NULL,\
|
|
@@ -43,10 +44,10 @@ export default class ETEventsManager {
|
|
|
43
44
|
|
|
44
45
|
// This is the function to insert POD_DOC type event in event table.
|
|
45
46
|
async insertPODDocEvent(dspID, syncType) {
|
|
46
|
-
await Database.
|
|
47
|
+
await Database.executeSetDataQuery(`INSERT INTO ${EVENTS_TABLE}(${EVENTS_COLUMNS.DISPATCH_ID},${EVENTS_COLUMNS.SYNC_TYPE},${EVENTS_COLUMNS.PAYLOAD},${EVENTS_COLUMNS.DATA_LENGTH},${EVENTS_COLUMNS.META},${EVENTS_COLUMNS.SYNCED},${EVENTS_COLUMNS.CONFIG},${EVENTS_COLUMNS.SYNC_ERROR}) values (?,?,?,?,?,?,?,?)`, [dspID, syncType, '', 1, '', 0, '', '']);
|
|
47
48
|
}
|
|
48
49
|
async insertEvent(sequence, payload, dspID, syncType, objectiveRef, config) {
|
|
49
|
-
await Database.
|
|
50
|
+
await Database.executeSetDataQuery(`INSERT INTO ${EVENTS_TABLE}(\
|
|
50
51
|
${EVENTS_COLUMNS.PAYLOAD},\
|
|
51
52
|
${EVENTS_COLUMNS.DISPATCH_ID},\
|
|
52
53
|
${EVENTS_COLUMNS.SEQUENCE},\
|
|
@@ -220,10 +221,7 @@ export default class ETEventsManager {
|
|
|
220
221
|
try {
|
|
221
222
|
values.push(`(?,?,?,?)`);
|
|
222
223
|
const _meta = JSON.stringify(_eventData.meta);
|
|
223
|
-
args.push(_eventData.data, _eventData.dispatchId, _eventData.syncType, _meta
|
|
224
|
-
// ? _evData.meta.jobId + _evData.meta.objectiveReference
|
|
225
|
-
// : 'NO_REF_FOUND'
|
|
226
|
-
);
|
|
224
|
+
args.push(_eventData.data, _eventData.dispatchId, _eventData.syncType, _meta);
|
|
227
225
|
queryData.push({
|
|
228
226
|
query: `INSERT INTO ${EVENTS_TABLE}(\
|
|
229
227
|
${EVENTS_COLUMNS.PAYLOAD},\
|
|
@@ -344,8 +342,8 @@ export default class ETEventsManager {
|
|
|
344
342
|
this._retries = 0;
|
|
345
343
|
}
|
|
346
344
|
} catch (err) {
|
|
345
|
+
Logger.getInstance().logEvent('insertBulkEvent-error', err.message, LOG_TYPE.SDK_DEBUG);
|
|
347
346
|
if (this._retries < this.maxRetryCount) {
|
|
348
|
-
Logger.getInstance().logEvent('insertBulkEvent ', this._retries.toString(), LOG_TYPE.SDK_DEBUG);
|
|
349
347
|
this._retries++;
|
|
350
348
|
await this.insertBulkEvent(_eventData);
|
|
351
349
|
} else {
|
|
@@ -423,16 +421,16 @@ export default class ETEventsManager {
|
|
|
423
421
|
|
|
424
422
|
async getAllEvents(dispatchID) {
|
|
425
423
|
if (dispatchID) {
|
|
426
|
-
const resultSet = await Database.
|
|
424
|
+
const resultSet = await Database.executeGetDataQuery(`SELECT * FROM ${EVENTS_TABLE}\
|
|
427
425
|
WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ?;`, [dispatchID]);
|
|
428
426
|
return resultSet.rows._array;
|
|
429
427
|
} else {
|
|
430
|
-
const resultSet = await Database.
|
|
428
|
+
const resultSet = await Database.executeGetDataQuery(`SELECT * FROM ${EVENTS_TABLE};`, []);
|
|
431
429
|
return resultSet.rows._array;
|
|
432
430
|
}
|
|
433
431
|
}
|
|
434
432
|
async getAllUnsyncedEvents() {
|
|
435
|
-
let resultSet = await Database.
|
|
433
|
+
let resultSet = await Database.executeGetDataQuery(`SELECT * FROM ${EVENTS_TABLE} \
|
|
436
434
|
where ${EVENTS_COLUMNS.SYNCED} = 0;`, []);
|
|
437
435
|
return resultSet.rows._array;
|
|
438
436
|
}
|
|
@@ -450,7 +448,7 @@ export default class ETEventsManager {
|
|
|
450
448
|
}
|
|
451
449
|
async updateError(id, syncError) {
|
|
452
450
|
if (!id) throw new TypeError('Event ID cannot be null');
|
|
453
|
-
await Database.
|
|
451
|
+
await Database.executeSetDataQuery(`UPDATE ${EVENTS_TABLE} \
|
|
454
452
|
SET \
|
|
455
453
|
${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`, [syncError, id]);
|
|
456
454
|
}
|
|
@@ -458,28 +456,28 @@ export default class ETEventsManager {
|
|
|
458
456
|
// This function will actualy update the POD_DOC type of event as sync along with attempt count.
|
|
459
457
|
async markPODDocEventSynced(sync, attempt, podDocId) {
|
|
460
458
|
if (!podDocId) throw new TypeError('podDocId cannot be null');
|
|
461
|
-
await Database.
|
|
459
|
+
await Database.executeSetDataQuery(`UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = ?, ${EVENTS_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${EVENTS_COLUMNS.SYNC_TYPE} = ?;`, [sync, attempt, podDocId]);
|
|
462
460
|
}
|
|
463
461
|
async markEventSynced(id) {
|
|
464
462
|
if (!id) throw new TypeError('Event ID cannot be null');
|
|
465
|
-
await Database.
|
|
463
|
+
await Database.executeSetDataQuery(`UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`, [id]);
|
|
466
464
|
}
|
|
467
465
|
async getWorkflowUpdateEvents(syncType) {
|
|
468
|
-
let sqlResultSet = await Database.
|
|
466
|
+
let sqlResultSet = await Database.executeGetDataQuery(`SELECT * from ${EVENTS_TABLE}\
|
|
469
467
|
WHERE ${EVENTS_COLUMNS.SYNCED} = 0\
|
|
470
468
|
and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\
|
|
471
469
|
ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`, [syncType]);
|
|
472
470
|
return sqlResultSet.rows._array;
|
|
473
471
|
}
|
|
474
472
|
async getJobRemovalEvents(syncType) {
|
|
475
|
-
let sqlResultSet = await Database.
|
|
473
|
+
let sqlResultSet = await Database.executeGetDataQuery(`SELECT * from ${EVENTS_TABLE}\
|
|
476
474
|
WHERE ${EVENTS_COLUMNS.SYNCED} = 0\
|
|
477
475
|
and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\
|
|
478
476
|
ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`, [syncType]);
|
|
479
477
|
return sqlResultSet.rows._array;
|
|
480
478
|
}
|
|
481
479
|
async getCustodyBatch(dispatchID) {
|
|
482
|
-
const sqlResult = await Database.
|
|
480
|
+
const sqlResult = await Database.executeGetDataQuery(`SELECT * from ${EVENTS_TABLE}\
|
|
483
481
|
WHERE ${EVENTS_COLUMNS.SYNCED} = 0 and \
|
|
484
482
|
(${EVENTS_COLUMNS.SYNC_TYPE} = ? or ${EVENTS_COLUMNS.SYNC_TYPE} = ?) \
|
|
485
483
|
and ${EVENTS_COLUMNS.DISPATCH_ID} = ? \
|
|
@@ -487,11 +485,11 @@ export default class ETEventsManager {
|
|
|
487
485
|
return sqlResult.rows._array;
|
|
488
486
|
}
|
|
489
487
|
async getObjectiveDetails(objectiveRef) {
|
|
490
|
-
let rs = await Database.
|
|
488
|
+
let rs = await Database.executeGetDataQuery(`SELECT * from ${EVENTS_TABLE} WHERE ${EVENTS_COLUMNS.META} = ?;`, [objectiveRef]);
|
|
491
489
|
return rs.rows._array;
|
|
492
490
|
}
|
|
493
491
|
async getRowToSync(id, dispatchId) {
|
|
494
|
-
const sqlResult = await Database.
|
|
492
|
+
const sqlResult = await Database.executeGetDataQuery(`SELECT * from ${EVENTS_TABLE}\
|
|
495
493
|
WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ? and \
|
|
496
494
|
${EVENTS_COLUMNS.SYNCED} = 0 \
|
|
497
495
|
ORDER BY ${EVENTS_COLUMNS.ID} ASC;`, [dispatchId]);
|
|
@@ -510,7 +508,7 @@ export default class ETEventsManager {
|
|
|
510
508
|
) q \
|
|
511
509
|
WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and total <= ${BULK_DATA_LIMIT} \
|
|
512
510
|
ORDER BY ${EVENTS_COLUMNS.ID};`;
|
|
513
|
-
const sqlResult = await Database.
|
|
511
|
+
const sqlResult = await Database.executeGetDataQuery(query, []);
|
|
514
512
|
return sqlResult.rows._array;
|
|
515
513
|
} else {
|
|
516
514
|
const query = `SELECT * FROM \
|
|
@@ -523,7 +521,7 @@ export default class ETEventsManager {
|
|
|
523
521
|
) q \
|
|
524
522
|
WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} and total <= ${BULK_DATA_LIMIT} \
|
|
525
523
|
ORDER BY ${EVENTS_COLUMNS.ID};`;
|
|
526
|
-
const sqlResult = await Database.
|
|
524
|
+
const sqlResult = await Database.executeGetDataQuery(query, []);
|
|
527
525
|
return sqlResult.rows._array;
|
|
528
526
|
}
|
|
529
527
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isEmptyOrBlank","DispatchSyncType","EVENTS_COLUMNS","EVENTS_TABLE","Database","BaseError","BaseErrorCodes","InvalidArgumentsError","Logger","LOG_TYPE","BULK_DATA_LIMIT","MAX_RETRY_COUNT","PROCESS_MAX_RETRIED_ROWS","DispatchExecutor","IDispatch","SyncType","ETEventsManager","constructor","_defineProperty","getInstance","instance","manager","init","executeQuery","ID","DISPATCH_ID","PAYLOAD","CONFIG","SYNC_TYPE","DATA_LENGTH","META","SYNCED","ATTEMPT_COUNT","SYNC_ERROR","insertPODDocEvent","dspID","syncType","insertEvent","sequence","payload","objectiveRef","config","SEQUENCE","getWFIPayload","_bulkEventData","result","dispatchId","status","timestamp","code","attemptId","updatedBy","mergedObjectiveId","meta","outData","output","data","offset","jobMapping","getJobMapping","__unmerged","Object","keys","forEach","customETName","push","workflows","length","getCustodyPayload","getJobRemovalPayload","getDispatchUpdatePayload","_modifyEventData","CUSTODY_IN_SCAN","custodyInScans","action","CUSTODY_OUT_SCAN","custodyOutScans","WORKFLOW","map","_payload","_payload$workflows$0$","JOB_REMOVAL","_jobRemoval$success","_jobRemoval$failure","jobRemoval","success","failure","DISPATCH_UPDATE","DISPATCH_SUB_STATUS_UPDATE","DEFAULT","splitData","chunkSize","splitKey","splitArray","Array","isArray","i","chunk","key","hasOwnProperty","slice","insertQueueEvent","_eventData","args","values","queryData","_meta","JSON","stringify","query","join","executeBulkQuery","_retries","err","maxRetryCount","logEvent","toString","SDK_DEBUG","insertBulkEvent","syncManagerPayload","index","InvalidArgumentError","chunkedData","_evData","getAllEvents","dispatchID","resultSet","rows","_array","getAllUnsyncedEvents","deleteAllEvents","deleteEventsQuery","resetAutoIncrementSequence","updateError","id","syncError","TypeError","markPODDocEventSynced","sync","attempt","podDocId","markEventSynced","getWorkflowUpdateEvents","sqlResultSet","getJobRemovalEvents","getCustodyBatch","sqlResult","getObjectiveDetails","rs","getRowToSync","getBulkRowsToSync","_ETEventsManager"],"sources":["ETEventsManager.ts"],"sourcesContent":["import { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BulkEvent,\n CustodyData,\n DispatchSyncType,\n EventETData,\n EventRow,\n EVENTS_COLUMNS,\n EVENTS_TABLE,\n SyncManagerPayload,\n ExecEngineSyncType,\n WFUpdateBulkEventData,\n WIUpdateOutputPayload,\n WORKFLOW_INSTANCE_COLUMNS,\n WORKFLOW_INSTANCE_TABLE,\n} from '../DBConfig';\nimport type { ExecQuery } from '../database';\nimport * as Database from '../database';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { BULK_DATA_LIMIT, MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';\nimport Storage from '../../../utils/storage';\n\n// NEW CODE\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class ETEventsManager {\n private static instance: ETEventsManager;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n private constructor() {}\n\n public static async getInstance(): Promise<ETEventsManager> {\n if (!ETEventsManager.instance) {\n let manager = new ETEventsManager();\n await ETEventsManager.init();\n ETEventsManager.instance = manager;\n }\n return ETEventsManager.instance;\n }\n\n // NEED TO REMOVE SYNCED, CONFIG, OBJECTIVE_REF\n private static async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${EVENTS_TABLE} (\\\n ${EVENTS_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${EVENTS_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.PAYLOAD} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.CONFIG} TEXT,\\\n ${EVENTS_COLUMNS.SYNC_TYPE} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.DATA_LENGTH} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.META} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.SYNC_ERROR} TEXT);`,\n []\n );\n }\n\n // This is the function to insert POD_DOC type event in event table.\n async insertPODDocEvent(dspID: string, syncType: string): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(${EVENTS_COLUMNS.DISPATCH_ID},${EVENTS_COLUMNS.SYNC_TYPE},${EVENTS_COLUMNS.PAYLOAD},${EVENTS_COLUMNS.DATA_LENGTH},${EVENTS_COLUMNS.META},${EVENTS_COLUMNS.SYNCED},${EVENTS_COLUMNS.CONFIG},${EVENTS_COLUMNS.SYNC_ERROR}) values (?,?,?,?,?,?,?,?)`,\n [dspID, syncType, '', 1, '', 0, '', '']\n );\n }\n\n async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SEQUENCE},\\\n ${EVENTS_COLUMNS.CONFIG},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values (?,?,?,?,?,?)`,\n [payload, dspID, sequence, config ?? null, syncType, objectiveRef]\n );\n }\n\n private async getWFIPayload(\n _bulkEventData: BulkEvent\n ): Promise<Array<WIUpdateOutputPayload>> {\n const result: Array<WIUpdateOutputPayload> = [];\n const dispatchId = _bulkEventData.dispatchId;\n const { status, timestamp, code, attemptId, updatedBy, mergedObjectiveId } =\n _bulkEventData.meta;\n const outData: any = {};\n const output: WFUpdateBulkEventData = _bulkEventData.data;\n\n let offset = 0;\n let jobMapping: Array<{ jobId: string; workflowInstanceId: string }> =\n await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n do {\n const __unmerged: Array<{ jobId: string; workflowInstanceId: string }> =\n jobMapping;\n\n Object.keys(output).forEach((customETName: string) => {\n outData[customETName] = output[customETName];\n });\n\n result.push({\n dispatchId,\n updatedBy,\n workflows: [\n {\n status,\n attemptId,\n timestamp,\n code,\n data: outData,\n __unmerged,\n meta: {},\n },\n ],\n });\n\n offset += BULK_DATA_LIMIT;\n jobMapping = await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n } while (jobMapping.length > 0);\n\n return result;\n }\n\n private getCustodyPayload(_bulkEventData: BulkEvent) {\n const data: Array<CustodyData> = _bulkEventData.data;\n return data;\n }\n\n private getJobRemovalPayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n return data;\n }\n\n private getDispatchUpdatePayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n const payload = data.payload;\n return payload;\n }\n\n private async _modifyEventData(\n _bulkEventData: BulkEvent\n ): Promise<Array<SyncManagerPayload>> {\n const syncType: ExecEngineSyncType | DispatchSyncType =\n _bulkEventData.syncType;\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n const custodyInScans = this.getCustodyPayload(_bulkEventData);\n return [\n {\n data: {\n action: SyncType.CUSTODY_IN_SCAN,\n payload: { output: custodyInScans },\n },\n length: custodyInScans.length,\n },\n ];\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n const custodyOutScans = this.getCustodyPayload(_bulkEventData);\n\n return [\n {\n data: {\n action: SyncType.CUSTODY_OUT_SCAN,\n payload: { output: custodyOutScans },\n },\n length: custodyOutScans.length,\n },\n ];\n }\n case SyncType.WORKFLOW: {\n const payload = await this.getWFIPayload(_bulkEventData);\n return payload.map((_payload) => ({\n data: { action: SyncType.WORKFLOW, payload: _payload },\n length: _payload.workflows[0].__unmerged?.length || 0,\n }));\n }\n case SyncType.JOB_REMOVAL: {\n const jobRemoval = this.getJobRemovalPayload(_bulkEventData);\n const length =\n jobRemoval?.success?.length + jobRemoval?.failure?.length;\n return [\n {\n data: {\n action: SyncType.JOB_REMOVAL,\n payload: jobRemoval,\n },\n length: length || 0,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_UPDATE: {\n return [\n {\n data: {\n action: _bulkEventData.data.action == DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE ? DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE : DispatchSyncType.DISPATCH_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n default: {\n return [\n {\n data: {\n action: DispatchSyncType.DEFAULT,\n payload: {},\n },\n length: 0,\n },\n ];\n }\n }\n }\n\n private splitData(data: any, chunkSize: number, splitKey: string): any[] {\n const result: any = [];\n const splitArray = data[splitKey];\n\n if (!splitArray || !Array.isArray(splitArray)) {\n return result;\n }\n\n for (let i = 0; i < splitArray.length; i += chunkSize) {\n const chunk: any = {};\n\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n chunk[key] =\n key === splitKey ? splitArray.slice(i, i + chunkSize) : data[key];\n }\n }\n\n result.push(chunk);\n }\n\n return result;\n }\n\n // NEW CODE\n async insertQueueEvent(_eventData: BulkEvent): Promise<void> {\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n try {\n values.push(`(?,?,?,?)`);\n const _meta = JSON.stringify(_eventData.meta);\n args.push(\n _eventData.data,\n _eventData.dispatchId,\n _eventData.syncType,\n _meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertQueueEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertQueueEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n\n\n // NEW CODE\n async insertBulkEvent(_eventData: BulkEvent): Promise<void> {\n try {\n const output: Array<SyncManagerPayload> = await this._modifyEventData(\n _eventData\n );\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n const _meta = JSON.stringify(_eventData.meta || {});\n\n if (\n _eventData.syncType === SyncType.WORKFLOW ||\n _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n _eventData.syncType === SyncType.CUSTODY_OUT_SCAN ||\n _eventData.syncType === DispatchSyncType.DISPATCH_UPDATE ||\n _eventData.syncType === DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE\n ) {\n output.forEach(\n (syncManagerPayload: SyncManagerPayload, index: number) => {\n const _payload = JSON.stringify(syncManagerPayload.data);\n if (\n isEmptyOrBlank(syncManagerPayload.data.action) ||\n isEmptyOrBlank(_payload)\n ) {\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n values.push(`(?,?,?,?,?)`);\n args.push(\n _payload,\n _eventData.dispatchId,\n _eventData.syncType,\n syncManagerPayload.length,\n _meta\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n }\n );\n\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n // else if (\n // _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n // _eventData.syncType === SyncType.CUSTODY_OUT_SCAN\n // ) {\n // output.forEach(\n // (syncManagerPayload: SyncManagerPayload, index: number) => {\n // const _payload = JSON.stringify(syncManagerPayload);\n // if (\n // isEmptyOrBlank(syncManagerPayload.action) ||\n // isEmptyOrBlank(_payload)\n // ) {\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n // }\n // values.push(`(?,?,?,?)`);\n // args.push(\n // _payload,\n // _eventData.dispatchId,\n // _eventData.syncType,\n // _meta\n // );\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // }\n // );\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } else if (_eventData.syncType === DispatchSyncType.DISPATCH_UPDATE) {\n // }\n else {\n const chunkedData = this.splitData(output, BULK_DATA_LIMIT, 'payload');\n\n chunkedData.forEach((_evData, index) => {\n const _payload = JSON.stringify(_evData.payload);\n if (isEmptyOrBlank(_evData.action) || isEmptyOrBlank(_payload))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n values.push(`(?,?,?,?,?)`);\n args.push(_evData, _eventData.dispatchId, _eventData.syncType, _meta);\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertBulkEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertBulkEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n // OLD CODE\n // async insertBulkEvent(_eventData: BulkEvent[]): Promise<void> {\n // try {\n // let args: any[] = [];\n // let values: any[] = [];\n // let queryData: ExecQuery[] = []; //final data to pass to db\n // let evIndex = 100;\n\n // _eventData.forEach((_evData, index) => {\n // if (\n // !_evData.sequence ||\n // isEmptyOrBlank(_evData.data) ||\n // isEmptyOrBlank(_evData.dispatchId) ||\n // isEmptyOrBlank(_evData.syncType)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n\n // values.push(`(?,?,?,?,?)`);\n // args.push(\n // _evData.data,\n // _evData.dispatchId,\n // // _evData.sequence,\n // _evData.config ? JSON.stringify(_evData.config) : null,\n // _evData.syncType,\n // _evData.meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n // );\n // if (index === evIndex || index === _eventData.length - 1) {\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.CONFIG},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // evIndex = evIndex + evIndex;\n // }\n // });\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } catch (err) {\n // if (this._retries < this.maxRetryCount) {\n // Logger.getInstance().logEvent(\n // 'insertBulkEvent ',\n // this._retries.toString(),\n // LOG_TYPE.SDK_DEBUG\n // );\n // this._retries++;\n // await this.insertBulkEvent(_eventData);\n // } else {\n // this._retries = 0;\n // throw err;\n // }\n // }\n // }\n\n async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n if (dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n async getAllUnsyncedEvents(): Promise<EventRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE} \\\n where ${EVENTS_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllEvents() {\n const deleteEventsQuery = {\n query: `DELETE FROM ${EVENTS_TABLE};`,\n args: [],\n };\n const resetAutoIncrementSequence = {\n query: `UPDATE sqlite_sequence SET seq = 0 WHERE name\n = '${EVENTS_TABLE}';`,\n args: [],\n };\n\n return Database.executeBulkQuery([\n deleteEventsQuery,\n resetAutoIncrementSequence,\n ]);\n }\n\n async updateError(id: number, syncError: string): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} \\\n SET \\\n ${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [syncError, id]\n );\n }\n\n // This function will actualy update the POD_DOC type of event as sync along with attempt count.\n async markPODDocEventSynced(sync: number, attempt:number, podDocId: String): Promise<void> {\n if (!podDocId) throw new TypeError('podDocId cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = ?, ${EVENTS_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${EVENTS_COLUMNS.SYNC_TYPE} = ?;`,\n [sync,attempt,podDocId]\n );\n }\n\n async markEventSynced(id: number): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [id]\n );\n }\n\n async getWorkflowUpdateEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getJobRemovalEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getCustodyBatch(dispatchID: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0 and \\\n (${EVENTS_COLUMNS.SYNC_TYPE} = ? or ${EVENTS_COLUMNS.SYNC_TYPE} = ?) \\\n and ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [SyncType.CUSTODY_IN_SCAN, SyncType.CUSTODY_OUT_SCAN, dispatchID]\n );\n return sqlResult.rows._array;\n }\n async getObjectiveDetails(objectiveRef: string): Promise<EventRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE} WHERE ${EVENTS_COLUMNS.META} = ?;`,\n [objectiveRef]\n );\n return rs.rows._array;\n }\n\n async getRowToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ? and \\\n ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [dispatchId]\n );\n return sqlResult.rows._array;\n }\n\n async getBulkRowsToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.\n if(PROCESS_MAX_RETRIED_ROWS){\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }else{\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} and total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isEmptyOrBlank","DispatchSyncType","EVENTS_COLUMNS","EVENTS_TABLE","Database","BaseError","BaseErrorCodes","InvalidArgumentsError","Logger","LOG_TYPE","BULK_DATA_LIMIT","MAX_RETRY_COUNT","PROCESS_MAX_RETRIED_ROWS","DispatchExecutor","IDispatch","SyncType","ETEventsManager","constructor","_defineProperty","getInstance","instance","manager","init","executeSetDataQuery","ID","DISPATCH_ID","PAYLOAD","CONFIG","SYNC_TYPE","DATA_LENGTH","META","SYNCED","ATTEMPT_COUNT","SYNC_ERROR","insertPODDocEvent","dspID","syncType","insertEvent","sequence","payload","objectiveRef","config","SEQUENCE","getWFIPayload","_bulkEventData","result","dispatchId","status","timestamp","code","attemptId","updatedBy","mergedObjectiveId","meta","outData","output","data","offset","jobMapping","getJobMapping","__unmerged","Object","keys","forEach","customETName","push","workflows","length","getCustodyPayload","getJobRemovalPayload","getDispatchUpdatePayload","_modifyEventData","CUSTODY_IN_SCAN","custodyInScans","action","CUSTODY_OUT_SCAN","custodyOutScans","WORKFLOW","map","_payload","_payload$workflows$0$","JOB_REMOVAL","_jobRemoval$success","_jobRemoval$failure","jobRemoval","success","failure","DISPATCH_UPDATE","DISPATCH_SUB_STATUS_UPDATE","DEFAULT","splitData","chunkSize","splitKey","splitArray","Array","isArray","i","chunk","key","hasOwnProperty","slice","insertQueueEvent","_eventData","args","values","queryData","_meta","JSON","stringify","query","join","executeBulkQuery","_retries","err","maxRetryCount","logEvent","toString","SDK_DEBUG","insertBulkEvent","syncManagerPayload","index","InvalidArgumentError","chunkedData","_evData","message","getAllEvents","dispatchID","resultSet","executeGetDataQuery","rows","_array","getAllUnsyncedEvents","deleteAllEvents","deleteEventsQuery","resetAutoIncrementSequence","updateError","id","syncError","TypeError","markPODDocEventSynced","sync","attempt","podDocId","markEventSynced","getWorkflowUpdateEvents","sqlResultSet","getJobRemovalEvents","getCustodyBatch","sqlResult","getObjectiveDetails","rs","getRowToSync","getBulkRowsToSync","_ETEventsManager"],"sources":["ETEventsManager.ts"],"sourcesContent":["import { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BulkEvent,\n CustodyData,\n DispatchSyncType,\n EventRow,\n EVENTS_COLUMNS,\n EVENTS_TABLE,\n SyncManagerPayload,\n ExecEngineSyncType,\n WFUpdateBulkEventData,\n WIUpdateOutputPayload,\n} from '../DBConfig';\nimport type { ExecQuery } from \"../../../utils/Constants\";\nimport Database from '../database';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { BULK_DATA_LIMIT, MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';\n\n// NEW CODE\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class ETEventsManager {\n private static instance: ETEventsManager;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n private constructor() { }\n\n public static async getInstance(): Promise<ETEventsManager> {\n if (!ETEventsManager.instance) {\n let manager = new ETEventsManager();\n await ETEventsManager.init();\n ETEventsManager.instance = manager;\n }\n return ETEventsManager.instance;\n }\n\n // NEED TO REMOVE SYNCED, CONFIG, OBJECTIVE_REF\n private static async init(): Promise<void> {\n await Database.executeSetDataQuery(\n `CREATE TABLE IF NOT EXISTS ${EVENTS_TABLE} (\\\n ${EVENTS_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${EVENTS_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.PAYLOAD} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.CONFIG} TEXT,\\\n ${EVENTS_COLUMNS.SYNC_TYPE} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.DATA_LENGTH} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.META} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.SYNC_ERROR} TEXT);`,\n []\n );\n }\n\n // This is the function to insert POD_DOC type event in event table.\n async insertPODDocEvent(dspID: string, syncType: string): Promise<void> {\n await Database.executeSetDataQuery(\n `INSERT INTO ${EVENTS_TABLE}(${EVENTS_COLUMNS.DISPATCH_ID},${EVENTS_COLUMNS.SYNC_TYPE},${EVENTS_COLUMNS.PAYLOAD},${EVENTS_COLUMNS.DATA_LENGTH},${EVENTS_COLUMNS.META},${EVENTS_COLUMNS.SYNCED},${EVENTS_COLUMNS.CONFIG},${EVENTS_COLUMNS.SYNC_ERROR}) values (?,?,?,?,?,?,?,?)`,\n [dspID, syncType, '', 1, '', 0, '', '']\n );\n }\n\n async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n await Database.executeSetDataQuery(\n `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SEQUENCE},\\\n ${EVENTS_COLUMNS.CONFIG},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values (?,?,?,?,?,?)`,\n [payload, dspID, sequence, config ?? null, syncType, objectiveRef]\n );\n }\n\n private async getWFIPayload(\n _bulkEventData: BulkEvent\n ): Promise<Array<WIUpdateOutputPayload>> {\n const result: Array<WIUpdateOutputPayload> = [];\n const dispatchId = _bulkEventData.dispatchId;\n const { status, timestamp, code, attemptId, updatedBy, mergedObjectiveId } =\n _bulkEventData.meta;\n const outData: any = {};\n const output: WFUpdateBulkEventData = _bulkEventData.data;\n\n let offset = 0;\n let jobMapping: Array<{ jobId: string; workflowInstanceId: string }> =\n await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n do {\n const __unmerged: Array<{ jobId: string; workflowInstanceId: string }> =\n jobMapping;\n\n Object.keys(output).forEach((customETName: string) => {\n outData[customETName] = output[customETName];\n });\n\n result.push({\n dispatchId,\n updatedBy,\n workflows: [\n {\n status,\n attemptId,\n timestamp,\n code,\n data: outData,\n __unmerged,\n meta: {},\n },\n ],\n });\n\n offset += BULK_DATA_LIMIT;\n jobMapping = await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n } while (jobMapping.length > 0);\n\n return result;\n }\n\n private getCustodyPayload(_bulkEventData: BulkEvent) {\n const data: Array<CustodyData> = _bulkEventData.data;\n return data;\n }\n\n private getJobRemovalPayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n return data;\n }\n\n private getDispatchUpdatePayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n const payload = data.payload;\n return payload;\n }\n\n private async _modifyEventData(\n _bulkEventData: BulkEvent\n ): Promise<Array<SyncManagerPayload>> {\n const syncType: ExecEngineSyncType | DispatchSyncType =\n _bulkEventData.syncType;\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n const custodyInScans = this.getCustodyPayload(_bulkEventData);\n return [\n {\n data: {\n action: SyncType.CUSTODY_IN_SCAN,\n payload: { output: custodyInScans },\n },\n length: custodyInScans.length,\n },\n ];\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n const custodyOutScans = this.getCustodyPayload(_bulkEventData);\n\n return [\n {\n data: {\n action: SyncType.CUSTODY_OUT_SCAN,\n payload: { output: custodyOutScans },\n },\n length: custodyOutScans.length,\n },\n ];\n }\n case SyncType.WORKFLOW: {\n const payload = await this.getWFIPayload(_bulkEventData);\n return payload.map((_payload) => ({\n data: { action: SyncType.WORKFLOW, payload: _payload },\n length: _payload.workflows[0].__unmerged?.length || 0,\n }));\n }\n case SyncType.JOB_REMOVAL: {\n const jobRemoval = this.getJobRemovalPayload(_bulkEventData);\n const length =\n jobRemoval?.success?.length + jobRemoval?.failure?.length;\n return [\n {\n data: {\n action: SyncType.JOB_REMOVAL,\n payload: jobRemoval,\n },\n length: length || 0,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_UPDATE: {\n return [\n {\n data: {\n action: _bulkEventData.data.action == DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE ? DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE : DispatchSyncType.DISPATCH_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n default: {\n return [\n {\n data: {\n action: DispatchSyncType.DEFAULT,\n payload: {},\n },\n length: 0,\n },\n ];\n }\n }\n }\n\n private splitData(data: any, chunkSize: number, splitKey: string): any[] {\n const result: any = [];\n const splitArray = data[splitKey];\n\n if (!splitArray || !Array.isArray(splitArray)) {\n return result;\n }\n\n for (let i = 0; i < splitArray.length; i += chunkSize) {\n const chunk: any = {};\n\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n chunk[key] =\n key === splitKey ? splitArray.slice(i, i + chunkSize) : data[key];\n }\n }\n\n result.push(chunk);\n }\n\n return result;\n }\n\n // NEW CODE\n async insertQueueEvent(_eventData: BulkEvent): Promise<void> {\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n try {\n values.push(`(?,?,?,?)`);\n const _meta = JSON.stringify(_eventData.meta);\n args.push(\n _eventData.data,\n _eventData.dispatchId,\n _eventData.syncType,\n _meta\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertQueueEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertQueueEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n\n\n // NEW CODE\n async insertBulkEvent(_eventData: BulkEvent): Promise<void> {\n try {\n const output: Array<SyncManagerPayload> = await this._modifyEventData(\n _eventData\n );\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n const _meta = JSON.stringify(_eventData.meta || {});\n\n if (\n _eventData.syncType === SyncType.WORKFLOW ||\n _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n _eventData.syncType === SyncType.CUSTODY_OUT_SCAN ||\n _eventData.syncType === DispatchSyncType.DISPATCH_UPDATE ||\n _eventData.syncType === DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE\n ) {\n output.forEach(\n (syncManagerPayload: SyncManagerPayload, index: number) => {\n const _payload = JSON.stringify(syncManagerPayload.data);\n if (\n isEmptyOrBlank(syncManagerPayload.data.action) ||\n isEmptyOrBlank(_payload)\n ) {\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n values.push(`(?,?,?,?,?)`);\n args.push(\n _payload,\n _eventData.dispatchId,\n _eventData.syncType,\n syncManagerPayload.length,\n _meta\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n }\n );\n\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n // else if (\n // _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n // _eventData.syncType === SyncType.CUSTODY_OUT_SCAN\n // ) {\n // output.forEach(\n // (syncManagerPayload: SyncManagerPayload, index: number) => {\n // const _payload = JSON.stringify(syncManagerPayload);\n // if (\n // isEmptyOrBlank(syncManagerPayload.action) ||\n // isEmptyOrBlank(_payload)\n // ) {\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n // }\n // values.push(`(?,?,?,?)`);\n // args.push(\n // _payload,\n // _eventData.dispatchId,\n // _eventData.syncType,\n // _meta\n // );\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // }\n // );\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } else if (_eventData.syncType === DispatchSyncType.DISPATCH_UPDATE) {\n // }\n else {\n const chunkedData = this.splitData(output, BULK_DATA_LIMIT, 'payload');\n\n chunkedData.forEach((_evData, index) => {\n const _payload = JSON.stringify(_evData.payload);\n if (isEmptyOrBlank(_evData.action) || isEmptyOrBlank(_payload))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n values.push(`(?,?,?,?,?)`);\n args.push(_evData, _eventData.dispatchId, _eventData.syncType, _meta);\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'insertBulkEvent-error',\n err.message,\n LOG_TYPE.SDK_DEBUG\n );\n\n if (this._retries < this.maxRetryCount) {\n this._retries++;\n await this.insertBulkEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n // OLD CODE\n // async insertBulkEvent(_eventData: BulkEvent[]): Promise<void> {\n // try {\n // let args: any[] = [];\n // let values: any[] = [];\n // let queryData: ExecQuery[] = []; //final data to pass to db\n // let evIndex = 100;\n\n // _eventData.forEach((_evData, index) => {\n // if (\n // !_evData.sequence ||\n // isEmptyOrBlank(_evData.data) ||\n // isEmptyOrBlank(_evData.dispatchId) ||\n // isEmptyOrBlank(_evData.syncType)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n\n // values.push(`(?,?,?,?,?)`);\n // args.push(\n // _evData.data,\n // _evData.dispatchId,\n // // _evData.sequence,\n // _evData.config ? JSON.stringify(_evData.config) : null,\n // _evData.syncType,\n // _evData.meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n // );\n // if (index === evIndex || index === _eventData.length - 1) {\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.CONFIG},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // evIndex = evIndex + evIndex;\n // }\n // });\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } catch (err) {\n // if (this._retries < this.maxRetryCount) {\n // Logger.getInstance().logEvent(\n // 'insertBulkEvent ',\n // this._retries.toString(),\n // LOG_TYPE.SDK_DEBUG\n // );\n // this._retries++;\n // await this.insertBulkEvent(_eventData);\n // } else {\n // this._retries = 0;\n // throw err;\n // }\n // }\n // }\n\n async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n if (dispatchID) {\n const resultSet = await Database.executeGetDataQuery(\n `SELECT * FROM ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeGetDataQuery(\n `SELECT * FROM ${EVENTS_TABLE};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n async getAllUnsyncedEvents(): Promise<EventRow[]> {\n let resultSet = await Database.executeGetDataQuery(\n `SELECT * FROM ${EVENTS_TABLE} \\\n where ${EVENTS_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllEvents() {\n const deleteEventsQuery = {\n query: `DELETE FROM ${EVENTS_TABLE};`,\n args: [],\n };\n const resetAutoIncrementSequence = {\n query: `UPDATE sqlite_sequence SET seq = 0 WHERE name\n = '${EVENTS_TABLE}';`,\n args: [],\n };\n\n return Database.executeBulkQuery([\n deleteEventsQuery,\n resetAutoIncrementSequence,\n ]);\n }\n\n async updateError(id: number, syncError: string): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeSetDataQuery(\n `UPDATE ${EVENTS_TABLE} \\\n SET \\\n ${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [syncError, id]\n );\n }\n\n // This function will actualy update the POD_DOC type of event as sync along with attempt count.\n async markPODDocEventSynced(sync: number, attempt: number, podDocId: String): Promise<void> {\n if (!podDocId) throw new TypeError('podDocId cannot be null');\n await Database.executeSetDataQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = ?, ${EVENTS_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${EVENTS_COLUMNS.SYNC_TYPE} = ?;`,\n [sync, attempt, podDocId]\n );\n }\n\n async markEventSynced(id: number): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeSetDataQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [id]\n );\n }\n\n async getWorkflowUpdateEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeGetDataQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getJobRemovalEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeGetDataQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getCustodyBatch(dispatchID: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeGetDataQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0 and \\\n (${EVENTS_COLUMNS.SYNC_TYPE} = ? or ${EVENTS_COLUMNS.SYNC_TYPE} = ?) \\\n and ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [SyncType.CUSTODY_IN_SCAN, SyncType.CUSTODY_OUT_SCAN, dispatchID]\n );\n return sqlResult.rows._array;\n }\n async getObjectiveDetails(objectiveRef: string): Promise<EventRow[]> {\n let rs = await Database.executeGetDataQuery(\n `SELECT * from ${EVENTS_TABLE} WHERE ${EVENTS_COLUMNS.META} = ?;`,\n [objectiveRef]\n );\n return rs.rows._array;\n }\n\n async getRowToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeGetDataQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ? and \\\n ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [dispatchId]\n );\n return sqlResult.rows._array;\n }\n\n async getBulkRowsToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.\n if (PROCESS_MAX_RETRIED_ROWS) {\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeGetDataQuery(query, []);\n return sqlResult.rows._array;\n } else {\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} and total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeGetDataQuery(query, []);\n return sqlResult.rows._array;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|