Open MJ1998 opened 3 months ago
IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #2456 #2363 #2386
Introducing FhirSyncDbInteractor interface which acts as an abstract layer over database operations during sync. This is used by the FhirSynchronizer.
Now the synchronizer returns a Flow\<SyncJobStatus> and is neatly invoked like following:-
val terminalSyncJobStatus = FhirSynchronizer( fhirSyncDbInteractor = fhirSyncDbInteractor, uploader = uploader, downloader = downloader, ) .synchronize() .onEach { setProgress(buildWorkData(it)) } .first { it is SyncJobStatus.Failed || it is SyncJobStatus.Succeeded }
Tests not fixed yet
Description Clear and concise code change description.
Alternative(s) considered Have you considered any alternatives? And if so, why have you chosen the approach in this PR?
Type Choose one: (Bug fix | Feature | Documentation | Testing | Code health | Builds | Releases | Other)
Screenshots (if applicable)
Checklist
./gradlew spotlessApply
./gradlew spotlessCheck
./gradlew check
./gradlew connectedCheck
IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #2456 #2363 #2386
Introducing FhirSyncDbInteractor interface which acts as an abstract layer over database operations during sync. This is used by the FhirSynchronizer.
Now the synchronizer returns a Flow\<SyncJobStatus> and is neatly invoked like following:-
Tests not fixed yet
Description Clear and concise code change description.
Alternative(s) considered Have you considered any alternatives? And if so, why have you chosen the approach in this PR?
Type Choose one: (Bug fix | Feature | Documentation | Testing | Code health | Builds | Releases | Other)
Screenshots (if applicable)
Checklist
./gradlew spotlessApply
and./gradlew spotlessCheck
to check my code follows the style guide of this project../gradlew check
and./gradlew connectedCheck
to test my changes locally.