package com.khmer9.yuki.remote.main

import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
import org.json.JSONArray

@JsonClass(generateAdapter = true)
data class SocketClientResultDataModel(
    @Json(name = "_id")
    val id: String,

    @Json(name = "no")
    val no: Int,

    @Json(name = "bonus_between_year")
    val bonusBetweenYear: BonusBetweenYear,

    @Json(name = "between_year")
    val betweenYear: BetweenYear,

    @Json(name = "small_large")
    val smallLarge: SmallLarge,

    @Json(name = "range")
    val range: Range,

    @Json(name = "blue_red")
    val blueRed: BlueRed,

    @Json(name = "odd_even")
    val oddEven: OddEven,
)

@JsonClass(generateAdapter = true)
data class BonusBetweenYear(
    @Json(name = "is_bonus")
    val isBonus: Boolean,

    @Json(name = "payout")
    val payout: Double,

    @Json(name = "year_number")
    val yearNumber: Int,
)

@JsonClass(generateAdapter = true)
data class BetweenYear(
    @Json(name = "year_name_kh")
    val yearNameKh: String,

    @Json(name = "year_name_vn")
    val yearNameVn: String,

    @Json(name = "year_name_tb")
    val yearNameTb: String,

    @Json(name = "year_name_en")
    val yearNameEn: String,

    @Json(name = "year_number")
    val yearNumber: Int,
)

@JsonClass(generateAdapter = true)
data class SmallLarge(
    @Json(name = "year_name_kh")
    val yearNameKh: String,

    @Json(name = "year_name_vn")
    val yearNameVn: String,

    @Json(name = "year_name_tb")
    val yearNameTb: String,

    @Json(name = "year_name_en")
    val yearNameEn: String,

    @Json(name = "year_number")
    val yearNumber: String,
)

@JsonClass(generateAdapter = true)
data class Range(
    @Json(name = "year_name_kh")
    val yearNameKh: String,

    @Json(name = "year_name_vn")
    val yearNameVn: String,

    @Json(name = "year_name_tb")
    val yearNameTb: String,

    @Json(name = "year_name_en")
    val yearNameEn: String,

    @Json(name = "year_number")
    val yearNumber: String,
)

@JsonClass(generateAdapter = true)
data class BlueRed(
    @Json(name = "year_name_kh")
    val yearNameKh: String,

    @Json(name = "year_name_vn")
    val yearNameVn: String,

    @Json(name = "year_name_tb")
    val yearNameTb: String,

    @Json(name = "year_name_en")
    val yearNameEn: String,

    @Json(name = "year_number")
    val yearNumber: String,
)

@JsonClass(generateAdapter = true)
data class OddEven(
    @Json(name = "year_name_kh")
    val yearNameKh: String,

    @Json(name = "year_name_vn")
    val yearNameVn: String,

    @Json(name = "year_name_tb")
    val yearNameTb: String,

    @Json(name = "year_name_en")
    val yearNameEn: String,

    @Json(name = "year_number")
    val yearNumber: String,
)