36 lines
837 B
Kotlin
36 lines
837 B
Kotlin
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 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): ChatRepository {
|
|
return ChatRepositoryImpl(api)
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
fun provideChatHubClient(): ChatHubClient {
|
|
return ChatHubClient()
|
|
}
|
|
}
|