diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt index 3d9de88..9b19673 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt @@ -24,6 +24,7 @@ interface LiveRoomQueryRepository { offset: Long, limit: Long, timezone: String, + memberId: Long, isCreator: Boolean, isAdult: Boolean ): List<LiveRoom> @@ -32,6 +33,7 @@ interface LiveRoomQueryRepository { date: LocalDateTime, offset: Long, limit: Long, + memberId: Long, isCreator: Boolean, isAdult: Boolean ): List<LiveRoom> @@ -56,6 +58,7 @@ class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : L offset: Long, limit: Long, timezone: String, + memberId: Long, isCreator: Boolean, isAdult: Boolean ): List<LiveRoom> { @@ -69,7 +72,10 @@ class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : L } if (isCreator) { - where = where.and(liveRoom.isAvailableJoinCreator.isTrue) + where = where.and( + liveRoom.isAvailableJoinCreator.isTrue + .or(liveRoom.member.id.eq(memberId)) + ) } return queryFactory @@ -92,6 +98,7 @@ class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : L date: LocalDateTime, offset: Long, limit: Long, + memberId: Long, isCreator: Boolean, isAdult: Boolean ): List<LiveRoom> { @@ -109,7 +116,10 @@ class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : L } if (isCreator) { - where = where.and(liveRoom.isAvailableJoinCreator.isTrue) + where = where.and( + liveRoom.isAvailableJoinCreator.isTrue + .or(liveRoom.member.id.eq(memberId)) + ) } return queryFactory @@ -146,7 +156,10 @@ class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : L } if (isCreator) { - where = where.and(liveRoom.isAvailableJoinCreator.isTrue) + where = where.and( + liveRoom.isAvailableJoinCreator.isTrue + .or(liveRoom.member.id.eq(memberId)) + ) } return queryFactory diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt index fa090d4..66e9d38 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt @@ -121,6 +121,7 @@ class LiveRoomService( getLiveRoomListNow( pageable, timezone, + memberId = member.id!!, isCreator = member.role == MemberRole.CREATOR, isAdult = member.auth != null ) @@ -129,6 +130,7 @@ class LiveRoomService( dateString, pageable, timezone, + memberId = member.id!!, isCreator = member.role == MemberRole.CREATOR, isAdult = member.auth != null ) @@ -196,6 +198,7 @@ class LiveRoomService( private fun getLiveRoomListNow( pageable: Pageable, timezone: String, + memberId: Long, isCreator: Boolean, isAdult: Boolean ): List<LiveRoom> { @@ -203,6 +206,7 @@ class LiveRoomService( offset = pageable.offset, limit = pageable.pageSize.toLong(), timezone = timezone, + memberId = memberId, isCreator = isCreator, isAdult = isAdult ) @@ -212,6 +216,7 @@ class LiveRoomService( dateString: String, pageable: Pageable, timezone: String, + memberId: Long, isCreator: Boolean, isAdult: Boolean ): List<LiveRoom> { @@ -225,6 +230,7 @@ class LiveRoomService( date = date, offset = pageable.offset, limit = pageable.pageSize.toLong(), + memberId = memberId, isCreator = isCreator, isAdult = isAdult )