라이브 메인

- 로그인 없이 조회 가능하도록 수정
This commit is contained in:
Klaus 2025-03-22 06:10:28 +09:00
parent 0764247447
commit 6dd6be183b
4 changed files with 30 additions and 18 deletions

View File

@ -81,6 +81,10 @@ class SecurityConfig(
.antMatchers(HttpMethod.GET, "/faq").permitAll()
.antMatchers(HttpMethod.GET, "/faq/category").permitAll()
.antMatchers("/audition").permitAll()
.antMatchers("/live/recommend/channel").permitAll()
.antMatchers(HttpMethod.GET, "/live/room").permitAll()
.antMatchers(HttpMethod.GET, "/event").permitAll()
.antMatchers(HttpMethod.GET, "/live/recommend").permitAll()
.anyRequest().authenticated()
.and()
.build()

View File

@ -16,8 +16,6 @@ class LiveRecommendController(private val service: LiveRecommendService) {
fun getRecommendLive(
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
ApiResponse.ok(service.getRecommendLive(member))
}
@ -25,8 +23,6 @@ class LiveRecommendController(private val service: LiveRecommendService) {
fun getRecommendChannelList(
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
ApiResponse.ok(service.getRecommendChannelList(member))
}

View File

@ -20,7 +20,6 @@ class LiveRecommendRepository(
private val cloudFrontHost: String
) {
fun getRecommendLive(
memberId: Long,
isBlocked: (Long) -> Boolean,
isAdult: Boolean
): List<GetRecommendLiveResponse> {
@ -51,7 +50,6 @@ class LiveRecommendRepository(
}
fun getOnAirRecommendChannelList(
memberId: Long,
isBlocked: (Long) -> Boolean,
isCreator: Boolean,
isAdult: Boolean
@ -95,7 +93,6 @@ class LiveRecommendRepository(
}
fun getRecommendChannelList(
memberId: Long,
withOutCreatorList: List<Long>,
limit: Long,
isBlocked: (Long) -> Boolean

View File

@ -12,20 +12,30 @@ class LiveRecommendService(
private val blockMemberRepository: BlockMemberRepository
) {
fun getRecommendLive(member: Member): List<GetRecommendLiveResponse> {
fun getRecommendLive(member: Member?): List<GetRecommendLiveResponse> {
return repository.getRecommendLive(
memberId = member.id!!,
isBlocked = { blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it) },
isAdult = member.auth != null
isBlocked = {
if (member != null) {
blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it)
} else {
false
}
},
isAdult = member?.auth != null
)
}
fun getRecommendChannelList(member: Member): List<GetRecommendChannelResponse> {
fun getRecommendChannelList(member: Member?): List<GetRecommendChannelResponse> {
val onAirChannelList = repository.getOnAirRecommendChannelList(
member.id!!,
isBlocked = { blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it) },
isCreator = member.role == MemberRole.CREATOR,
isAdult = member.auth != null
isBlocked = {
if (member != null) {
blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it)
} else {
false
}
},
isCreator = member?.role == MemberRole.CREATOR,
isAdult = member?.auth != null
)
if (onAirChannelList.size >= 20) {
@ -35,10 +45,15 @@ class LiveRecommendService(
val onAirCreatorIdList = onAirChannelList.map { it.creatorId }
val notOnAirCreatorList = repository.getRecommendChannelList(
member.id!!,
withOutCreatorList = onAirCreatorIdList,
limit = (20 - onAirChannelList.size).toLong(),
isBlocked = { blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it) }
isBlocked = {
if (member != null) {
blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it)
} else {
false
}
}
)
return onAirChannelList + notOnAirCreatorList