35 lines
852 B
Kotlin
35 lines
852 B
Kotlin
package auth.di
|
|
|
|
import auth.data.remote.api.AuthApi
|
|
import auth.data.repository.AuthRepositoryImpl
|
|
import auth.domain.repository.AuthRepository
|
|
import core.network.ServerConfig
|
|
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 AuthModule {
|
|
|
|
@Provides
|
|
@Singleton
|
|
fun provideAuthApi(retrofit: Retrofit): AuthApi {
|
|
return retrofit.create(AuthApi::class.java)
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
fun provideAuthRepository(
|
|
api: AuthApi,
|
|
tokenManager: TokenManager,
|
|
serverConfig: ServerConfig
|
|
): AuthRepository {
|
|
return AuthRepositoryImpl(api, tokenManager, serverConfig)
|
|
}
|
|
}
|