From 8e877a63660e1bfa7a998a2762a17720c15dcb61 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 18 Jul 2025 20:27:02 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EB=8B=A4?= =?UTF-8?q?=EC=8B=9C=EB=93=A3=EA=B8=B0=20=EC=BD=98=ED=85=90=EC=B8=A0=20API?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/AudioContentController.kt | 20 +++++++++++++++++++ .../content/AudioContentRepository.kt | 6 ++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt index f5a529a..c9510ab 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt @@ -236,4 +236,24 @@ class AudioContentController(private val service: AudioContentService) { ApiResponse.ok(service.unpinAtTheTop(contentId = id, member = member)) } + + @GetMapping("/replay-live") + fun replayLive( + @RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null, + @RequestParam("contentType", required = false) contentType: ContentType? = null, + @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member? + ) = run { + ApiResponse.ok( + service.getLatestContentByTheme( + theme = listOf("다시듣기"), + contentType = contentType ?: ContentType.ALL, + isFree = false, + isAdult = if (member != null) { + (isAdultContentVisible ?: true) && member.auth != null + } else { + false + } + ) + ) + } } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt index 1ee6a50..40038d3 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt @@ -490,10 +490,8 @@ class AudioContentQueryRepositoryImpl( where = where.and(audioContentTheme.theme.`in`(theme)) } - where = if (isFree) { - where.and(audioContent.price.loe(0)) - } else { - where.and(audioContent.price.gt(0)) + if (isFree) { + where = where.and(audioContent.price.loe(0)) } return queryFactory