package kr.co.vividnext.sodalive.live.room.chat

import androidx.annotation.Keep
import com.google.gson.annotations.SerializedName
import kr.co.vividnext.sodalive.live.room.donation.LiveRoomDonationResponse

@Keep
data class LiveRoomChatRawMessage(
    @SerializedName("type") val type: LiveRoomChatRawMessageType,
    @SerializedName("message") val message: String,
    @SerializedName("can") val can: Int,
    @SerializedName("signature") val signature: LiveRoomDonationResponse? = null,
    @SerializedName("signatureImageUrl") val signatureImageUrl: String? = null,
    @SerializedName("donationMessage") val donationMessage: String?,
    @SerializedName("isActiveRoulette") val isActiveRoulette: Boolean? = null
)

enum class LiveRoomChatRawMessageType {
    @SerializedName("DONATION")
    DONATION,

    @SerializedName("SECRET_DONATION")
    SECRET_DONATION,

    @SerializedName("SET_MANAGER")
    SET_MANAGER,

    @SerializedName("EDIT_ROOM_INFO")
    EDIT_ROOM_INFO,

    @SerializedName("DONATION_STATUS")
    DONATION_STATUS,

    @SerializedName("TOGGLE_ROULETTE")
    TOGGLE_ROULETTE,

    @SerializedName("ROULETTE_DONATION")
    ROULETTE_DONATION,

    @SerializedName("HEART_DONATION")
    HEART_DONATION
}
