Files
sodalive-ios/SodaLive/Sources/Chat/Talk/Room/ChatRoomRepository.swift
Yu Sung 154ca01a74 feat(chat-room) 채팅방 API
- 생성, 입장, 이전 메시지 로딩, 메시지 전송 API 추가
2025-09-04 00:49:16 +09:00

39 lines
1.3 KiB
Swift

//
// ChatRoomRepository.swift
// SodaLive
//
// Created by klaus on 9/2/25.
//
import Foundation
import CombineMoya
import Combine
import Moya
class ChatRoomRepository {
private let talkApi = MoyaProvider<TalkApi>()
/**
* : +
*/
func enterChatRoom(roomId: Int, characterImageId: Int?) -> AnyPublisher<Response, MoyaError> {
return talkApi.requestPublisher(.enterChatRoom(roomId: roomId, characterImageId: characterImageId))
}
/**
* :
*/
func loadMoreMessages(roomId: Int, cursor: Int?) -> AnyPublisher<Response, MoyaError> {
return talkApi.requestPublisher(.getChatRoomMessages(roomId: roomId, cursor: cursor, limit: 20))
}
/**
* API
* - : .
* - : (ServerChatMessage) ( AI )
*/
func sendMessage(roomId: Int, message: String) -> AnyPublisher<Response, MoyaError> {
return talkApi.requestPublisher(.sendMessage(roomId: roomId, request: SendChatMessageRequest(message: message)))
}
}