feat(chat): 채팅방 목록 API와 저장소를 추가한다

This commit is contained in:
2026-06-09 23:30:11 +09:00
parent 06e4b5ad34
commit 32c30132b9
3 changed files with 36 additions and 0 deletions

View File

@@ -177,6 +177,8 @@ import kr.co.vividnext.sodalive.user.find_password.FindPasswordViewModel
import kr.co.vividnext.sodalive.user.login.LoginViewModel
import kr.co.vividnext.sodalive.user.signup.SignUpViewModel
import kr.co.vividnext.sodalive.v2.main.MainV2ViewModel
import kr.co.vividnext.sodalive.v2.main.chat.data.ChatRoomApi
import kr.co.vividnext.sodalive.v2.main.chat.data.ChatRoomRepository
import kr.co.vividnext.sodalive.v2.main.home.HomeCreatorRankingViewModel
import kr.co.vividnext.sodalive.v2.main.home.HomeRecommendationViewModel
import kr.co.vividnext.sodalive.v2.main.home.data.HomeCreatorRankingApi
@@ -291,6 +293,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
single { ApiBuilder().build(get(), SearchApi::class.java) }
single { ApiBuilder().build(get(), PointStatusApi::class.java) }
single { ApiBuilder().build(get(), HomeApi::class.java) }
single { ApiBuilder().build(get(), ChatRoomApi::class.java) }
single { ApiBuilder().build(get(), HomeCreatorRankingApi::class.java) }
single { ApiBuilder().build(get(), HomeRecommendationApi::class.java) }
single { ApiBuilder().build(get(), CharacterApi::class.java) }
@@ -441,6 +444,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
factory { UserEventRepository(get()) }
factory { PointStatusRepository(get()) }
factory { HomeRepository(get()) }
factory { ChatRoomRepository(get()) }
factory { HomeCreatorRankingRepository(get()) }
factory { HomeRecommendationRepository(get()) }
factory { CharacterTabRepository(get()) }

View File

@@ -0,0 +1,16 @@
package kr.co.vividnext.sodalive.v2.main.chat.data
import io.reactivex.rxjava3.core.Single
import kr.co.vividnext.sodalive.common.ApiResponse
import retrofit2.http.GET
import retrofit2.http.Header
import retrofit2.http.Query
interface ChatRoomApi {
@GET("/api/v2/chat/rooms")
fun getChatRooms(
@Header("Authorization") authHeader: String,
@Query("filter") filter: String,
@Query("cursor") cursor: String?
): Single<ApiResponse<ChatRoomListPageResponse>>
}

View File

@@ -0,0 +1,16 @@
package kr.co.vividnext.sodalive.v2.main.chat.data
import io.reactivex.rxjava3.core.Single
import kr.co.vividnext.sodalive.common.ApiResponse
class ChatRoomRepository(private val api: ChatRoomApi) {
fun getChatRooms(
token: String,
filter: String,
cursor: String?
): Single<ApiResponse<ChatRoomListPageResponse>> = api.getChatRooms(
authHeader = token,
filter = filter,
cursor = cursor
)
}