Files
sodalive-backend-spring-boot/src/main/kotlin/kr/co/vividnext/sodalive/content/GetAudioContentDetailResponse.kt

64 lines
1.8 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 purchaseOption: PurchaseOption,
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,
val previousContent: OtherContentResponse?,
val nextContent: OtherContentResponse?,
val buyerList: List<ContentBuyer>,
val isAvailableUsePoint: Boolean
)
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,
val isFollow: Boolean,
val isNotify: Boolean
)
data class ContentBuyer @QueryProjection constructor(
val nickname: String,
val profileImageUrl: String
)