sodalive-backend-spring-boot/src/main/kotlin/kr/co/vividnext/sodalive/content/GetAudioContentDetailRespon...

47 lines
1.3 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 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 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
)