라이브 - 방장이 아닌 사용자가 유저 차단 시 라이브에서 강퇴되는 버그 수정

This commit is contained in:
Yu Sung 2023-11-21 14:20:01 +09:00
parent 6cbd4edacc
commit 823bd8e92d
2 changed files with 17 additions and 8 deletions

View File

@ -597,7 +597,12 @@ struct LiveRoomView: View {
UserBlockConfirmDialogView( UserBlockConfirmDialogView(
isShowing: $viewModel.isShowUesrBlockConfirm, isShowing: $viewModel.isShowUesrBlockConfirm,
nickname: viewModel.reportUserNickname, nickname: viewModel.reportUserNickname,
confirmAction: { viewModel.userBlock() } confirmAction: {
viewModel.userBlock { userId in
viewModel.kickOutId = userId
viewModel.kickOut()
}
}
) )
} }

View File

@ -713,12 +713,14 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
.store(in: &subscription) .store(in: &subscription)
let nickname = getUserNicknameAndProfileUrl(accountId: kickOutId).nickname let nickname = getUserNicknameAndProfileUrl(accountId: kickOutId).nickname
agora.sendMessageToPeer(peerId: String(kickOutId), rawMessage: LiveRoomRequestType.KICK_OUT.rawValue.data(using: .utf8)!, completion: { [unowned self] errorCode in if UserDefaults.int(forKey: .userId) == liveRoomInfo?.creatorId {
if errorCode == .ok { agora.sendMessageToPeer(peerId: String(kickOutId), rawMessage: LiveRoomRequestType.KICK_OUT.rawValue.data(using: .utf8)!, completion: { [unowned self] errorCode in
self.popupContent = "\(nickname)님을 내보냈습니다." if errorCode == .ok {
self.isShowPopup = true self.popupContent = "\(nickname)님을 내보냈습니다."
} self.isShowPopup = true
}) }
})
}
if let index = muteSpeakers.firstIndex(of: UInt(kickOutId)) { if let index = muteSpeakers.firstIndex(of: UInt(kickOutId)) {
muteSpeakers.remove(at: index) muteSpeakers.remove(at: index)
@ -1129,7 +1131,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
self.agora.sendRawMessageToGroup(rawMessage: setManagerMessage) self.agora.sendRawMessageToGroup(rawMessage: setManagerMessage)
} }
func userBlock() { func userBlock(onSuccess: @escaping (Int) -> Void) {
isLoading = true isLoading = true
userRepository.memberBlock(userId: reportUserId) userRepository.memberBlock(userId: reportUserId)
.sink { result in .sink { result in
@ -1150,6 +1152,8 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if decoded.success { if decoded.success {
self.reportMessage = "차단하였습니다." self.reportMessage = "차단하였습니다."
self.getUserProfile(userId: reportUserId) self.getUserProfile(userId: reportUserId)
onSuccess(reportUserId)
self.reportUserId = 0 self.reportUserId = 0
self.reportUserNickname = "" self.reportUserNickname = ""
self.reportUserIsBlocked = false self.reportUserIsBlocked = false