package com.proyek.akhir.kodel.ui.user.profil

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import com.bumptech.glide.Glide
import com.proyek.akhir.kodel.data.response.Anggota
import com.proyek.akhir.kodel.utils.ApiClient
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response

class ProfilViewModel : ViewModel() {
    private val anggotaKoperasi = MutableLiveData<Anggota>()
    private val anggotaItemKoperasi = MutableLiveData<Anggota>()

    init {
        getAnggotaKoperasi()
    }

    private fun getAnggotaKoperasi() {
        ApiClient().getServiceDel().getAnggota().enqueue(object : Callback<Anggota> {
            override fun onFailure(call: Call<Anggota>, t: Throwable) {
                anggotaKoperasi.value = null
            }

            override fun onResponse(call: Call<Anggota>, response: Response<Anggota>) {
                if (response.isSuccessful) {
                    anggotaKoperasi.value = response.body()
                } else {
                    anggotaKoperasi.value = null
                }
            }
        })
    }

    fun getItemAnggota(idAnggota: String) {
        ApiClient().getServiceDel().getOneAnggota(idAnggota).enqueue(object : Callback<Anggota> {
            override fun onFailure(call: Call<Anggota>, t: Throwable) {
                anggotaItemKoperasi.value = null
            }

            override fun onResponse(call: Call<Anggota>, response: Response<Anggota>) {
                if (response.isSuccessful) {
                    anggotaItemKoperasi.value = response.body()
                } else {
                    anggotaItemKoperasi.value = null
                }
            }
        })
    }

    fun setDataAnggota(): MutableLiveData<Anggota> {
        return anggotaKoperasi
    }

    fun setDataAnggotaItem(): MutableLiveData<Anggota> {
        return anggotaItemKoperasi
    }
}