diff --git a/SodaLive/Sources/Chat/Talk/Room/ChatRoomRepository.swift b/SodaLive/Sources/Chat/Talk/Room/ChatRoomRepository.swift index bb946ba..330eb5b 100644 --- a/SodaLive/Sources/Chat/Talk/Room/ChatRoomRepository.swift +++ b/SodaLive/Sources/Chat/Talk/Room/ChatRoomRepository.swift @@ -51,12 +51,12 @@ class ChatRoomRepository { } /** 쿼터 상태 조회 */ - func getChatQuotaStatus() -> AnyPublisher { - return talkApi.requestPublisher(.getChatQuotaStatus) + func getChatQuotaStatus(roomId: Int) -> AnyPublisher { + return talkApi.requestPublisher(.getChatQuotaStatus(roomId: roomId)) } - func purchaseChatQuota() -> AnyPublisher { - return talkApi.requestPublisher(.purchaseChatQuota(request: ChatQuotaPurchaseRequest())) + func purchaseChatQuota(roomId: Int) -> AnyPublisher { + return talkApi.requestPublisher(.purchaseChatQuota(roomId: roomId, request: ChatQuotaPurchaseRequest())) } func resetChatRoom(roomId: Int) -> AnyPublisher { diff --git a/SodaLive/Sources/Chat/Talk/Room/ChatRoomViewModel.swift b/SodaLive/Sources/Chat/Talk/Room/ChatRoomViewModel.swift index e6bea7c..4b5de69 100644 --- a/SodaLive/Sources/Chat/Talk/Room/ChatRoomViewModel.swift +++ b/SodaLive/Sources/Chat/Talk/Room/ChatRoomViewModel.swift @@ -277,7 +277,7 @@ final class ChatRoomViewModel: ObservableObject { func purchaseChatQuota() { isLoading = true - repository.purchaseChatQuota() + repository.purchaseChatQuota(roomId: roomId) .sink { result in switch result { case .finished: @@ -402,7 +402,7 @@ final class ChatRoomViewModel: ObservableObject { private func checkQuotaStatus() { isLoading = true - repository.getChatQuotaStatus() + repository.getChatQuotaStatus(roomId: roomId) .sink { result in switch result { case .finished: diff --git a/SodaLive/Sources/Chat/Talk/TalkApi.swift b/SodaLive/Sources/Chat/Talk/TalkApi.swift index 1b247de..4168bb5 100644 --- a/SodaLive/Sources/Chat/Talk/TalkApi.swift +++ b/SodaLive/Sources/Chat/Talk/TalkApi.swift @@ -15,8 +15,8 @@ enum TalkApi { case sendMessage(roomId: Int, request: SendChatMessageRequest) case getChatRoomMessages(roomId: Int, cursor: Int?, limit: Int) - case getChatQuotaStatus - case purchaseChatQuota(request: ChatQuotaPurchaseRequest) + case getChatQuotaStatus(roomId: Int) + case purchaseChatQuota(roomId: Int, request: ChatQuotaPurchaseRequest) case purchaseMessage(roomId: Int, messageId: Int64, request: ChatMessagePurchaseRequest) case resetChatRoom(roomId: Int, request: ChatRoomResetRequest) @@ -42,11 +42,11 @@ extension TalkApi: TargetType { case .getChatRoomMessages(let roomId, _, _): return "/api/chat/room/\(roomId)/messages" - case .getChatQuotaStatus: - return "/api/chat/quota/me" + case .getChatQuotaStatus(let roomId): + return "/api/chat/rooms/\(roomId)/quota/me" - case .purchaseChatQuota: - return "/api/chat/quota/purchase" + case .purchaseChatQuota(let roomId, _): + return "/api/chat/rooms/\(roomId)/quota/purchase" case .purchaseMessage(let roomId, let messageId, _): return "/api/chat/room/\(roomId)/messages/\(messageId)/purchase" @@ -125,7 +125,7 @@ extension TalkApi: TargetType { case .getChatQuotaStatus: return .requestPlain - case .purchaseChatQuota(let request): + case .purchaseChatQuota(_, let request): return .requestJSONEncodable(request) case .purchaseMessage(_, _, let request):