diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContent.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContent.kt index 430f3d7..2b6c768 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContent.kt @@ -9,6 +9,8 @@ import java.time.LocalDateTime import javax.persistence.CascadeType import javax.persistence.Column import javax.persistence.Entity +import javax.persistence.EnumType +import javax.persistence.Enumerated import javax.persistence.FetchType import javax.persistence.JoinColumn import javax.persistence.ManyToOne @@ -16,6 +18,10 @@ import javax.persistence.OneToMany import javax.persistence.OneToOne import javax.persistence.Table +enum class PurchaseOption { + BOTH, BUY_ONLY, RENT_ONLY +} + enum class SortType { NEWEST, PRICE_HIGH, PRICE_LOW } @@ -30,6 +36,8 @@ data class AudioContent( var releaseDate: LocalDateTime? = null, val limited: Int? = null, var remaining: Int? = null, + @Enumerated(value = EnumType.STRING) + val purchaseOption: PurchaseOption = PurchaseOption.BOTH, val isGeneratePreview: Boolean = true, var isOnlyRental: Boolean = false, var isAdult: Boolean = false, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt index 2b9df4a..790b549 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt @@ -183,6 +183,7 @@ class AudioContentService( limited = request.limited, remaining = request.limited, isAdult = request.isAdult, + purchaseOption = request.purchaseOption, isGeneratePreview = request.isGeneratePreview, isOnlyRental = if (request.limited != null && request.limited > 0) false else request.isOnlyRental, isCommentAvailable = request.isCommentAvailable diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt index cc1b84a..3c4e6bf 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt @@ -5,6 +5,7 @@ data class CreateAudioContentRequest( val detail: String, val tags: String, val price: Int, + val purchaseOption: PurchaseOption = PurchaseOption.BOTH, val limited: Int? = null, val timezone: String = "Asia/Seoul", val releaseDate: String? = null,