Fix parsing update recipe response
This commit is contained in:
@@ -31,7 +31,8 @@ class MealieDataSourceWrapper @Inject constructor(
|
||||
ServerVersion.V0 -> v0Source.addRecipe(url, token, recipe.toV0Request())
|
||||
ServerVersion.V1 -> {
|
||||
val slug = v1Source.createRecipe(url, token, recipe.toV1CreateRequest())
|
||||
v1Source.updateRecipe(url, token, slug, recipe.toV1UpdateRequest(slug))
|
||||
v1Source.updateRecipe(url, token, slug, recipe.toV1UpdateRequest())
|
||||
slug
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,14 +211,12 @@ fun AddRecipeInfo.toV1CreateRequest() = CreateRecipeRequestV1(
|
||||
name = name,
|
||||
)
|
||||
|
||||
fun AddRecipeInfo.toV1UpdateRequest(slug: String) = UpdateRecipeRequestV1(
|
||||
name = name,
|
||||
fun AddRecipeInfo.toV1UpdateRequest() = UpdateRecipeRequestV1(
|
||||
description = description,
|
||||
image = image,
|
||||
recipeYield = recipeYield,
|
||||
recipeIngredient = recipeIngredient.map { it.toV1Ingredient() },
|
||||
recipeInstructions = recipeInstructions.map { it.toV1Instruction() },
|
||||
slug = slug,
|
||||
filePath = filePath,
|
||||
tags = tags,
|
||||
categories = categories,
|
||||
@@ -254,4 +252,5 @@ private fun AddRecipeIngredientInfo.toV1Ingredient() = AddRecipeIngredientV1(
|
||||
private fun AddRecipeInstructionInfo.toV1Instruction() = AddRecipeInstructionV1(
|
||||
title = title,
|
||||
text = text,
|
||||
ingredientReferences = emptyList(),
|
||||
)
|
||||
@@ -15,7 +15,7 @@ interface MealieDataSourceV1 {
|
||||
token: String?,
|
||||
slug: String,
|
||||
recipe: UpdateRecipeRequestV1,
|
||||
): String
|
||||
): GetRecipeResponseV1
|
||||
|
||||
/**
|
||||
* Tries to acquire authentication token using the provided credentials
|
||||
|
||||
@@ -34,7 +34,7 @@ class MealieDataSourceV1Impl @Inject constructor(
|
||||
token: String?,
|
||||
slug: String,
|
||||
recipe: UpdateRecipeRequestV1
|
||||
): String = networkRequestWrapper.makeCallAndHandleUnauthorized(
|
||||
): GetRecipeResponseV1 = networkRequestWrapper.makeCallAndHandleUnauthorized(
|
||||
block = { service.updateRecipe("$baseUrl/api/recipes/$slug", token, recipe) },
|
||||
logMethod = { "updateRecipe" },
|
||||
logParameters = { "baseUrl = $baseUrl, token = $token, slug = $slug, recipe = $recipe" }
|
||||
|
||||
@@ -21,12 +21,12 @@ interface MealieServiceV1 {
|
||||
@Body addRecipeRequest: CreateRecipeRequestV1,
|
||||
): String
|
||||
|
||||
@PUT
|
||||
@PATCH
|
||||
suspend fun updateRecipe(
|
||||
@Url url: String,
|
||||
@Header(AUTHORIZATION_HEADER_NAME) token: String?,
|
||||
@Body addRecipeRequest: UpdateRecipeRequestV1,
|
||||
): String
|
||||
): GetRecipeResponseV1
|
||||
|
||||
@GET
|
||||
suspend fun getVersion(
|
||||
|
||||
@@ -5,13 +5,11 @@ import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class UpdateRecipeRequestV1(
|
||||
@SerialName("name") val name: String = "",
|
||||
@SerialName("description") val description: String = "",
|
||||
@SerialName("image") val image: String = "",
|
||||
@SerialName("recipeYield") val recipeYield: String = "",
|
||||
@SerialName("recipeIngredient") val recipeIngredient: List<AddRecipeIngredientV1> = emptyList(),
|
||||
@SerialName("recipeInstructions") val recipeInstructions: List<AddRecipeInstructionV1> = emptyList(),
|
||||
@SerialName("slug") val slug: String = "",
|
||||
@SerialName("filePath") val filePath: String = "",
|
||||
@SerialName("tags") val tags: List<String> = emptyList(),
|
||||
@SerialName("categories") val categories: List<String> = emptyList(),
|
||||
@@ -35,6 +33,7 @@ data class AddRecipeIngredientV1(
|
||||
data class AddRecipeInstructionV1(
|
||||
@SerialName("title") val title: String = "",
|
||||
@SerialName("text") val text: String = "",
|
||||
@SerialName("ingredientReferences") val ingredientReferences: List<String> = emptyList(),
|
||||
)
|
||||
|
||||
@Serializable
|
||||
|
||||
Reference in New Issue
Block a user