feat(creator): 채널 홈 저장소를 등록한다
This commit is contained in:
@@ -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()) }
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user