package com.adealink.weparty.gift.data

import com.adealink.frame.network.data.PageReq
import com.adealink.weparty.module.gift.data.GiftInfo
import com.adealink.weparty.module.gift.data.GiftResource
import com.google.gson.annotations.GsonNullable
import com.google.gson.annotations.SerializedName

data class GiftListReq(
    @SerializedName("roomId") val roomId: String
)

data class GiftListRes(
    @SerializedName("list") val list: List<GiftInfo>
)

//data class GiftCategoryReq(
//    @SerializedName("roomId") val roomId: String
//)
//
//data class GiftCategoryRes(
//    @SerializedName("list") val list: List<GiftCategory>
//)

data class SendGiftReq(
    @SerializedName("roomId") val roomId: String,
    @SerializedName("giftId") val giftId: String,
    @SerializedName("userIds") val uids: List<String>,
    @SerializedName("quantity") val quantity: Int,
    @SerializedName("seamlessRedeem") val seamlessRedeem: Boolean //是否无感兑换. ps: 默认 false
)

data class SendGiftRes(
    @SerializedName("diamond") val diamond: Float
)

data class GiftResourceReq(
    @SerializedName("page") val page: PageReq,
    @GsonNullable
    @SerializedName("version") val version: String?
)

data class GiftResourceRes(
    @SerializedName("list") val list: List<GiftResource>,
    @GsonNullable
    @SerializedName("next") val next: String?,
    @GsonNullable
    @SerializedName("version") val version: String?
)