package chats.di import chats.data.remote.api.ChatApi import chats.data.remote.signalr.ChatHubClient import chats.data.repository.ChatRepositoryImpl import chats.domain.repository.ChatRepository import core.security.TokenManager import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import retrofit2.Retrofit import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) object ChatModule { @Provides @Singleton fun provideChatApi(retrofit: Retrofit): ChatApi { return retrofit.create(ChatApi::class.java) } @Provides @Singleton fun provideChatRepository(api: ChatApi, tokenManager: TokenManager): ChatRepository { return ChatRepositoryImpl(api, tokenManager) } @Provides @Singleton fun provideChatHubClient(): ChatHubClient { return ChatHubClient() } }