package kr.co.vividnext.sodalive.audio_content.series.detail

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

@Parcelize
@Keep
data class GetSeriesDetailResponse(
    @SerializedName("seriesId") val seriesId: Long,
    @SerializedName("title") val title: String,
    @SerializedName("coverImage") val coverImage: String,
    @SerializedName("introduction") val introduction: String,
    @SerializedName("genre") val genre: String,
    @SerializedName("isAdult") val isAdult: Boolean,
    @SerializedName("writer") val writer: String?,
    @SerializedName("studio") val studio: String?,
    @SerializedName("publishedDate") val publishedDate: String,
    @SerializedName("creator") val creator: GetSeriesDetailCreator,
    @SerializedName("rentalMinPrice") var rentalMinPrice: Int,
    @SerializedName("rentalMaxPrice") var rentalMaxPrice: Int,
    @SerializedName("rentalPeriod") val rentalPeriod: Int,
    @SerializedName("minPrice") var minPrice: Int,
    @SerializedName("maxPrice") var maxPrice: Int,
    @SerializedName("keywordList") var keywordList: List<String>,
    @SerializedName("publishedDaysOfWeek") var publishedDaysOfWeek: String,
    @SerializedName("contentList") val contentList: List<GetSeriesContentListItem>,
    @SerializedName("contentCount") val contentCount: Int
) : Parcelable {
    @Parcelize
    @Keep
    data class GetSeriesDetailCreator(
        @SerializedName("creatorId") val creatorId: Long,
        @SerializedName("nickname") val nickname: String,
        @SerializedName("profileImage") val profileImage: String,
        @SerializedName("isFollow") var isFollow: Boolean,
        @SerializedName("isNotify") var isNotify: Boolean
    ) : Parcelable
}
