From 7a45e18cf5280d60b1ebe8dfd08c9745134b4197 Mon Sep 17 00:00:00 2001 From: Martin Ndegwa Date: Wed, 23 Aug 2023 10:00:56 +0300 Subject: [PATCH] New API to support saving local only resources - https://github.com/google/android-fhir/issues/2123 --- engine/src/main/java/com/google/android/fhir/FhirEngine.kt | 2 ++ .../main/java/com/google/android/fhir/impl/FhirEngineImpl.kt | 4 ++++ .../main/java/com/google/android/fhir/testing/Utilities.kt | 3 +++ 3 files changed, 9 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 f0cc2f72f9..376ff3b327 100644 --- a/engine/src/main/java/com/google/android/fhir/FhirEngine.kt +++ b/engine/src/main/java/com/google/android/fhir/FhirEngine.kt @@ -34,6 +34,8 @@ interface FhirEngine { */ suspend fun create(vararg resource: Resource): List + suspend fun createRemote(vararg resource: Resource) + /** Loads a FHIR resource given the class and the logical ID. */ suspend fun get(type: ResourceType, id: String): Resource 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 3b9911d66f..de35675a0b 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 @@ -44,6 +44,10 @@ internal class FhirEngineImpl(private val database: Database, private val contex return database.insert(*resource) } + override suspend fun createRemote(vararg resource: Resource) { + return database.insertRemote(*resource) + } + override suspend fun get(type: ResourceType, id: String): Resource { return database.select(type, id) } 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 59e035d41f..1e680aa479 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 @@ -133,6 +133,9 @@ open class TestDownloadManagerImpl( object TestFhirEngineImpl : FhirEngine { override suspend fun create(vararg resource: Resource) = emptyList() + override suspend fun createRemote(vararg resource: Resource) { + TODO("Not yet implemented") + } override suspend fun update(vararg resource: Resource) {}