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 c9510ab..0572d23 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt @@ -237,6 +237,32 @@ class AudioContentController(private val service: AudioContentService) { ApiResponse.ok(service.unpinAtTheTop(contentId = id, member = member)) } + @GetMapping("/all") + fun getAllContents( + @RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null, + @RequestParam("contentType", required = false) contentType: ContentType? = null, + @RequestParam("isFree", required = false) isFree: Boolean? = null, + @RequestParam("isPointAvailableOnly", required = false) isPointAvailableOnly: Boolean? = null, + @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?, + pageable: Pageable + ) = run { + ApiResponse.ok( + service.getLatestContentByTheme( + theme = emptyList(), + contentType = contentType ?: ContentType.ALL, + offset = pageable.offset, + limit = pageable.pageSize.toLong(), + isFree = isFree ?: false, + isAdult = if (member != null) { + (isAdultContentVisible ?: true) && member.auth != null + } else { + false + }, + isPointAvailableOnly = isPointAvailableOnly ?: false + ) + ) + } + @GetMapping("/replay-live") fun replayLive( @RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null,