Test #451

Merged
klaus merged 15 commits from test into main 2026-09-18 02:15:25 +00:00
3 changed files with 14 additions and 10 deletions
Showing only changes of commit c5e9a47633 - Show all commits
@@ -13,7 +13,7 @@ import kr.co.vividnext.sodalive.event.EventItem
import kr.co.vividnext.sodalive.i18n.LangContext import kr.co.vividnext.sodalive.i18n.LangContext
import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
import kr.co.vividnext.sodalive.member.contentpreference.isAdultVisibleByPolicy import kr.co.vividnext.sodalive.member.contentpreference.MemberContentPreferenceService
import org.springframework.beans.factory.annotation.Value import org.springframework.beans.factory.annotation.Value
import org.springframework.cache.annotation.Cacheable import org.springframework.cache.annotation.Cacheable
import org.springframework.data.domain.Pageable import org.springframework.data.domain.Pageable
@@ -33,6 +33,8 @@ class AudioContentMainService(
private val langContext: LangContext, private val langContext: LangContext,
private val memberContentPreferenceService: MemberContentPreferenceService,
@Value("\${cloud.aws.cloud-front.host}") @Value("\${cloud.aws.cloud-front.host}")
private val imageHost: String private val imageHost: String
) { ) {
@@ -69,7 +71,7 @@ class AudioContentMainService(
} else { } else {
emptyList() emptyList()
}, },
isAdult = isAdultVisibleByPolicy(member, isAdultContentVisible), isAdult = memberContentPreferenceService.isAdultVisibleForQuery(member, isAdultContentVisible),
contentType = contentType, contentType = contentType,
offset = pageable.offset, offset = pageable.offset,
limit = pageable.pageSize.toLong() limit = pageable.pageSize.toLong()
@@ -88,7 +90,7 @@ class AudioContentMainService(
* - AS-IS theme은 한글만 처리하도록 되어 있음 * - AS-IS theme은 한글만 처리하도록 되어 있음
* - TO-BE 번역된 theme이 들어와도 동일한 동작을 하도록 처리 * - TO-BE 번역된 theme이 들어와도 동일한 동작을 하도록 처리
*/ */
val isAdult = isAdultVisibleByPolicy(member, isAdultContentVisible) val isAdult = memberContentPreferenceService.isAdultVisibleForQuery(member, isAdultContentVisible)
val themeListRaw = if (theme.isBlank()) { val themeListRaw = if (theme.isBlank()) {
audioContentThemeRepository.getActiveThemeOfContent( audioContentThemeRepository.getActiveThemeOfContent(
isAdult = isAdult, isAdult = isAdult,
@@ -6,7 +6,7 @@ import kr.co.vividnext.sodalive.content.SortType
import kr.co.vividnext.sodalive.content.main.tab.GetContentCurationResponse import kr.co.vividnext.sodalive.content.main.tab.GetContentCurationResponse
import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
import kr.co.vividnext.sodalive.member.contentpreference.isAdultVisibleByPolicy import kr.co.vividnext.sodalive.member.contentpreference.MemberContentPreferenceService
import org.springframework.beans.factory.annotation.Value import org.springframework.beans.factory.annotation.Value
import org.springframework.data.domain.Pageable import org.springframework.data.domain.Pageable
import org.springframework.stereotype.Service import org.springframework.stereotype.Service
@@ -17,6 +17,7 @@ class AudioContentCurationService(
private val repository: AudioContentCurationQueryRepository, private val repository: AudioContentCurationQueryRepository,
private val contentRepository: AudioContentRepository, private val contentRepository: AudioContentRepository,
private val blockMemberRepository: BlockMemberRepository, private val blockMemberRepository: BlockMemberRepository,
private val memberContentPreferenceService: MemberContentPreferenceService,
@Value("\${cloud.aws.cloud-front.host}") @Value("\${cloud.aws.cloud-front.host}")
private val cloudFrontHost: String private val cloudFrontHost: String
@@ -31,14 +32,14 @@ class AudioContentCurationService(
): GetCurationContentResponse { ): GetCurationContentResponse {
val totalCount = repository.findTotalCountByCurationId( val totalCount = repository.findTotalCountByCurationId(
curationId = curationId, curationId = curationId,
isAdult = isAdultVisibleByPolicy(member, isAdultContentVisible), isAdult = memberContentPreferenceService.isAdultVisibleForQuery(member, isAdultContentVisible),
contentType = contentType contentType = contentType
) )
val audioContentList = repository.findByCurationId( val audioContentList = repository.findByCurationId(
curationId = curationId, curationId = curationId,
cloudfrontHost = cloudFrontHost, cloudfrontHost = cloudFrontHost,
isAdult = isAdultVisibleByPolicy(member, isAdultContentVisible), isAdult = memberContentPreferenceService.isAdultVisibleForQuery(member, isAdultContentVisible),
contentType = contentType, contentType = contentType,
sortType = sortType, sortType = sortType,
offset = pageable.offset, offset = pageable.offset,
@@ -11,7 +11,7 @@ import kr.co.vividnext.sodalive.i18n.LangContext
import kr.co.vividnext.sodalive.i18n.translation.LanguageTranslationTargetType import kr.co.vividnext.sodalive.i18n.translation.LanguageTranslationTargetType
import kr.co.vividnext.sodalive.i18n.translation.ResourceTranslationJobScheduler import kr.co.vividnext.sodalive.i18n.translation.ResourceTranslationJobScheduler
import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.contentpreference.isAdultVisibleByPolicy import kr.co.vividnext.sodalive.member.contentpreference.MemberContentPreferenceService
import org.springframework.stereotype.Service import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional import org.springframework.transaction.annotation.Transactional
@@ -22,7 +22,8 @@ class AudioContentThemeService(
private val contentThemeTranslationRepository: ContentThemeTranslationRepository, private val contentThemeTranslationRepository: ContentThemeTranslationRepository,
private val resourceTranslationJobScheduler: ResourceTranslationJobScheduler, private val resourceTranslationJobScheduler: ResourceTranslationJobScheduler,
private val langContext: LangContext private val langContext: LangContext,
private val memberContentPreferenceService: MemberContentPreferenceService
) { ) {
@Transactional(readOnly = true) @Transactional(readOnly = true)
fun getThemes(): List<GetAudioContentThemeResponse> { fun getThemes(): List<GetAudioContentThemeResponse> {
@@ -100,7 +101,7 @@ class AudioContentThemeService(
val totalCount = contentRepository.totalCountByTheme( val totalCount = contentRepository.totalCountByTheme(
memberId = member.id!!, memberId = member.id!!,
theme = listOf(theme.theme), theme = listOf(theme.theme),
isAdult = isAdultVisibleByPolicy(member, isAdultContentVisible), isAdult = memberContentPreferenceService.isAdultVisibleForQuery(member, isAdultContentVisible),
contentType = contentType contentType = contentType
) )
@@ -108,7 +109,7 @@ class AudioContentThemeService(
memberId = member.id!!, memberId = member.id!!,
theme = listOf(theme.theme), theme = listOf(theme.theme),
sortType = sortType, sortType = sortType,
isAdult = isAdultVisibleByPolicy(member, isAdultContentVisible), isAdult = memberContentPreferenceService.isAdultVisibleForQuery(member, isAdultContentVisible),
contentType = contentType, contentType = contentType,
offset = offset, offset = offset,
limit = limit limit = limit