refactor(creator): 오디오 콘텐츠 공통 모델을 추가한다

This commit is contained in:
2026-06-19 21:03:33 +09:00
parent e12f00b5b4
commit 9d7bc6969b
4 changed files with 24 additions and 21 deletions

View File

@@ -2,6 +2,8 @@ package kr.co.vividnext.sodalive.v2.creator.channel.audio.model
import kr.co.vividnext.sodalive.v2.creator.channel.audio.data.CreatorChannelAudioTabResponse
import kr.co.vividnext.sodalive.v2.creator.channel.data.CreatorChannelAudioContentResponse
import kr.co.vividnext.sodalive.v2.creator.channel.model.CreatorChannelAudioContentStatus
import kr.co.vividnext.sodalive.v2.creator.channel.model.CreatorChannelAudioContentUiModel
import kr.co.vividnext.sodalive.v2.widget.AudioContentTag
private const val ALL_THEME_TITLE = "전체"

View File

@@ -1,7 +1,5 @@
package kr.co.vividnext.sodalive.v2.creator.channel.audio.model
import kr.co.vividnext.sodalive.v2.widget.AudioContentTag
data class CreatorChannelAudioThemeUiModel(
val themeId: Long?,
val title: String,
@@ -13,21 +11,3 @@ data class CreatorChannelAudioRateUiModel(
val purchasedCount: Int,
val paidCount: Int
)
data class CreatorChannelAudioContentUiModel(
val audioContentId: Long,
val title: String,
val secondaryText: String,
val imageUrl: String?,
val price: Int,
val showAdultBadge: Boolean,
val tags: Set<AudioContentTag>,
val status: CreatorChannelAudioContentStatus
)
sealed interface CreatorChannelAudioContentStatus {
data object Play : CreatorChannelAudioContentStatus
data object Owned : CreatorChannelAudioContentStatus
data object Rented : CreatorChannelAudioContentStatus
data class Price(val price: Int) : CreatorChannelAudioContentStatus
}

View File

@@ -0,0 +1,21 @@
package kr.co.vividnext.sodalive.v2.creator.channel.model
import kr.co.vividnext.sodalive.v2.widget.AudioContentTag
data class CreatorChannelAudioContentUiModel(
val audioContentId: Long,
val title: String,
val secondaryText: String?,
val imageUrl: String?,
val price: Int,
val showAdultBadge: Boolean,
val tags: Set<AudioContentTag>,
val status: CreatorChannelAudioContentStatus
)
sealed interface CreatorChannelAudioContentStatus {
data object Play : CreatorChannelAudioContentStatus
data object Owned : CreatorChannelAudioContentStatus
data object Rented : CreatorChannelAudioContentStatus
data class Price(val price: Int) : CreatorChannelAudioContentStatus
}

View File

@@ -3,7 +3,7 @@ package kr.co.vividnext.sodalive.v2.creator.channel.audio
import kr.co.vividnext.sodalive.v2.common.data.ContentSort
import kr.co.vividnext.sodalive.v2.creator.channel.audio.data.CreatorChannelAudioTabResponse
import kr.co.vividnext.sodalive.v2.creator.channel.audio.data.CreatorChannelAudioThemeResponse
import kr.co.vividnext.sodalive.v2.creator.channel.audio.model.CreatorChannelAudioContentStatus
import kr.co.vividnext.sodalive.v2.creator.channel.model.CreatorChannelAudioContentStatus
import kr.co.vividnext.sodalive.v2.creator.channel.audio.model.CreatorChannelAudioRateUiModel
import kr.co.vividnext.sodalive.v2.creator.channel.audio.model.effectiveSelectedThemeId
import kr.co.vividnext.sodalive.v2.creator.channel.audio.model.toAudioContentUiModels