From 3cac42b5b999e0496cdb5f870c4d446be789b798 Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 1 Aug 2023 05:24:35 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EB=B0=A9=20-=20?= =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=B0=B8=EC=97=AC=EC=9E=90=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=ED=95=84=20=EC=9D=B4=EB=AF=B8=EC=A7=80?= =?UTF-8?q?=EC=97=90=20cloudfront=20host=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/room/LiveRoomService.kt | 16 ++++++++-------- .../sodalive/live/room/info/LiveRoomInfo.kt | 12 ++++++------ .../live/room/kickout/LiveRoomKickOutService.kt | 8 ++++++-- 3 files changed, 20 insertions(+), 16 deletions(-) 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 6d8d20a..62e6967 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 @@ -451,9 +451,9 @@ class LiveRoomService( roomInfo.removeManager(member) if (room.member!!.id == member.id) { - roomInfo.addSpeaker(member) + roomInfo.addSpeaker(member, cloudFrontHost) } else { - roomInfo.addListener(member) + roomInfo.addListener(member, cloudFrontHost) } roomInfoRepository.save(roomInfo) @@ -653,9 +653,9 @@ class LiveRoomService( } // 조회 하는 유저 - val memberResponse = LiveRoomMember(member) + val memberResponse = LiveRoomMember(member, cloudFrontHost) // 조회 당하는 유저 - val userResponse = LiveRoomMember(user) + val userResponse = LiveRoomMember(user, cloudFrontHost) val isSpeaker = if ( room.member!!.id!! != userId && @@ -713,7 +713,7 @@ class LiveRoomService( roomInfo.removeListener(account) roomInfo.removeManager(account) - roomInfo.addSpeaker(account) + roomInfo.addSpeaker(account, cloudFrontHost) roomInfoRepository.save(roomInfo) } @@ -727,7 +727,7 @@ class LiveRoomService( roomInfo.removeSpeaker(member) roomInfo.removeManager(member) - roomInfo.addListener(member) + roomInfo.addListener(member, cloudFrontHost) roomInfoRepository.save(roomInfo) } @@ -742,7 +742,7 @@ class LiveRoomService( val roomInfo = roomInfoRepository.findByIdOrNull(request.roomId) ?: throw SodaException("해당하는 라이브의 정보가 없습니다.") - val roomAccountResponse = LiveRoomMember(member = user) + val roomAccountResponse = LiveRoomMember(member = user, cloudFrontHost) if (roomInfo.managerList.contains(roomAccountResponse)) { throw SodaException("이미 매니저 입니다.") } @@ -756,7 +756,7 @@ class LiveRoomService( roomInfo.removeListener(user) roomInfo.removeSpeaker(user) - roomInfo.addManager(user) + roomInfo.addManager(user, cloudFrontHost) roomInfoRepository.save(roomInfo) } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/info/LiveRoomInfo.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/info/LiveRoomInfo.kt index 3946fbf..7bb3ca9 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/info/LiveRoomInfo.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/info/LiveRoomInfo.kt @@ -23,8 +23,8 @@ data class LiveRoomInfo( var managerCount = 0 private set - fun addSpeaker(member: Member) { - val liveRoomMember = LiveRoomMember(member) + fun addSpeaker(member: Member, cloudFrontHost: String) { + val liveRoomMember = LiveRoomMember(member, cloudFrontHost) liveRoomMember.role = LiveRoomMemberRole.SPEAKER val speakerSet = speakerList.toMutableSet() @@ -43,8 +43,8 @@ data class LiveRoomInfo( speakerCount = speakerList.size } - fun addListener(member: Member) { - val liveRoomMember = LiveRoomMember(member) + fun addListener(member: Member, cloudFrontHost: String) { + val liveRoomMember = LiveRoomMember(member, cloudFrontHost) liveRoomMember.role = LiveRoomMemberRole.LISTENER val listenerSet = listenerList.toMutableSet() @@ -63,8 +63,8 @@ data class LiveRoomInfo( listenerCount = listenerList.size } - fun addManager(member: Member) { - val liveRoomMember = LiveRoomMember(member) + fun addManager(member: Member, cloudFrontHost: String) { + val liveRoomMember = LiveRoomMember(member, cloudFrontHost) liveRoomMember.role = LiveRoomMemberRole.MANAGER val managerSet = managerList.toMutableSet() diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/kickout/LiveRoomKickOutService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/kickout/LiveRoomKickOutService.kt index 133edd0..0ee28c6 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/kickout/LiveRoomKickOutService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/kickout/LiveRoomKickOutService.kt @@ -6,6 +6,7 @@ import kr.co.vividnext.sodalive.live.room.info.LiveRoomInfoRedisRepository import kr.co.vividnext.sodalive.live.room.info.LiveRoomMember import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.MemberRepository +import org.springframework.beans.factory.annotation.Value import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service @@ -14,7 +15,10 @@ class LiveRoomKickOutService( private val roomInfoRepository: LiveRoomInfoRedisRepository, private val repository: LiveRoomKickOutRedisRepository, private val accountRepository: MemberRepository, - private val roomRepository: LiveRoomRepository + private val roomRepository: LiveRoomRepository, + + @Value("\${cloud.aws.cloud-front.host}") + private val cloudFrontHost: String ) { fun kickOut(request: LiveRoomKickOutRequest, member: Member) { val room = roomRepository.findByIdOrNull(request.roomId) @@ -27,7 +31,7 @@ class LiveRoomKickOutService( throw SodaException("해당하는 라이브가 없습니다.") } - if (!roomInfo.managerList.contains(LiveRoomMember(member)) && room.member!!.id != member.id) { + if (!roomInfo.managerList.contains(LiveRoomMember(member, cloudFrontHost)) && room.member!!.id != member.id) { throw SodaException("권한이 없습니다.") }