feat(chat): 채팅방 목록 API와 저장소를 추가한다
This commit is contained in:
@@ -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()) }
|
||||
|
||||
@@ -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>>
|
||||
}
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user