test #294
@@ -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()
 | 
			
		||||
 
 | 
			
		||||
@@ -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))
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user