Add logging to datastore
This commit is contained in:
@@ -6,7 +6,7 @@ interface AddRecipeStorage {
|
||||
|
||||
val updates: Flow<AddRecipeDraft>
|
||||
|
||||
suspend fun save(addRecipeRequest: AddRecipeDraft)
|
||||
suspend fun save(addRecipeDraft: AddRecipeDraft)
|
||||
|
||||
suspend fun clear()
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package gq.kirmanak.mealient.datastore.recipe
|
||||
|
||||
import androidx.datastore.core.DataStore
|
||||
import gq.kirmanak.mealient.logging.Logger
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.map
|
||||
import javax.inject.Inject
|
||||
@@ -9,6 +10,7 @@ import javax.inject.Singleton
|
||||
@Singleton
|
||||
class AddRecipeStorageImpl @Inject constructor(
|
||||
private val dataStore: DataStore<AddRecipeInput>,
|
||||
private val logger: Logger,
|
||||
) : AddRecipeStorage {
|
||||
|
||||
override val updates: Flow<AddRecipeDraft>
|
||||
@@ -24,20 +26,22 @@ class AddRecipeStorageImpl @Inject constructor(
|
||||
)
|
||||
}
|
||||
|
||||
override suspend fun save(addRecipeRequest: AddRecipeDraft) {
|
||||
override suspend fun save(addRecipeDraft: AddRecipeDraft) {
|
||||
logger.v { "save() called with: addRecipeDraft = $addRecipeDraft" }
|
||||
val input = AddRecipeInput.newBuilder()
|
||||
.setRecipeName(addRecipeRequest.recipeName)
|
||||
.setRecipeDescription(addRecipeRequest.recipeDescription)
|
||||
.setRecipeYield(addRecipeRequest.recipeYield)
|
||||
.setIsRecipePublic(addRecipeRequest.isRecipePublic)
|
||||
.setAreCommentsDisabled(addRecipeRequest.areCommentsDisabled)
|
||||
.addAllRecipeIngredients(addRecipeRequest.recipeIngredients)
|
||||
.addAllRecipeInstructions(addRecipeRequest.recipeInstructions)
|
||||
.setRecipeName(addRecipeDraft.recipeName)
|
||||
.setRecipeDescription(addRecipeDraft.recipeDescription)
|
||||
.setRecipeYield(addRecipeDraft.recipeYield)
|
||||
.setIsRecipePublic(addRecipeDraft.isRecipePublic)
|
||||
.setAreCommentsDisabled(addRecipeDraft.areCommentsDisabled)
|
||||
.addAllRecipeIngredients(addRecipeDraft.recipeIngredients)
|
||||
.addAllRecipeInstructions(addRecipeDraft.recipeInstructions)
|
||||
.build()
|
||||
dataStore.updateData { input }
|
||||
}
|
||||
|
||||
override suspend fun clear() {
|
||||
logger.v { "clear() called" }
|
||||
dataStore.updateData { AddRecipeInput.getDefaultInstance() }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user