Create V1 files
This commit is contained in:
@@ -0,0 +1,41 @@
|
|||||||
|
package gq.kirmanak.mealient.datasource
|
||||||
|
|
||||||
|
import gq.kirmanak.mealient.datasource.models.AddRecipeRequest
|
||||||
|
import gq.kirmanak.mealient.datasource.models.GetRecipeResponse
|
||||||
|
import gq.kirmanak.mealient.datasource.models.GetRecipeSummaryResponse
|
||||||
|
import gq.kirmanak.mealient.datasource.models.VersionResponse
|
||||||
|
|
||||||
|
interface MealieDataSourceV1 {
|
||||||
|
|
||||||
|
suspend fun addRecipe(
|
||||||
|
baseUrl: String,
|
||||||
|
token: String?,
|
||||||
|
recipe: AddRecipeRequest,
|
||||||
|
): String
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tries to acquire authentication token using the provided credentials
|
||||||
|
*/
|
||||||
|
suspend fun authenticate(
|
||||||
|
baseUrl: String,
|
||||||
|
username: String,
|
||||||
|
password: String,
|
||||||
|
): String
|
||||||
|
|
||||||
|
suspend fun getVersionInfo(
|
||||||
|
baseUrl: String,
|
||||||
|
): VersionResponse
|
||||||
|
|
||||||
|
suspend fun requestRecipes(
|
||||||
|
baseUrl: String,
|
||||||
|
token: String?,
|
||||||
|
start: Int,
|
||||||
|
limit: Int,
|
||||||
|
): List<GetRecipeSummaryResponse>
|
||||||
|
|
||||||
|
suspend fun requestRecipeInfo(
|
||||||
|
baseUrl: String,
|
||||||
|
token: String?,
|
||||||
|
slug: String,
|
||||||
|
): GetRecipeResponse
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package gq.kirmanak.mealient.datasource
|
||||||
|
|
||||||
|
import gq.kirmanak.mealient.datasource.models.AddRecipeRequest
|
||||||
|
import gq.kirmanak.mealient.datasource.models.GetRecipeResponse
|
||||||
|
import gq.kirmanak.mealient.datasource.models.GetRecipeSummaryResponse
|
||||||
|
import gq.kirmanak.mealient.datasource.models.VersionResponse
|
||||||
|
|
||||||
|
class MealieDataSourceV1Impl : MealieDataSourceV1 {
|
||||||
|
override suspend fun addRecipe(
|
||||||
|
baseUrl: String,
|
||||||
|
token: String?,
|
||||||
|
recipe: AddRecipeRequest
|
||||||
|
): String {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override suspend fun authenticate(baseUrl: String, username: String, password: String): String {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override suspend fun getVersionInfo(baseUrl: String): VersionResponse {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override suspend fun requestRecipes(
|
||||||
|
baseUrl: String,
|
||||||
|
token: String?,
|
||||||
|
start: Int,
|
||||||
|
limit: Int
|
||||||
|
): List<GetRecipeSummaryResponse> {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override suspend fun requestRecipeInfo(
|
||||||
|
baseUrl: String,
|
||||||
|
token: String?,
|
||||||
|
slug: String
|
||||||
|
): GetRecipeResponse {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package gq.kirmanak.mealient.datasource
|
||||||
|
|
||||||
|
import gq.kirmanak.mealient.datasource.DataSourceModule.Companion.AUTHORIZATION_HEADER_NAME
|
||||||
|
import gq.kirmanak.mealient.datasource.models.*
|
||||||
|
import retrofit2.http.*
|
||||||
|
|
||||||
|
interface MealieServiceV1 {
|
||||||
|
|
||||||
|
@FormUrlEncoded
|
||||||
|
@POST
|
||||||
|
suspend fun getToken(
|
||||||
|
@Url url: String,
|
||||||
|
@Field("username") username: String,
|
||||||
|
@Field("password") password: String,
|
||||||
|
): GetTokenResponse
|
||||||
|
|
||||||
|
@POST
|
||||||
|
suspend fun addRecipe(
|
||||||
|
@Url url: String,
|
||||||
|
@Header(AUTHORIZATION_HEADER_NAME) token: String?,
|
||||||
|
@Body addRecipeRequest: AddRecipeRequest,
|
||||||
|
): String
|
||||||
|
|
||||||
|
@GET
|
||||||
|
suspend fun getVersion(
|
||||||
|
@Url url: String,
|
||||||
|
): VersionResponse
|
||||||
|
|
||||||
|
@GET
|
||||||
|
suspend fun getRecipeSummary(
|
||||||
|
@Url url: String,
|
||||||
|
@Header(AUTHORIZATION_HEADER_NAME) token: String?,
|
||||||
|
@Query("start") start: Int,
|
||||||
|
@Query("limit") limit: Int,
|
||||||
|
): List<GetRecipeSummaryResponse>
|
||||||
|
|
||||||
|
@GET
|
||||||
|
suspend fun getRecipeSummaryV1(
|
||||||
|
@Url url: String,
|
||||||
|
@Header(AUTHORIZATION_HEADER_NAME) token: String?,
|
||||||
|
@Query("page") page: Int,
|
||||||
|
@Query("perPage") perPage: Int,
|
||||||
|
): GetRecipesResponseV1
|
||||||
|
|
||||||
|
@GET
|
||||||
|
suspend fun getRecipe(
|
||||||
|
@Url url: String,
|
||||||
|
@Header(AUTHORIZATION_HEADER_NAME) token: String?,
|
||||||
|
): GetRecipeResponse
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user