package com.proyek.akhir.kodel.utils

import com.proyek.akhir.kodel.data.response.*
import retrofit2.Call
import retrofit2.http.*


interface GetService {
    @GET(Constans.API_PEOPLE + "?idAnggota=" + Constans.ID_ANGGOTA)
    fun getAnggota(): Call<Anggota>

    @GET(Constans.API_PEOPLE)
    fun getAllAnggota(): Call<Anggota>

    @GET(Constans.API_PEOPLE)
    fun getOneAnggota(@Query("idAnggota") idAnggota: String): Call<Anggota>

    @GET(Constans.API_UTANG + "?idAnggota=" + Constans.ID_SAMPLE)
    fun getUtang(): Call<Utang>

    @GET(Constans.API_UTANG)
    fun getAllUtang(): Call<Utang>

    @GET(Constans.API_BERITA)
    fun getBerita(): Call<Berita>

    @GET(Constans.API_PRODUK)
    fun getProduk(): Call<Produk>

    @GET(Constans.API_PRODUK)
    fun getProdukItem(@Query("idProduk") idProduk: String): Call<Produk>

    @GET(Constans.API_UTANG + "?isMenunggak=1")
    fun getUtangAll(): Call<Utang>

    @GET(Constans.API_UTANG + "?isJatuhTempo=1")
    fun getAllPenunggak(): Call<Utang>

    @GET(Constans.API_TRANSAKSI)
    fun getAllTransaksi(): Call<Transaksi>

    @GET(Constans.API_KUPON)
    fun getCupon(@Query("codekupon") codeKupon: String): Call<Kupon>

    @GET(Constans.API_PINJAM + "?statusPinjam=0")
    fun getAllPinjam(): Call<Pinjam>

    @GET(Constans.API_KUPON)
    fun getAllCupon(): Call<Kupon>

    @GET(Constans.API_ISI_SALDO + "?statusIsi=0")
    fun getAllIsiSaldo(): Call<IsiSaldo>

    @GET(Constans.API_TARIK_SALDO)
    fun getAllTarikSaldo(): Call<TarikSaldo>

//        @Field("tglPinjam") tglPinjam: String

    //    @FormUrlEncoded
//    @POST(Constans.API_PINJAM)
//    fun postAjuanPinjaman(
//        @Field("id") id: Int,
//        @Field("idAnggota") idAnggota: Int,
//        @Field("jlhPinjam") jlhPinjam: Int,
//        @Field("statusPinjam") statusPinjam: Boolean,

    @Headers("Content-Type: application/json")
    @POST(Constans.API_PINJAM)
    fun postAjuanPinjaman(@Body pinjam: PinjamResponse): Call<PinjamResponse>

    @Headers("Content-Type: application/json")
    @POST(Constans.API_TARIK_SALDO)
    fun postTarikSaldo(@Body tarikSaldo: TarikSaldoResponse): Call<TarikSaldoResponse>

    @Headers("Content-Type: application/json")
    @POST(Constans.API_ISI_SALDO)
    fun postIsiSaldo(@Body isiSaldo: IsiSaldoResponse): Call<IsiSaldoResponse>

    @Headers("Content-Type: application/json")
    @POST(Constans.API_KUPON)
    fun postKupon(@Body kupon: KuponResponse): Call<KuponResponse>

    @Headers("Content-Type: application/json")
    @POST(Constans.API_PRODUK)
    fun postProduk(@Body produk: ProdukResponse): Call<ProdukResponse>

    @Headers("Content-Type: application/json")
    fun postBerita(@Body berita: BeritaResponse): Call<BeritaResponse>

    @PUT(Constans.API_ISI_SALDO)
    fun editIsiSaldo(@Body isiSaldo: IsiSaldoResponse): Call<IsiSaldoResponse>
}