feat(creator): 채널 홈 저장소를 등록한다

This commit is contained in:
2026-06-13 16:21:59 +09:00
parent 0934a7ec51
commit da23253a9c
2 changed files with 37 additions and 0 deletions

View File

@@ -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.find_password.FindPasswordViewModel
import kr.co.vividnext.sodalive.user.login.LoginViewModel import kr.co.vividnext.sodalive.user.login.LoginViewModel
import kr.co.vividnext.sodalive.user.signup.SignUpViewModel 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.MainV2ViewModel
import kr.co.vividnext.sodalive.v2.main.chat.ChatMainViewModel import kr.co.vividnext.sodalive.v2.main.chat.ChatMainViewModel
import kr.co.vividnext.sodalive.v2.main.chat.data.ChatRoomApi 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(), DmChatApi::class.java) }
single { ApiBuilder().build(get(), HomeCreatorRankingApi::class.java) } single { ApiBuilder().build(get(), HomeCreatorRankingApi::class.java) }
single { ApiBuilder().build(get(), HomeRecommendationApi::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(), CharacterApi::class.java) }
single { ApiBuilder().build(get(), TalkApi::class.java) } single { ApiBuilder().build(get(), TalkApi::class.java) }
single { ApiBuilder().build(get(), CharacterCommentApi::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 { DmChatRepository(api = get(), realtimeClient = get()) }
factory { HomeCreatorRankingRepository(get()) } factory { HomeCreatorRankingRepository(get()) }
factory { HomeRecommendationRepository(get()) } factory { HomeRecommendationRepository(get()) }
factory { CreatorChannelHomeRepository(api = get(), userRepository = get(), talkApi = get()) }
factory { CharacterTabRepository(get()) } factory { CharacterTabRepository(get()) }
factory { CharacterDetailRepository(get(), get()) } factory { CharacterDetailRepository(get(), get()) }
factory { CharacterGalleryRepository(get()) } factory { CharacterGalleryRepository(get()) }

View File

@@ -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)
)
}