Merge pull request #121 from kirmanak/v0-api-token
Fix authentication with API token on v0.5.6
This commit is contained in:
@@ -28,7 +28,7 @@ class AuthDataSourceImpl @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun createApiToken(name: String): String = when (getVersion()) {
|
override suspend fun createApiToken(name: String): String = when (getVersion()) {
|
||||||
ServerVersion.V0 -> v0Source.createApiToken(CreateApiTokenRequestV0(name))
|
ServerVersion.V0 -> v0Source.createApiToken(CreateApiTokenRequestV0(name)).token
|
||||||
ServerVersion.V1 -> v1Source.createApiToken(CreateApiTokenRequestV1(name)).token
|
ServerVersion.V1 -> v1Source.createApiToken(CreateApiTokenRequestV1(name)).token
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,7 @@ package gq.kirmanak.mealient.datasource.v0
|
|||||||
|
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.AddRecipeRequestV0
|
import gq.kirmanak.mealient.datasource.v0.models.AddRecipeRequestV0
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.CreateApiTokenRequestV0
|
import gq.kirmanak.mealient.datasource.v0.models.CreateApiTokenRequestV0
|
||||||
|
import gq.kirmanak.mealient.datasource.v0.models.CreateApiTokenResponseV0
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.GetRecipeResponseV0
|
import gq.kirmanak.mealient.datasource.v0.models.GetRecipeResponseV0
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.GetRecipeSummaryResponseV0
|
import gq.kirmanak.mealient.datasource.v0.models.GetRecipeSummaryResponseV0
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.GetUserInfoResponseV0
|
import gq.kirmanak.mealient.datasource.v0.models.GetUserInfoResponseV0
|
||||||
@@ -39,7 +40,7 @@ interface MealieDataSourceV0 {
|
|||||||
|
|
||||||
suspend fun createApiToken(
|
suspend fun createApiToken(
|
||||||
request: CreateApiTokenRequestV0,
|
request: CreateApiTokenRequestV0,
|
||||||
): String
|
): CreateApiTokenResponseV0
|
||||||
|
|
||||||
suspend fun requestUserInfo(): GetUserInfoResponseV0
|
suspend fun requestUserInfo(): GetUserInfoResponseV0
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import gq.kirmanak.mealient.datasource.NetworkRequestWrapper
|
|||||||
import gq.kirmanak.mealient.datasource.decode
|
import gq.kirmanak.mealient.datasource.decode
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.AddRecipeRequestV0
|
import gq.kirmanak.mealient.datasource.v0.models.AddRecipeRequestV0
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.CreateApiTokenRequestV0
|
import gq.kirmanak.mealient.datasource.v0.models.CreateApiTokenRequestV0
|
||||||
|
import gq.kirmanak.mealient.datasource.v0.models.CreateApiTokenResponseV0
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.ErrorDetailV0
|
import gq.kirmanak.mealient.datasource.v0.models.ErrorDetailV0
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.GetRecipeResponseV0
|
import gq.kirmanak.mealient.datasource.v0.models.GetRecipeResponseV0
|
||||||
import gq.kirmanak.mealient.datasource.v0.models.GetRecipeSummaryResponseV0
|
import gq.kirmanak.mealient.datasource.v0.models.GetRecipeSummaryResponseV0
|
||||||
@@ -85,7 +86,7 @@ class MealieDataSourceV0Impl @Inject constructor(
|
|||||||
|
|
||||||
override suspend fun createApiToken(
|
override suspend fun createApiToken(
|
||||||
request: CreateApiTokenRequestV0,
|
request: CreateApiTokenRequestV0,
|
||||||
): String = networkRequestWrapper.makeCallAndHandleUnauthorized(
|
): CreateApiTokenResponseV0 = networkRequestWrapper.makeCallAndHandleUnauthorized(
|
||||||
block = { service.createApiToken(request) },
|
block = { service.createApiToken(request) },
|
||||||
logMethod = { "createApiToken" },
|
logMethod = { "createApiToken" },
|
||||||
logParameters = { "request = $request" }
|
logParameters = { "request = $request" }
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ interface MealieServiceV0 {
|
|||||||
@POST("/api/users/api-tokens")
|
@POST("/api/users/api-tokens")
|
||||||
suspend fun createApiToken(
|
suspend fun createApiToken(
|
||||||
@Body request: CreateApiTokenRequestV0,
|
@Body request: CreateApiTokenRequestV0,
|
||||||
): String
|
): CreateApiTokenResponseV0
|
||||||
|
|
||||||
@GET("/api/users/self")
|
@GET("/api/users/self")
|
||||||
suspend fun getUserSelfInfo(): GetUserInfoResponseV0
|
suspend fun getUserSelfInfo(): GetUserInfoResponseV0
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package gq.kirmanak.mealient.datasource.v0.models
|
||||||
|
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class CreateApiTokenResponseV0(
|
||||||
|
@SerialName("token") val token: String
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user