test #294
@@ -81,6 +81,10 @@ class SecurityConfig(
 | 
				
			|||||||
            .antMatchers(HttpMethod.GET, "/faq").permitAll()
 | 
					            .antMatchers(HttpMethod.GET, "/faq").permitAll()
 | 
				
			||||||
            .antMatchers(HttpMethod.GET, "/faq/category").permitAll()
 | 
					            .antMatchers(HttpMethod.GET, "/faq/category").permitAll()
 | 
				
			||||||
            .antMatchers("/audition").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()
 | 
					            .anyRequest().authenticated()
 | 
				
			||||||
            .and()
 | 
					            .and()
 | 
				
			||||||
            .build()
 | 
					            .build()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,8 +16,6 @@ class LiveRecommendController(private val service: LiveRecommendService) {
 | 
				
			|||||||
    fun getRecommendLive(
 | 
					    fun getRecommendLive(
 | 
				
			||||||
        @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
 | 
					        @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
 | 
				
			||||||
    ) = run {
 | 
					    ) = run {
 | 
				
			||||||
        if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        ApiResponse.ok(service.getRecommendLive(member))
 | 
					        ApiResponse.ok(service.getRecommendLive(member))
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,8 +23,6 @@ class LiveRecommendController(private val service: LiveRecommendService) {
 | 
				
			|||||||
    fun getRecommendChannelList(
 | 
					    fun getRecommendChannelList(
 | 
				
			||||||
        @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
 | 
					        @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
 | 
				
			||||||
    ) = run {
 | 
					    ) = run {
 | 
				
			||||||
        if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        ApiResponse.ok(service.getRecommendChannelList(member))
 | 
					        ApiResponse.ok(service.getRecommendChannelList(member))
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,7 +20,6 @@ class LiveRecommendRepository(
 | 
				
			|||||||
    private val cloudFrontHost: String
 | 
					    private val cloudFrontHost: String
 | 
				
			||||||
) {
 | 
					) {
 | 
				
			||||||
    fun getRecommendLive(
 | 
					    fun getRecommendLive(
 | 
				
			||||||
        memberId: Long,
 | 
					 | 
				
			||||||
        isBlocked: (Long) -> Boolean,
 | 
					        isBlocked: (Long) -> Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<GetRecommendLiveResponse> {
 | 
					    ): List<GetRecommendLiveResponse> {
 | 
				
			||||||
@@ -51,7 +50,6 @@ class LiveRecommendRepository(
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fun getOnAirRecommendChannelList(
 | 
					    fun getOnAirRecommendChannelList(
 | 
				
			||||||
        memberId: Long,
 | 
					 | 
				
			||||||
        isBlocked: (Long) -> Boolean,
 | 
					        isBlocked: (Long) -> Boolean,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
@@ -95,7 +93,6 @@ class LiveRecommendRepository(
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fun getRecommendChannelList(
 | 
					    fun getRecommendChannelList(
 | 
				
			||||||
        memberId: Long,
 | 
					 | 
				
			||||||
        withOutCreatorList: List<Long>,
 | 
					        withOutCreatorList: List<Long>,
 | 
				
			||||||
        limit: Long,
 | 
					        limit: Long,
 | 
				
			||||||
        isBlocked: (Long) -> Boolean
 | 
					        isBlocked: (Long) -> Boolean
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,20 +12,30 @@ class LiveRecommendService(
 | 
				
			|||||||
    private val blockMemberRepository: BlockMemberRepository
 | 
					    private val blockMemberRepository: BlockMemberRepository
 | 
				
			||||||
) {
 | 
					) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fun getRecommendLive(member: Member): List<GetRecommendLiveResponse> {
 | 
					    fun getRecommendLive(member: Member?): List<GetRecommendLiveResponse> {
 | 
				
			||||||
        return repository.getRecommendLive(
 | 
					        return repository.getRecommendLive(
 | 
				
			||||||
            memberId = member.id!!,
 | 
					            isBlocked = {
 | 
				
			||||||
            isBlocked = { blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it) },
 | 
					                if (member != null) {
 | 
				
			||||||
            isAdult = member.auth != 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(
 | 
					        val onAirChannelList = repository.getOnAirRecommendChannelList(
 | 
				
			||||||
            member.id!!,
 | 
					            isBlocked = {
 | 
				
			||||||
            isBlocked = { blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it) },
 | 
					                if (member != null) {
 | 
				
			||||||
            isCreator = member.role == MemberRole.CREATOR,
 | 
					                    blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it)
 | 
				
			||||||
            isAdult = member.auth != null
 | 
					                } else {
 | 
				
			||||||
 | 
					                    false
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            isCreator = member?.role == MemberRole.CREATOR,
 | 
				
			||||||
 | 
					            isAdult = member?.auth != null
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (onAirChannelList.size >= 20) {
 | 
					        if (onAirChannelList.size >= 20) {
 | 
				
			||||||
@@ -35,10 +45,15 @@ class LiveRecommendService(
 | 
				
			|||||||
        val onAirCreatorIdList = onAirChannelList.map { it.creatorId }
 | 
					        val onAirCreatorIdList = onAirChannelList.map { it.creatorId }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        val notOnAirCreatorList = repository.getRecommendChannelList(
 | 
					        val notOnAirCreatorList = repository.getRecommendChannelList(
 | 
				
			||||||
            member.id!!,
 | 
					 | 
				
			||||||
            withOutCreatorList = onAirCreatorIdList,
 | 
					            withOutCreatorList = onAirCreatorIdList,
 | 
				
			||||||
            limit = (20 - onAirChannelList.size).toLong(),
 | 
					            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
 | 
					        return onAirChannelList + notOnAirCreatorList
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user