From f161d9a4368300375b744725eba65b6edeb2d3b2 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 27 Sep 2023 00:05:58 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=ED=85=8C?= =?UTF-8?q?=EB=A7=88=20API=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/content/main/AudioContentMainController.kt | 9 +++++++++ .../sodalive/content/main/AudioContentMainService.kt | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainController.kt index 6720551..41cee69 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainController.kt @@ -34,6 +34,15 @@ class AudioContentMainController(private val service: AudioContentMainService) { ApiResponse.ok(service.getNewContentByTheme(theme, member, pageable)) } + @GetMapping("/theme") + fun getThemeList( + @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member? + ) = run { + if (member == null) throw SodaException("로그인 정보를 확인해주세요.") + + ApiResponse.ok(service.getThemeList(member)) + } + @GetMapping("/new/all") fun getNewContentAllByTheme( @RequestParam("theme") theme: String, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainService.kt index 4e6ca70..6e3a544 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainService.kt @@ -136,6 +136,10 @@ class AudioContentMainService( ) } + fun getThemeList(member: Member): List { + return audioContentThemeRepository.getActiveThemeOfContent(isAdult = member.auth != null) + } + fun getNewContentByTheme(theme: String, member: Member, pageable: Pageable): List { return repository.findByTheme( cloudfrontHost = imageHost,