Кэш чатов

This commit is contained in:
Халимов Рустам
2026-04-20 00:25:40 +03:00
parent 945134f029
commit 7c66e1c0c0
35 changed files with 2131 additions and 92 deletions
+24 -6
View File
@@ -1,15 +1,19 @@
package chats.di
import android.content.Context
import chats.data.remote.api.ChatApi
import chats.data.remote.signalr.ChatHubClient
import chats.data.repository.ChatRepositoryImpl
import chats.data.signalr.MessageSignalRHandler
import chats.domain.repository.ChatRepository
import core.database.data.ChatDatabase
import core.database.data.MessageDao
import core.network.ServerConfig
import core.security.TokenManager
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import retrofit2.Retrofit
import javax.inject.Singleton
@@ -26,14 +30,28 @@ object ChatModule {
@Provides
@Singleton
fun provideChatRepository(
api: ChatApi,
tokenManager: TokenManager,
fun provideMessageSignalRHandler(
hubClient: ChatHubClient,
dao: MessageDao,
serverConfig: ServerConfig,
messageDao: MessageDao,
hubClient: chats.data.remote.signalr.ChatHubClient
tokenManager: TokenManager
): MessageSignalRHandler {
return MessageSignalRHandler(hubClient, dao, serverConfig, tokenManager)
}
@Provides
@Singleton
fun provideChatRepository(
api: ChatApi,
tokenManager: TokenManager,
serverConfig: ServerConfig,
dao: MessageDao,
database: ChatDatabase,
hubClient: ChatHubClient,
signalRHandler: MessageSignalRHandler,
@ApplicationContext context: Context
): ChatRepository {
return ChatRepositoryImpl(api, tokenManager, serverConfig, messageDao, hubClient)
return ChatRepositoryImpl(api, tokenManager, serverConfig, dao, database, hubClient, signalRHandler, context)
}
@Provides