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