fix(content-preference): 조회 API 선호도 쿼리 파라미터를 제거한다

This commit is contained in:
2026-03-28 18:09:39 +09:00
parent ff47a7686a
commit feb1ab9f13
9 changed files with 73 additions and 104 deletions

View File

@@ -111,13 +111,11 @@ class AudioContentController(
@RequestParam("creator-id") creatorId: Long,
@RequestParam("sort-type", required = false) sortType: SortType? = SortType.NEWEST,
@RequestParam("category-id", required = false) categoryId: Long? = 0,
@RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null,
@RequestParam("contentType", required = false) contentType: ContentType? = null,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
pageable: Pageable
) = run {
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
val preference = resolvePreference(member, isAdultContentVisible, contentType)
val preference = resolvePreference(member)
ApiResponse.ok(
service.getAudioContentList(
@@ -137,11 +135,10 @@ class AudioContentController(
fun getDetail(
@PathVariable id: Long,
@RequestParam timezone: String,
@RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
val preference = resolvePreference(member, isAdultContentVisible, null)
val preference = resolvePreference(member)
ApiResponse.ok(
service.getDetail(
@@ -194,12 +191,10 @@ class AudioContentController(
@GetMapping("/ranking")
fun getAudioContentRanking(
@RequestParam("sort-type", required = false) sortType: String? = "매출",
@RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null,
@RequestParam("contentType", required = false) contentType: ContentType? = null,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
pageable: Pageable
) = run {
val preference = resolvePreference(member, isAdultContentVisible, contentType)
val preference = resolvePreference(member)
val currentDateTime = LocalDateTime.now()
val startDate = currentDateTime
.withHour(15)
@@ -247,8 +242,6 @@ class AudioContentController(
@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,
@RequestParam("sort-type", required = false) sortType: SortType? = SortType.NEWEST,
@@ -257,7 +250,7 @@ class AudioContentController(
pageable: Pageable
) = run {
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
val preference = resolvePreference(member, isAdultContentVisible, contentType)
val preference = resolvePreference(member)
ApiResponse.ok(
service.getLatestContentByTheme(
@@ -276,11 +269,9 @@ class AudioContentController(
@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 {
val preference = resolvePreference(member, isAdultContentVisible, contentType)
val preference = resolvePreference(member)
ApiResponse.ok(
service.getLatestContentByTheme(
memberId = member?.id,
@@ -292,16 +283,12 @@ class AudioContentController(
)
}
private fun resolvePreference(
member: Member?,
isAdultContentVisible: Boolean?,
contentType: ContentType?
): ViewerContentPreference {
private fun resolvePreference(member: Member?): ViewerContentPreference {
if (member == null) {
return ViewerContentPreference(
countryCode = "KR",
isAdultContentVisible = isAdultContentVisible ?: false,
contentType = contentType ?: ContentType.ALL,
isAdultContentVisible = false,
contentType = ContentType.ALL,
isAdult = false
)
}

View File

@@ -19,11 +19,9 @@ class AudioContentMainTabHomeController(
) {
@GetMapping
fun fetchContentMainHome(
@RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null,
@RequestParam("contentType", required = false) contentType: ContentType? = null,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
val preference = resolvePreference(member, isAdultContentVisible, contentType)
val preference = resolvePreference(member)
ApiResponse.ok(
service.fetchData(
isAdultContentVisible = preference.isAdultContentVisible,
@@ -36,11 +34,9 @@ class AudioContentMainTabHomeController(
@GetMapping("/popular-content-by-creator")
fun getPopularContentByCreator(
@RequestParam creatorId: Long,
@RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null,
@RequestParam("contentType", required = false) contentType: ContentType? = null,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
val preference = resolvePreference(member, isAdultContentVisible, contentType)
val preference = resolvePreference(member)
ApiResponse.ok(
service.getPopularContentByCreator(
creatorId = creatorId,
@@ -53,11 +49,9 @@ class AudioContentMainTabHomeController(
@GetMapping("/content/ranking")
fun getContentRanking(
@RequestParam("sort-type", required = false) sortType: String? = "매출",
@RequestParam("isAdultContentVisible", required = false) isAdultContentVisible: Boolean? = null,
@RequestParam("contentType", required = false) contentType: ContentType? = null,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
val preference = resolvePreference(member, isAdultContentVisible, contentType)
val preference = resolvePreference(member)
ApiResponse.ok(
service.getContentRanking(
sortType = sortType ?: "매출",
@@ -68,16 +62,12 @@ class AudioContentMainTabHomeController(
)
}
private fun resolvePreference(
member: Member?,
isAdultContentVisible: Boolean?,
contentType: ContentType?
): ViewerContentPreference {
private fun resolvePreference(member: Member?): ViewerContentPreference {
if (member == null) {
return ViewerContentPreference(
countryCode = "KR",
isAdultContentVisible = isAdultContentVisible ?: false,
contentType = contentType ?: ContentType.ALL,
isAdultContentVisible = false,
contentType = ContentType.ALL,
isAdult = false
)
}