From 1502d3db9d4278e4742677098a9d50f27fd2e10e Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Sat, 29 Oct 2022 16:57:21 +0200 Subject: [PATCH] Return V1 version response from V1 data source --- .../gq/kirmanak/mealient/data/baseurl/VersionInfo.kt | 2 -- .../mealient/extensions/RemoteToLocalMappings.kt | 5 ++++- .../mealient/datasource/v1/MealieDataSourceV1.kt | 4 ++-- .../mealient/datasource/v1/MealieDataSourceV1Impl.kt | 4 ++-- .../mealient/datasource/v1/MealieServiceV1.kt | 3 ++- .../datasource/v1/models/VersionResponseV1.kt | 12 ++++++++++++ 6 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/models/VersionResponseV1.kt diff --git a/app/src/main/java/gq/kirmanak/mealient/data/baseurl/VersionInfo.kt b/app/src/main/java/gq/kirmanak/mealient/data/baseurl/VersionInfo.kt index 0e24c3b..a1eb010 100644 --- a/app/src/main/java/gq/kirmanak/mealient/data/baseurl/VersionInfo.kt +++ b/app/src/main/java/gq/kirmanak/mealient/data/baseurl/VersionInfo.kt @@ -1,7 +1,5 @@ package gq.kirmanak.mealient.data.baseurl data class VersionInfo( - val production: Boolean, val version: String, - val demoStatus: Boolean, ) \ No newline at end of file diff --git a/app/src/main/java/gq/kirmanak/mealient/extensions/RemoteToLocalMappings.kt b/app/src/main/java/gq/kirmanak/mealient/extensions/RemoteToLocalMappings.kt index 1587186..e2ec913 100644 --- a/app/src/main/java/gq/kirmanak/mealient/extensions/RemoteToLocalMappings.kt +++ b/app/src/main/java/gq/kirmanak/mealient/extensions/RemoteToLocalMappings.kt @@ -7,6 +7,7 @@ import gq.kirmanak.mealient.database.recipe.entity.RecipeInstructionEntity import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity import gq.kirmanak.mealient.datasource.models.* import gq.kirmanak.mealient.datasource.v1.models.GetRecipeSummaryResponseV1 +import gq.kirmanak.mealient.datasource.v1.models.VersionResponseV1 import gq.kirmanak.mealient.datastore.recipe.AddRecipeDraft fun GetRecipeResponse.toRecipeEntity() = RecipeEntity( @@ -43,7 +44,9 @@ fun GetRecipeSummaryResponseV1.recipeEntity() = RecipeSummaryEntity( dateUpdated = dateUpdated, ) -fun VersionResponse.toVersionInfo() = VersionInfo(production, version, demoStatus) +fun VersionResponse.toVersionInfo() = VersionInfo(version) + +fun VersionResponseV1.toVersionInfo() = VersionInfo(version) fun AddRecipeDraft.toAddRecipeRequest() = AddRecipeRequest( name = recipeName, diff --git a/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieDataSourceV1.kt b/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieDataSourceV1.kt index 33fd5a3..a7eb284 100644 --- a/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieDataSourceV1.kt +++ b/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieDataSourceV1.kt @@ -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, diff --git a/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieDataSourceV1Impl.kt b/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieDataSourceV1Impl.kt index 39c4113..77961ee 100644 --- a/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieDataSourceV1Impl.kt +++ b/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieDataSourceV1Impl.kt @@ -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" }, diff --git a/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieServiceV1.kt b/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieServiceV1.kt index 34b0edc..5e6146c 100644 --- a/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieServiceV1.kt +++ b/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/MealieServiceV1.kt @@ -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( diff --git a/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/models/VersionResponseV1.kt b/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/models/VersionResponseV1.kt new file mode 100644 index 0000000..53e7763 --- /dev/null +++ b/datasource/src/main/kotlin/gq/kirmanak/mealient/datasource/v1/models/VersionResponseV1.kt @@ -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, +) \ No newline at end of file