test #294
@@ -38,8 +38,6 @@ class LiveRoomController(
 | 
				
			|||||||
        @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
 | 
					        @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
 | 
				
			||||||
        pageable: Pageable
 | 
					        pageable: Pageable
 | 
				
			||||||
    ) = run {
 | 
					    ) = run {
 | 
				
			||||||
        if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        ApiResponse.ok(
 | 
					        ApiResponse.ok(
 | 
				
			||||||
            service.getRoomList(
 | 
					            service.getRoomList(
 | 
				
			||||||
                dateString,
 | 
					                dateString,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,7 +29,7 @@ interface LiveRoomQueryRepository {
 | 
				
			|||||||
        offset: Long,
 | 
					        offset: Long,
 | 
				
			||||||
        limit: Long,
 | 
					        limit: Long,
 | 
				
			||||||
        timezone: String,
 | 
					        timezone: String,
 | 
				
			||||||
        memberId: Long,
 | 
					        memberId: Long?,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<LiveRoom>
 | 
					    ): List<LiveRoom>
 | 
				
			||||||
@@ -38,14 +38,14 @@ interface LiveRoomQueryRepository {
 | 
				
			|||||||
        date: LocalDateTime,
 | 
					        date: LocalDateTime,
 | 
				
			||||||
        offset: Long,
 | 
					        offset: Long,
 | 
				
			||||||
        limit: Long,
 | 
					        limit: Long,
 | 
				
			||||||
        memberId: Long,
 | 
					        memberId: Long?,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<LiveRoom>
 | 
					    ): List<LiveRoom>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fun getLiveRoomListReservationWithoutDate(
 | 
					    fun getLiveRoomListReservationWithoutDate(
 | 
				
			||||||
        timezone: String,
 | 
					        timezone: String,
 | 
				
			||||||
        memberId: Long,
 | 
					        memberId: Long?,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<LiveRoom>
 | 
					    ): List<LiveRoom>
 | 
				
			||||||
@@ -72,7 +72,7 @@ class LiveRoomQueryRepositoryImpl(
 | 
				
			|||||||
        offset: Long,
 | 
					        offset: Long,
 | 
				
			||||||
        limit: Long,
 | 
					        limit: Long,
 | 
				
			||||||
        timezone: String,
 | 
					        timezone: String,
 | 
				
			||||||
        memberId: Long,
 | 
					        memberId: Long?,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<LiveRoom> {
 | 
					    ): List<LiveRoom> {
 | 
				
			||||||
@@ -85,7 +85,7 @@ class LiveRoomQueryRepositoryImpl(
 | 
				
			|||||||
            where = where.and(liveRoom.isAdult.isFalse)
 | 
					            where = where.and(liveRoom.isAdult.isFalse)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (isCreator) {
 | 
					        if (isCreator && memberId != null) {
 | 
				
			||||||
            where = where.and(
 | 
					            where = where.and(
 | 
				
			||||||
                liveRoom.isAvailableJoinCreator.isTrue
 | 
					                liveRoom.isAvailableJoinCreator.isTrue
 | 
				
			||||||
                    .or(liveRoom.member.id.eq(memberId))
 | 
					                    .or(liveRoom.member.id.eq(memberId))
 | 
				
			||||||
@@ -112,7 +112,7 @@ class LiveRoomQueryRepositoryImpl(
 | 
				
			|||||||
        date: LocalDateTime,
 | 
					        date: LocalDateTime,
 | 
				
			||||||
        offset: Long,
 | 
					        offset: Long,
 | 
				
			||||||
        limit: Long,
 | 
					        limit: Long,
 | 
				
			||||||
        memberId: Long,
 | 
					        memberId: Long?,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<LiveRoom> {
 | 
					    ): List<LiveRoom> {
 | 
				
			||||||
@@ -129,7 +129,7 @@ class LiveRoomQueryRepositoryImpl(
 | 
				
			|||||||
            where = where.and(liveRoom.isAdult.isFalse)
 | 
					            where = where.and(liveRoom.isAdult.isFalse)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (isCreator) {
 | 
					        if (isCreator && memberId != null) {
 | 
				
			||||||
            where = where.and(
 | 
					            where = where.and(
 | 
				
			||||||
                liveRoom.isAvailableJoinCreator.isTrue
 | 
					                liveRoom.isAvailableJoinCreator.isTrue
 | 
				
			||||||
                    .or(liveRoom.member.id.eq(memberId))
 | 
					                    .or(liveRoom.member.id.eq(memberId))
 | 
				
			||||||
@@ -148,7 +148,7 @@ class LiveRoomQueryRepositoryImpl(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    override fun getLiveRoomListReservationWithoutDate(
 | 
					    override fun getLiveRoomListReservationWithoutDate(
 | 
				
			||||||
        timezone: String,
 | 
					        timezone: String,
 | 
				
			||||||
        memberId: Long,
 | 
					        memberId: Long?,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<LiveRoom> {
 | 
					    ): List<LiveRoom> {
 | 
				
			||||||
@@ -169,7 +169,7 @@ class LiveRoomQueryRepositoryImpl(
 | 
				
			|||||||
            where = where.and(liveRoom.isAdult.isFalse)
 | 
					            where = where.and(liveRoom.isAdult.isFalse)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (isCreator) {
 | 
					        if (isCreator && memberId != null) {
 | 
				
			||||||
            where = where.and(
 | 
					            where = where.and(
 | 
				
			||||||
                liveRoom.isAvailableJoinCreator.isTrue
 | 
					                liveRoom.isAvailableJoinCreator.isTrue
 | 
				
			||||||
                    .or(liveRoom.member.id.eq(memberId))
 | 
					                    .or(liveRoom.member.id.eq(memberId))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -118,42 +118,54 @@ class LiveRoomService(
 | 
				
			|||||||
        status: LiveRoomStatus,
 | 
					        status: LiveRoomStatus,
 | 
				
			||||||
        isAdultContentVisible: Boolean,
 | 
					        isAdultContentVisible: Boolean,
 | 
				
			||||||
        pageable: Pageable,
 | 
					        pageable: Pageable,
 | 
				
			||||||
        member: Member,
 | 
					        member: Member?,
 | 
				
			||||||
        timezone: String
 | 
					        timezone: String
 | 
				
			||||||
    ): List<GetRoomListResponse> {
 | 
					    ): List<GetRoomListResponse> {
 | 
				
			||||||
        val roomList = if (status == LiveRoomStatus.NOW) {
 | 
					        val roomList = if (status == LiveRoomStatus.NOW) {
 | 
				
			||||||
            getLiveRoomListNow(
 | 
					            getLiveRoomListNow(
 | 
				
			||||||
                pageable,
 | 
					                pageable,
 | 
				
			||||||
                timezone,
 | 
					                timezone,
 | 
				
			||||||
                memberId = member.id!!,
 | 
					                memberId = member?.id,
 | 
				
			||||||
                isCreator = member.role == MemberRole.CREATOR,
 | 
					                isCreator = member?.role == MemberRole.CREATOR,
 | 
				
			||||||
                isAdult = member.auth != null && isAdultContentVisible
 | 
					                isAdult = member?.auth != null && isAdultContentVisible
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
        } else if (dateString != null) {
 | 
					        } else if (dateString != null) {
 | 
				
			||||||
            getLiveRoomListReservationWithDate(
 | 
					            getLiveRoomListReservationWithDate(
 | 
				
			||||||
                dateString,
 | 
					                dateString,
 | 
				
			||||||
                pageable,
 | 
					                pageable,
 | 
				
			||||||
                timezone,
 | 
					                timezone,
 | 
				
			||||||
                memberId = member.id!!,
 | 
					                memberId = member?.id,
 | 
				
			||||||
                isCreator = member.role == MemberRole.CREATOR,
 | 
					                isCreator = member?.role == MemberRole.CREATOR,
 | 
				
			||||||
                isAdult = member.auth != null && isAdultContentVisible
 | 
					                isAdult = member?.auth != null && isAdultContentVisible
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            getLiveRoomListReservationWithoutDate(
 | 
					            getLiveRoomListReservationWithoutDate(
 | 
				
			||||||
                timezone,
 | 
					                timezone,
 | 
				
			||||||
                isCreator = member.role == MemberRole.CREATOR,
 | 
					                isCreator = member?.role == MemberRole.CREATOR,
 | 
				
			||||||
                memberId = member.id!!,
 | 
					                memberId = member?.id,
 | 
				
			||||||
                isAdult = member.auth != null && isAdultContentVisible
 | 
					                isAdult = member?.auth != null && isAdultContentVisible
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return roomList
 | 
					        return roomList
 | 
				
			||||||
            .filter { !blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it.member!!.id!!) }
 | 
					            .filter {
 | 
				
			||||||
 | 
					                if (member?.id != null) {
 | 
				
			||||||
 | 
					                    !blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it.member!!.id!!)
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    true
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            .map {
 | 
					            .map {
 | 
				
			||||||
                val roomInfo = roomInfoRepository.findByIdOrNull(it.id!!)
 | 
					                val roomInfo = roomInfoRepository.findByIdOrNull(it.id!!)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                val reservations = it.reservations
 | 
					                val reservations = it.reservations
 | 
				
			||||||
                    .filter { reservation -> reservation.member!!.id!! == member.id!! && reservation.isActive }
 | 
					                    .filter { reservation ->
 | 
				
			||||||
 | 
					                        if (member?.id != null) {
 | 
				
			||||||
 | 
					                            reservation.member!!.id!! == member.id!! && reservation.isActive
 | 
				
			||||||
 | 
					                        } else {
 | 
				
			||||||
 | 
					                            true
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                val beginDateTime = it.beginDateTime
 | 
					                val beginDateTime = it.beginDateTime
 | 
				
			||||||
                    .atZone(ZoneId.of("UTC"))
 | 
					                    .atZone(ZoneId.of("UTC"))
 | 
				
			||||||
@@ -202,7 +214,7 @@ class LiveRoomService(
 | 
				
			|||||||
    private fun getLiveRoomListNow(
 | 
					    private fun getLiveRoomListNow(
 | 
				
			||||||
        pageable: Pageable,
 | 
					        pageable: Pageable,
 | 
				
			||||||
        timezone: String,
 | 
					        timezone: String,
 | 
				
			||||||
        memberId: Long,
 | 
					        memberId: Long?,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<LiveRoom> {
 | 
					    ): List<LiveRoom> {
 | 
				
			||||||
@@ -220,7 +232,7 @@ class LiveRoomService(
 | 
				
			|||||||
        dateString: String,
 | 
					        dateString: String,
 | 
				
			||||||
        pageable: Pageable,
 | 
					        pageable: Pageable,
 | 
				
			||||||
        timezone: String,
 | 
					        timezone: String,
 | 
				
			||||||
        memberId: Long,
 | 
					        memberId: Long?,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<LiveRoom> {
 | 
					    ): List<LiveRoom> {
 | 
				
			||||||
@@ -242,7 +254,7 @@ class LiveRoomService(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private fun getLiveRoomListReservationWithoutDate(
 | 
					    private fun getLiveRoomListReservationWithoutDate(
 | 
				
			||||||
        timezone: String,
 | 
					        timezone: String,
 | 
				
			||||||
        memberId: Long,
 | 
					        memberId: Long?,
 | 
				
			||||||
        isCreator: Boolean,
 | 
					        isCreator: Boolean,
 | 
				
			||||||
        isAdult: Boolean
 | 
					        isAdult: Boolean
 | 
				
			||||||
    ): List<LiveRoom> {
 | 
					    ): List<LiveRoom> {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user