Return V1 version response from V1 data source

This commit is contained in:
Kirill Kamakin
2022-10-29 16:57:21 +02:00
parent da33bc2730
commit 1502d3db9d
6 changed files with 22 additions and 8 deletions

View File

@@ -2,8 +2,8 @@ package gq.kirmanak.mealient.datasource.v1
import gq.kirmanak.mealient.datasource.models.AddRecipeRequest
import gq.kirmanak.mealient.datasource.models.GetRecipeResponse
import gq.kirmanak.mealient.datasource.models.VersionResponse
import gq.kirmanak.mealient.datasource.v1.models.GetRecipeSummaryResponseV1
import gq.kirmanak.mealient.datasource.v1.models.VersionResponseV1
interface MealieDataSourceV1 {
@@ -24,7 +24,7 @@ interface MealieDataSourceV1 {
suspend fun getVersionInfo(
baseUrl: String,
): VersionResponse
): VersionResponseV1
suspend fun requestRecipes(
baseUrl: String,

View File

@@ -3,8 +3,8 @@ package gq.kirmanak.mealient.datasource.v1
import gq.kirmanak.mealient.datasource.models.AddRecipeRequest
import gq.kirmanak.mealient.datasource.models.GetRecipeResponse
import gq.kirmanak.mealient.datasource.models.NetworkError
import gq.kirmanak.mealient.datasource.models.VersionResponse
import gq.kirmanak.mealient.datasource.v1.models.GetRecipeSummaryResponseV1
import gq.kirmanak.mealient.datasource.v1.models.VersionResponseV1
import gq.kirmanak.mealient.logging.Logger
import kotlinx.serialization.SerializationException
import kotlinx.serialization.json.Json
@@ -33,7 +33,7 @@ class MealieDataSourceV1Impl @Inject constructor(
TODO("Not yet implemented")
}
override suspend fun getVersionInfo(baseUrl: String): VersionResponse = makeCall(
override suspend fun getVersionInfo(baseUrl: String): VersionResponseV1 = makeCall(
block = { getVersion("$baseUrl/api/app/about") },
logMethod = { "getVersionInfo" },
logParameters = { "baseUrl = $baseUrl" },

View File

@@ -3,6 +3,7 @@ package gq.kirmanak.mealient.datasource.v1
import gq.kirmanak.mealient.datasource.DataSourceModule.Companion.AUTHORIZATION_HEADER_NAME
import gq.kirmanak.mealient.datasource.models.*
import gq.kirmanak.mealient.datasource.v1.models.GetRecipesResponseV1
import gq.kirmanak.mealient.datasource.v1.models.VersionResponseV1
import retrofit2.http.*
interface MealieServiceV1 {
@@ -25,7 +26,7 @@ interface MealieServiceV1 {
@GET
suspend fun getVersion(
@Url url: String,
): VersionResponse
): VersionResponseV1
@GET
suspend fun getRecipeSummary(

View File

@@ -0,0 +1,12 @@
package gq.kirmanak.mealient.datasource.v1.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class VersionResponseV1(
@SerialName("production") val production: Boolean,
@SerialName("version") val version: String,
@SerialName("demoStatus") val demoStatus: Boolean,
@SerialName("allowSignup") val allowSignup: Boolean,
)