package com.example.smartlab.Model

import com.google.gson.GsonBuilder
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Call
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.converter.scalars.ScalarsConverterFactory
import retrofit2.http.GET
import retrofit2.http.Header
import retrofit2.http.POST

/*
    СКОМУНИЗЖЕНО отсюда
        источник: https://stacktuts.com/how-to-make-an-api-request-in-kotlin
    !! НАЧИНАЯ С 'Method 3: Using Retrofit with OkHttp' !!
        источник: https://github.com/Julia-Mamsheva/ExampleConnectionApi/blob/master/app/src/main/java/com/example/projectapi/Activities/Email.kt
    !! НАЧИНАЯ С 40 строчкки кода!!
 */

//все запросы пихаешь сюда
interface ApiRequest {
    @POST("api/SendCode")
    fun SendCode(@Header("User-email") email: String): Call<String>

    @POST("api/SignIn")
    fun SignIn(@Header("User-email") email: String, @Header("User-code") code: String): Call<String>

    @GET("api/News") //Какой метод мы вызываем и по какому пути
    fun getNews(): Call<ArrayList<NewsItem>> // Call - какой тип данных мы ожидаем

    @GET("api/Catalog") //Какой метод мы вызываем и по какому пути
    fun getCatalog(): Call<ArrayList<CatalogItem>> // Call - какой тип данных мы ожидаем
}