diff --git a/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt b/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt index a01b4e27..acaf7ec3 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt @@ -176,6 +176,8 @@ import kr.co.vividnext.sodalive.user.UserViewModel 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.creator.channel.data.CreatorChannelHomeApi +import kr.co.vividnext.sodalive.v2.creator.channel.data.CreatorChannelHomeRepository import kr.co.vividnext.sodalive.v2.main.MainV2ViewModel import kr.co.vividnext.sodalive.v2.main.chat.ChatMainViewModel import kr.co.vividnext.sodalive.v2.main.chat.data.ChatRoomApi @@ -303,6 +305,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) { single { ApiBuilder().build(get(), DmChatApi::class.java) } single { ApiBuilder().build(get(), HomeCreatorRankingApi::class.java) } single { ApiBuilder().build(get(), HomeRecommendationApi::class.java) } + single { ApiBuilder().build(get(), CreatorChannelHomeApi::class.java) } single { ApiBuilder().build(get(), CharacterApi::class.java) } single { ApiBuilder().build(get(), TalkApi::class.java) } single { ApiBuilder().build(get(), CharacterCommentApi::class.java) } @@ -458,6 +461,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) { factory { DmChatRepository(api = get(), realtimeClient = get()) } factory { HomeCreatorRankingRepository(get()) } factory { HomeRecommendationRepository(get()) } + factory { CreatorChannelHomeRepository(api = get(), userRepository = get(), talkApi = get()) } factory { CharacterTabRepository(get()) } factory { CharacterDetailRepository(get(), get()) } factory { CharacterGalleryRepository(get()) } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/data/CreatorChannelHomeRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/data/CreatorChannelHomeRepository.kt new file mode 100644 index 00000000..8e839b01 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/data/CreatorChannelHomeRepository.kt @@ -0,0 +1,33 @@ +package kr.co.vividnext.sodalive.v2.creator.channel.data + +import kr.co.vividnext.sodalive.chat.talk.TalkApi +import kr.co.vividnext.sodalive.chat.talk.room.CreateChatRoomRequest +import kr.co.vividnext.sodalive.user.UserRepository + +class CreatorChannelHomeRepository( + private val api: CreatorChannelHomeApi, + private val userRepository: UserRepository, + private val talkApi: TalkApi +) { + fun getHome(creatorId: Long, token: String) = api.getHome( + creatorId = creatorId, + authHeader = token + ) + + fun followCreator( + creatorId: Long, + follow: Boolean, + notify: Boolean, + token: String + ) = userRepository.creatorFollow( + creatorId = creatorId, + follow = follow, + notify = notify, + token = token + ) + + fun createChatRoom(characterId: Long, token: String) = talkApi.createChatRoom( + authHeader = token, + request = CreateChatRoomRequest(characterId) + ) +}