package com.sambath.klaklouk_main.remote import com.gdtlib.lib.adapter.BaseListItem import com.squareup.moshi.Json import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) class LoginRequest( @Json(name = "user_name") val username: String, @Json(name = "password") val password: String, @Json(name = "app_id") val appId: String? = "62fba94b2efe5521de0c3a34" ) @JsonClass(generateAdapter = true) data class LoginResponse( @Json(name = "code") val resultCode: Int, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: LoginData? ) @JsonClass(generateAdapter = true) data class ChangePwd( @Json(name = "old_password") val oldPassword: String, @Json(name = "new_password") val newPassword: String ) @JsonClass(generateAdapter = true) data class ChangePwdResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage ) @JsonClass(generateAdapter = true) data class BettingResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: BettingData? = null ) @JsonClass(generateAdapter = true) data class BettingData( @Json(name = "_id") val _id: String, @Json(name = "fight_no") val fightNo: Int, @Json(name = "group_no") val groupNo: Int, @Json(name = "betting") val betting: String, @Json(name = "bet_color") val bet_color: String, @Json(name = "bet_amount") val betAmount: Int, @Json(name = "amount") val amount: String, @Json(name = "time") val time: String, @Json(name = "balance") val balance: String, ) @JsonClass(generateAdapter = true) data class CurrentBetData( @Json(name = "list") val item: List, @Json(name = "wala") val wala: Int, @Json(name = "meron") val meron: Int, @Json(name = "tie") val tie: Int, ) @JsonClass(generateAdapter = true) data class CurrentBetItem( @Json(name = "amount") val amount: String, @Json(name = "bet_color") val bet_color: String, @Json(name = "betting") val betting: String, @Json(name = "fight_no") val fightNo: Int, @Json(name = "group_no") val groupNo: Int, @Json(name = "time") val time: String, @Json(name = "_id") val _id: String, ) : BaseListItem() { override fun getUnique(): String = _id } @JsonClass(generateAdapter = true) data class CurrentResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val currentBetData: CurrentBetData ) @JsonClass(generateAdapter = true) data class TodayResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: List? = null ) @JsonClass(generateAdapter = true) data class TodayData( @Json(name = "amount") val amount: String, @Json(name = "bet_color") val bet_color: String, @Json(name = "betting") val betting: String, @Json(name = "fight_no") val fightNo: Int, @Json(name = "group_no") val groupNo: Int, @Json(name = "is_win") val isWin: Boolean? = null, @Json(name = "result_color") val resultColor: String, @Json(name = "result_name") val resultName: String, @Json(name = "time") val time: String, @Json(name = "_id") val _id: String, ) : BaseListItem() { override fun getUnique(): String = _id } @JsonClass(generateAdapter = true) data class BtnData( @Json(name = "amount") val amount: Int, @Json(name = "currency_type") val currencyType: Int, @Json(name = "label") val label: String, @Json(name = "order") val order: Int, @Json(name = "_id") val _id: String ) @JsonClass(generateAdapter = true) data class ButtonResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: List ) @JsonClass(generateAdapter = true) data class ChannelResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: ChannelData? ) @JsonClass(generateAdapter = true) data class UserResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: User? ) @JsonClass(generateAdapter = true) data class UserInfoResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: UserInformation? ) @JsonClass(generateAdapter = true) data class WeightResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: WeightData? ) @JsonClass(generateAdapter = true) data class WeightData( @Json(name = "wala") val wala: Wala?, @Json(name = "meron") val meron: Meron?, @Json(name = "amount_min") val amountMin: Int, @Json(name = "amount_max") val amountMax: Int ) @JsonClass(generateAdapter = true) data class Wala( @Json(name = "payout") val payout: String, @Json(name = "amount") val amount: String ) @JsonClass(generateAdapter = true) data class Meron( @Json(name = "payout") val payout: String, @Json(name = "amount") val amount: String ) @JsonClass(generateAdapter = true) data class BettingTypeResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: List ) @JsonClass(generateAdapter = true) data class BettingTypeData( @Json(name = "_id") val _id: String, @Json(name = "name") val name: String, @Json(name = "desc") val desc: String, @Json(name = "color") val color: String, @Json(name = "is_betting") val isBetting: Boolean, @Json(name = "payout") val payout: Int, @Json(name = "payout_display") val payoutDisplay: Int, ) @JsonClass(generateAdapter = true) data class ResultsResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: ResultsData ) @JsonClass(generateAdapter = true) data class ResultsData( @Json(name = "results") val results: List, @Json(name = "summary") val resultSummary: ResultSummary?, ) @JsonClass(generateAdapter = true) data class Results( @Json(name = "_id") val _id: String, @Json(name = "fight_no") val fightNo: Int, @Json(name = "name") val name: String, @Json(name = "cid") val cid: Int, @Json(name = "rid") val rid: Int, @Json(name = "color") val color: String, ) @JsonClass(generateAdapter = true) data class ResultSummary( @Json(name = "NUMBER-1") val number_1: Int, @Json(name = "NUMBER-2") val number_2: Int, @Json(name = "NUMBER-3") val number_3: Int, @Json(name = "NUMBER-4") val number_4: Int, @Json(name = "NUMBER-5") val number_5: Int, @Json(name = "NUMBER-6") val number_6: Int, @Json(name = "NUMBER-7") val number_7: Int, @Json(name = "NUMBER-8") val number_8: Int, @Json(name = "CANCEL") val cancel: Int ) @JsonClass(generateAdapter = true) data class LoginMessage( @Json(name = "code") val code: Int, @Json(name = "descriptions") val description: String, ) @JsonClass(generateAdapter = true) data class LoginData( @Json(name = "user") val user: User?, @Json(name = "token") val token: String?, ) @JsonClass(generateAdapter = true) data class ChannelData( @Json(name = "is_stop_video") val isStopVideo: Boolean, @Json(name = "enable") val enable: Boolean, @Json(name = "is_open") val is_open: Boolean? = null, @Json(name = "live_urls") val liveUrls: List?, @Json(name = "_id") val id: String, @Json(name = "info") val info: String, @Json(name = "video_info") val videoInfo: String, @Json(name = "date") val date: String, @Json(name = "fight_no") val fightNo: Int, @Json(name = "group_no") val groupNo: Int, @Json(name = "column") val column: Int, @Json(name = "fix_column") val fixColumn: Int, @Json(name = "is_maintain") val isMaintain: Boolean, @Json(name = "maintain_desc") val maintainDesc: String, @Json(name = "__v") val v: String?, ) @JsonClass(generateAdapter = true) data class Limit( @Json(name = "amount_min") val amountMin: Int, @Json(name = "amount_max") val amountMax: Int, ) @JsonClass(generateAdapter = true) data class LottoSet( @Json(name = "_id") var id: String, @Json(name = "type_of_betting") val typeOfBetting: String, @Json(name = "start_number") val startNumber: Int, @Json(name = "end_number") val endNumber: Int, @Json(name = "payment") val payment: Double, @Json(name = "category") val category: String, @Json(name = "type") val type: String ) @JsonClass(generateAdapter = true) data class User( @Json(name = "user_name") val userName: String, @Json(name = "role") val roles: String, @Json(name = "enable") var readOnly: Boolean, @Json(name = "is_suspend") var isSuspend: Boolean, @Json(name = "account_info") var accountInfo: String?, @Json(name = "account_name") var accountName: String? = "na", @Json(name = "account_number") var accountNumber: String? = null, @Json(name = "balance") var accountBalances: String? = "0", @Json(name = "channel_list") val channelList: List, @Json(name = "currency_type") val currencyType: Int, @Json(name = "amount_min") val amountMin: Int, @Json(name = "amount_max") val amountMax: Int, @Json(name = "app_id") val appId: String? = "na", ) @JsonClass(generateAdapter = true) data class UserInformation( @Json(name = "account_info") var accountInfo: String?, @Json(name = "account_name") var accountName: String? = null, @Json(name = "account_number") var accountNumber: String? = null, @Json(name = "balance") val accountBalances: Double, @Json(name = "enable") val readOnly: Boolean, @Json(name = "is_suspend") val isSuspend: Boolean, @Json(name = "role") val roles: String, @Json(name = "user_name") val userName: String, ) @JsonClass(generateAdapter = true) data class NewPassword( @Json(name = "new_password") var newPassword: String, ) @JsonClass(generateAdapter = true) data class ReportOneResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: ReportOneData ) @JsonClass(generateAdapter = true) data class ReportDepositResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: ReportDepositData ) @JsonClass(generateAdapter = true) data class ReportWithdrawResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: ReportWithdrawData ) @JsonClass(generateAdapter = true) data class ReportDepositData( @Json(name = "rows_per_page") val rowsPerPage: Int, @Json(name = "total_rows") val totalRows: Int, @Json(name = "page") val page: Int, @Json(name = "total_amount") val totalAmount: String, @Json(name = "total_pages") val totalPages: Int, @Json(name = "reports") val reports: List ) @JsonClass(generateAdapter = true) data class ReportDeposit( @Json(name = "_id") val _id: String, @Json(name = "date") val date: String, @Json(name = "amount") val amount: String, @Json(name = "old_balance") val oldBalance: String, @Json(name = "new_balance") val newBalance: String ) : BaseListItem() { override fun getUnique(): String = _id } @JsonClass(generateAdapter = true) data class ReportWithdrawData( @Json(name = "rows_per_page") val rowsPerPage: Int, @Json(name = "total_rows") val totalRows: Int, @Json(name = "page") val page: Int, @Json(name = "total_amount") val totalAmount: String, @Json(name = "total_pages") val totalPages: Int, @Json(name = "reports") val reports: List ) @JsonClass(generateAdapter = true) data class ReportWithdraw( @Json(name = "_id") val _id: String, @Json(name = "date") val date: String, @Json(name = "amount") val amount: String, @Json(name = "old_balance") val oldBalance: String, @Json(name = "new_balance") val newBalance: String ) : BaseListItem() { override fun getUnique(): String = _id } @JsonClass(generateAdapter = true) data class ReportBody( @Json(name = "rows_per_page") val rowsPerPage: Int, @Json(name = "page") val page: Int, @Json(name = "start_date") val startDate: String, @Json(name = "end_date") val endDate: String ) @JsonClass(generateAdapter = true) data class ReportOneData( @Json(name = "rows_per_page") val rowsPerPage: Int, @Json(name = "total_rows") val totalRows: Int, @Json(name = "page") val page: Int, @Json(name = "total_pages") val totalPages: Int, @Json(name = "is_win") val isWin: Boolean? = null, @Json(name = "turn_over") val turnOver: String, @Json(name = "amount_win_lose") val amountWinLose: String, @Json(name = "reports") val reports: List ) @JsonClass(generateAdapter = true) data class ReportOne( @Json(name = "_id") val _id: String, @Json(name = "date") val date: String, @Json(name = "payout") val payout: String, @Json(name = "group") val group: Int, @Json(name = "fight_no") val fightNo: Int, @Json(name = "bet_name") val betName: String, @Json(name = "bet_color") val betColor: String, @Json(name = "is_win") val is_win: Boolean? = null, @Json(name = "result_name") val resultName: String, @Json(name = "result_color") val resultColor: String, @Json(name = "amount_win") val amountWin: String? = null, @Json(name = "amount") val amount: String, @Json(name = "cast") val cast: String? = null ) : BaseListItem() { override fun getUnique(): String = _id } @JsonClass(generateAdapter = true) data class ReportTwoResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: ReportTwoData ) @JsonClass(generateAdapter = true) data class ReportTwoData( @Json(name = "rows_per_page") val rowsPerPage: Int, @Json(name = "total_rows") val totalRows: Int, @Json(name = "page") val page: Int, @Json(name = "total_pages") val totalPages: Int, @Json(name = "results") val results: List ) @JsonClass(generateAdapter = true) data class ReportTwo( @Json(name = "_id") val _id: String, @Json(name = "date") val date: String, @Json(name = "name") val name: String?, @Json(name = "color") val color: String?, @Json(name = "group_no") val group: Int, @Json(name = "fight_no") val fightNo: Int ) : BaseListItem() { override fun getUnique(): String = _id } @JsonClass(generateAdapter = true) data class ReportThreeResponse( @Json(name = "code") val resultCode: String, @Json(name = "message") val message: LoginMessage, @Json(name = "data") val data: List ) @JsonClass(generateAdapter = true) data class ReportThree( @Json(name = "date") val date: String, @Json(name = "amount") val amount: Int, @Json(name = "type") val type: String ) : BaseListItem() { override fun getUnique(): String = date }