52 lines
1.5 KiB
Kotlin
52 lines
1.5 KiB
Kotlin
package kr.co.vividnext.sodalive.content
|
|
|
|
import com.querydsl.core.annotations.QueryProjection
|
|
import kr.co.vividnext.sodalive.content.comment.GetAudioContentCommentListItem
|
|
import kr.co.vividnext.sodalive.content.order.OrderType
|
|
|
|
data class GetAudioContentDetailResponse(
|
|
val contentId: Long,
|
|
val title: String,
|
|
val detail: String,
|
|
val coverImageUrl: String,
|
|
val contentUrl: String,
|
|
val themeStr: String,
|
|
val tag: String,
|
|
val price: Int,
|
|
val duration: String,
|
|
val releaseDate: String?,
|
|
val totalContentCount: Int?,
|
|
val remainingContentCount: Int?,
|
|
val orderSequence: Int?,
|
|
val isActivePreview: Boolean,
|
|
val isAdult: Boolean,
|
|
val isMosaic: Boolean,
|
|
val isOnlyRental: Boolean,
|
|
val existOrdered: Boolean,
|
|
val orderType: OrderType?,
|
|
val remainingTime: String?,
|
|
val creatorOtherContentList: List<OtherContentResponse>,
|
|
val sameThemeOtherContentList: List<OtherContentResponse>,
|
|
val isCommentAvailable: Boolean,
|
|
val isLike: Boolean,
|
|
val likeCount: Int,
|
|
val commentList: List<GetAudioContentCommentListItem>,
|
|
val commentCount: Int,
|
|
val isPin: Boolean,
|
|
val isAvailablePin: Boolean,
|
|
val creator: AudioContentCreator
|
|
)
|
|
|
|
data class OtherContentResponse @QueryProjection constructor(
|
|
val contentId: Long,
|
|
val title: String,
|
|
val coverUrl: String
|
|
)
|
|
|
|
data class AudioContentCreator(
|
|
val creatorId: Long,
|
|
val nickname: String,
|
|
val profileImageUrl: String,
|
|
val isFollowing: Boolean
|
|
)
|