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

import android.os.Parcelable
import androidx.annotation.Keep
import com.google.gson.annotations.SerializedName
import kotlinx.parcelize.Parcelize

@Parcelize
@Keep
data class GetRoomDetailResponse(
    @SerializedName("roomId") val roomId: Long,
    @SerializedName("price") val price: Int,
    @SerializedName("title") val title: String,
    @SerializedName("notice") val notice: String,
    @SerializedName("isPaid") val isPaid: Boolean,
    @SerializedName("isAdult") val isAdult: Boolean,
    @SerializedName("isPrivateRoom") val isPrivateRoom: Boolean,
    @SerializedName("password") val password: Int?,
    @SerializedName("tags") val tags: List<String>,
    @SerializedName("channelName") val channelName: String?,
    @SerializedName("beginDateTime") val beginDateTime: String,
    @SerializedName("isNotification") val isNotification: Boolean,
    @SerializedName("numberOfParticipants") val numberOfParticipants: Int,
    @SerializedName("numberOfParticipantsTotal") val numberOfParticipantsTotal: Int,
    @SerializedName("manager") val manager: GetRoomDetailManager,
    @SerializedName("participatingUsers") val participatingUsers: List<GetRoomDetailUser>
) : Parcelable

@Parcelize
@Keep
data class GetRoomDetailManager(
    @SerializedName("id") val id: Long,
    @SerializedName("nickname") val nickname: String,
    @SerializedName("introduce") val introduce: String,
    @SerializedName("youtubeUrl") val youtubeUrl: String?,
    @SerializedName("instagramUrl") val instagramUrl: String?,
    @SerializedName("websiteUrl") val websiteUrl: String?,
    @SerializedName("blogUrl") val blogUrl: String?,
    @SerializedName("profileImageUrl") val profileImageUrl: String,
    @SerializedName("isCreator") val isCreator: Boolean
) : Parcelable

@Parcelize
@Keep
data class GetRoomDetailUser(
    @SerializedName("id") val id: Long,
    @SerializedName("nickname") val nickname: String,
    @SerializedName("profileImageUrl") val profileImageUrl: String
) : Parcelable
