package com.covalima.rekomendasaunaihan.model import com.google.gson.annotations.SerializedName data class Aihan( @SerializedName("id_aihan") val idAihan: Int, @SerializedName("naran_aihan") val naranAihan: String, @SerializedName("naran_kategoria") val naranKategoria: String?, @SerializedName("naran_ingredientes") val naranIngredientes: String?, @SerializedName("sabor") val sabor: String, @SerializedName("textura") val textura: String, @SerializedName("deskripsaun") val deskripsaun: String? = null, @SerializedName("foto") val foto: String?, @SerializedName("foto_resep") val fotoResep: String? = null, @SerializedName("rata_bintang") val rataBintang: Double = 0.0, @SerializedName("jumlah_rating") val jumlahRating: Int = 0 ) data class Kategoria( @SerializedName("id_kategoria") val idKategoria: Int, @SerializedName("naran_kategoria") val naranKategoria: String, @SerializedName("deskrisaun") val deskrisaun: String? ) data class Ingredientes( @SerializedName("id_ingredientes") val idIngredientes: Int, @SerializedName("naran_ingredientes") val naranIngredientes: String, @SerializedName("deskrisaun") val deskrisaun: String?, @SerializedName("foto") val foto: String? = null ) data class Rekomendasi( @SerializedName("id_aihan") val idAihan: Int, @SerializedName("naran_aihan") val naranAihan: String, @SerializedName("naran_kategoria") val naranKategoria: String?, @SerializedName("foto") val foto: String?, @SerializedName("similaridade") val similaridade: Double, @SerializedName("rata_bintang") val rataBintang: Double, @SerializedName("skor_preferensia") val skorPreferensia: Double ) data class Favorito( @SerializedName("id_favorito") val idFavorito: Int, @SerializedName("id_aihan") val idAihan: Int, @SerializedName("naran_aihan") val naranAihan: String, @SerializedName("naran_kategoria") val naranKategoria: String?, @SerializedName("foto") val foto: String?, @SerializedName("rata_bintang") val rataBintang: Double ) data class FavoritoToggleRequest( @SerializedName("id_aihan") val idAihan: Int, @SerializedName("id_user") val idUser: String ) data class FavoritoToggleResponse( @SerializedName("status") val status: String, @SerializedName("action") val action: String?, @SerializedName("is_favorito") val isFavorito: Boolean ) data class RatingRequest( @SerializedName("id_aihan") val idAihan: Int, @SerializedName("id_user") val idUser: String, @SerializedName("valor_bintang") val valorBintang: Int ) data class ApiResponse( @SerializedName("status") val status: String, @SerializedName("message") val message: String? = null, @SerializedName("data") val data: T? = null ) data class User( @SerializedName("id_user") val idUser: Int, @SerializedName("naran") val naran: String, @SerializedName("email") val email: String ) data class LoginRequest( @SerializedName("email") val email: String, @SerializedName("password") val password: String ) data class RegisterRequest( @SerializedName("naran") val naran: String, @SerializedName("email") val email: String, @SerializedName("password") val password: String ) // Profil Utilizadór (Tabela 3.7 iha proposta) - preferénsia explísitu // ne'ebé utilizadór hili atu hetan rekomendasaun personalizadu data class PreferensiaRequest( @SerializedName("ikan") val ikan: Int, @SerializedName("nan") val nan: Int, @SerializedName("modo") val modo: Int, @SerializedName("dosi") val dosi: Int, @SerializedName("manas") val manas: Int, @SerializedName("midar") val midar: Int, @SerializedName("moruk") val moruk: Int, @SerializedName("sin") val sin: Int, @SerializedName("mamar") val mamar: Int, @SerializedName("tos") val tos: Int, @SerializedName("id_device") val idDevice: String? = null )