Remove v1 version from v0 data source

This commit is contained in:
Kirill Kamakin
2022-10-29 16:50:13 +02:00
parent 1f5234d123
commit da33bc2730
2 changed files with 13 additions and 16 deletions

View File

@@ -29,7 +29,15 @@ class MealieDataSourceWrapper @Inject constructor(
withAuthHeader { token -> mealieDataSource.addRecipe(getUrl(), token, recipe) } withAuthHeader { token -> mealieDataSource.addRecipe(getUrl(), token, recipe) }
override suspend fun getVersionInfo(baseUrl: String): VersionInfo = override suspend fun getVersionInfo(baseUrl: String): VersionInfo =
mealieDataSource.getVersionInfo(baseUrl).toVersionInfo() runCatchingExceptCancel {
mealieDataSource.getVersionInfo(baseUrl).toVersionInfo()
}.getOrElse {
if (it is NetworkError.NotMealie) {
mealieDataSourceV1.getVersionInfo(baseUrl).toVersionInfo()
} else {
throw it
}
}
override suspend fun requestRecipes(start: Int, limit: Int): List<GetRecipeSummaryResponseV1> = override suspend fun requestRecipes(start: Int, limit: Int): List<GetRecipeSummaryResponseV1> =
withAuthHeader { token -> withAuthHeader { token ->

View File

@@ -46,25 +46,14 @@ class MealieDataSourceImpl @Inject constructor(
logParameters = { "baseUrl = $baseUrl" }, logParameters = { "baseUrl = $baseUrl" },
).getOrElse { ).getOrElse {
when (it) { when (it) {
is HttpException, is SerializationException -> getVersionInfoV1(baseUrl) is HttpException, is SerializationException -> throw NetworkError.NotMealie(it)
is SocketTimeoutException, is SocketTimeoutException, is ConnectException -> throw NetworkError.NoServerConnection(
is ConnectException -> throw NetworkError.NoServerConnection(it) it
)
else -> throw NetworkError.MalformedUrl(it) else -> throw NetworkError.MalformedUrl(it)
} }
} }
private suspend fun getVersionInfoV1(baseUrl: String): VersionResponse = makeCall(
block = { getVersion("$baseUrl/api/app/about") },
logMethod = { "getVersionInfoV1" },
logParameters = { "baseUrl = $baseUrl" },
).getOrElse {
throw when (it) {
is HttpException, is SerializationException -> NetworkError.NotMealie(it)
is SocketTimeoutException, is ConnectException -> NetworkError.NoServerConnection(it)
else -> NetworkError.MalformedUrl(it)
}
}
override suspend fun requestRecipes( override suspend fun requestRecipes(
baseUrl: String, token: String?, start: Int, limit: Int baseUrl: String, token: String?, start: Int, limit: Int
): List<GetRecipeSummaryResponse> = makeCall( ): List<GetRecipeSummaryResponse> = makeCall(