From ad7e1c42e31bf6d06e2fb14e1b5e10cdade81c0d Mon Sep 17 00:00:00 2001 From: Martin Ndegwa Date: Tue, 24 Sep 2024 12:24:39 +0300 Subject: [PATCH] Add API access for data in the LocalChangeEntity table --- engine/src/main/java/com/google/android/fhir/FhirEngine.kt | 2 ++ .../main/java/com/google/android/fhir/impl/FhirEngineImpl.kt | 2 ++ .../src/main/java/com/google/android/fhir/testing/Utilities.kt | 2 ++ 3 files changed, 6 insertions(+) diff --git a/engine/src/main/java/com/google/android/fhir/FhirEngine.kt b/engine/src/main/java/com/google/android/fhir/FhirEngine.kt index bb4dfb0241..0b5f111b8d 100644 --- a/engine/src/main/java/com/google/android/fhir/FhirEngine.kt +++ b/engine/src/main/java/com/google/android/fhir/FhirEngine.kt @@ -174,6 +174,8 @@ interface FhirEngine { */ suspend fun getLocalChanges(type: ResourceType, id: String): List + suspend fun getUnsyncedLocalChanges(): List + /** * Purges a resource from the database without deleting data from the server. * diff --git a/engine/src/main/java/com/google/android/fhir/impl/FhirEngineImpl.kt b/engine/src/main/java/com/google/android/fhir/impl/FhirEngineImpl.kt index fe5331bd73..284359436e 100644 --- a/engine/src/main/java/com/google/android/fhir/impl/FhirEngineImpl.kt +++ b/engine/src/main/java/com/google/android/fhir/impl/FhirEngineImpl.kt @@ -73,6 +73,8 @@ internal class FhirEngineImpl(private val database: Database, private val contex override suspend fun getLocalChanges(type: ResourceType, id: String) = withContext(Dispatchers.IO) { database.getLocalChanges(type, id) } + override suspend fun getUnsyncedLocalChanges(): List = database.getAllLocalChanges() + override suspend fun purge(type: ResourceType, id: String, forcePurge: Boolean) = withContext(Dispatchers.IO) { database.purge(type, setOf(id), forcePurge) } diff --git a/engine/src/main/java/com/google/android/fhir/testing/Utilities.kt b/engine/src/main/java/com/google/android/fhir/testing/Utilities.kt index c99e17be73..00c0060468 100644 --- a/engine/src/main/java/com/google/android/fhir/testing/Utilities.kt +++ b/engine/src/main/java/com/google/android/fhir/testing/Utilities.kt @@ -199,6 +199,8 @@ internal object TestFhirEngineImpl : FhirEngine { ) } + override suspend fun getUnsyncedLocalChanges(): List = listOf() + override suspend fun purge(type: ResourceType, id: String, forcePurge: Boolean) {} override suspend fun purge(type: ResourceType, ids: Set, forcePurge: Boolean) {}