From e27a0dd3f05c1b029460fdc7a7cce5a8a0b6f402 Mon Sep 17 00:00:00 2001 From: Satindar Dhillon Date: Tue, 7 Mar 2023 20:47:09 -0800 Subject: [PATCH] persist new label to db --- .../omnivore/ui/library/LibraryViewModel.kt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt index 5073880aa..6e078be31 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt @@ -10,6 +10,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import app.omnivore.omnivore.* import app.omnivore.omnivore.dataService.* +import app.omnivore.omnivore.graphql.generated.type.CreateLabelInput import app.omnivore.omnivore.graphql.generated.type.SetLabelsInput import app.omnivore.omnivore.networking.* import app.omnivore.omnivore.persistence.entities.* @@ -296,7 +297,23 @@ class LibraryViewModel @Inject constructor( } fun createNewSavedItemLabel(labelName: String, hexColorValue: String) { - Log.d("labels", "creating label with name: $labelName and hex: $hexColorValue") + viewModelScope.launch { + withContext(Dispatchers.IO) { + val newLabel = networker.createNewLabel(CreateLabelInput(color = hexColorValue, name = labelName)) + + newLabel?.let { + val savedItemLabel = SavedItemLabel( + savedItemLabelId = it.id, + name = it.name, + color = it.color, + createdAt = it.createdAt as String?, + labelDescription = it.description + ) + + dataService.db.savedItemLabelDao().insertAll(listOf(savedItemLabel)) + } + } + } } fun currentSavedItemUnderEdit(): SavedItemCardDataWithLabels? {