Skip to content

Commit

Permalink
[FIX/#124] 토큰 재발급 기능 DI 연결
Browse files Browse the repository at this point in the history
  • Loading branch information
chattymin committed Jan 15, 2024
1 parent ee3d292 commit 55e5f8e
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 9 deletions.
6 changes: 6 additions & 0 deletions app/src/main/java/com/going/doorip/di/DataSourceModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import com.going.data.datasource.ProfileDataSource
import com.going.data.datasource.SettingDataSource
import com.going.data.datasource.TendencyDataSource
import com.going.data.datasource.TodoDataSource
import com.going.data.datasource.TokenReissueDataSource
import com.going.data.datasourceImpl.AuthDataSourceImpl
import com.going.data.datasourceImpl.DashBoardDataSourceImpl
import com.going.data.datasourceImpl.EnterTripDataSourceImpl
Expand All @@ -16,6 +17,7 @@ import com.going.data.datasourceImpl.ProfileDataSourceImpl
import com.going.data.datasourceImpl.SettingDataSourceImpl
import com.going.data.datasourceImpl.TendencyDataSourceImpl
import com.going.data.datasourceImpl.TodoDataSourceImpl
import com.going.data.datasourceImpl.TokenReissueDataSourceImpl
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
Expand Down Expand Up @@ -66,4 +68,8 @@ object DataSourceModule {
fun provideEnterTripDataSource(enterTripDataSourceImpl: EnterTripDataSourceImpl): EnterTripDataSource =
enterTripDataSourceImpl

@Provides
@Singleton
fun provideTokenReissueDataSource(tokenReissueDataSourceImpl: TokenReissueDataSourceImpl): TokenReissueDataSource =
tokenReissueDataSourceImpl
}
6 changes: 6 additions & 0 deletions app/src/main/java/com/going/doorip/di/RepositoryModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import com.going.data.repositoryImpl.ProfileRepositoryImpl
import com.going.data.repositoryImpl.SettingRepositoryImpl
import com.going.data.repositoryImpl.TendencyRepositoryImpl
import com.going.data.repositoryImpl.TodoRepositoryImpl
import com.going.data.repositoryImpl.TokenReissueRepositoryImpl
import com.going.data.repositoryImpl.TokenRepositoryImpl
import com.going.domain.repository.AuthRepository
import com.going.domain.repository.DashBoardRepository
Expand All @@ -17,6 +18,7 @@ import com.going.domain.repository.ProfileRepository
import com.going.domain.repository.SettingRepository
import com.going.domain.repository.TendencyRepository
import com.going.domain.repository.TodoRepository
import com.going.domain.repository.TokenReissueRepository
import com.going.domain.repository.TokenRepository
import dagger.Module
import dagger.Provides
Expand Down Expand Up @@ -73,4 +75,8 @@ object RepositoryModule {
fun provideProfileRepository(profileRepositoryImpl: ProfileRepositoryImpl): ProfileRepository =
profileRepositoryImpl

@Provides
@Singleton
fun provideTokenReissueRepository(tokenReissueRepositoryImpl: TokenReissueRepositoryImpl): TokenReissueRepository =
tokenReissueRepositoryImpl
}
26 changes: 25 additions & 1 deletion app/src/main/java/com/going/doorip/di/RetrofitModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.going.doorip.di
import com.going.data.interceptor.AuthInterceptor
import com.going.doorip.BuildConfig.BASE_URL
import com.going.doorip.di.qualifier.JWT
import com.going.doorip.di.qualifier.REISSUE
import com.going.ui.extension.isJsonArray
import com.going.ui.extension.isJsonObject
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
Expand Down Expand Up @@ -63,6 +64,7 @@ object RetrofitModule {

@Provides
@Singleton
@JWT
fun provideJWTOkHttpClient(
loggingInterceptor: Interceptor,
@JWT authInterceptor: Interceptor,
Expand All @@ -73,8 +75,30 @@ object RetrofitModule {

@Provides
@Singleton
@REISSUE
fun provideReissueOkHttpClient(
loggingInterceptor: Interceptor,
): OkHttpClient = OkHttpClient.Builder()
.addInterceptor(loggingInterceptor)
.build()

@Provides
@Singleton
@JWT
fun provideJWTRetrofit(
client: OkHttpClient,
@JWT client: OkHttpClient,
factory: Converter.Factory,
): Retrofit = Retrofit.Builder()
.baseUrl(BASE_URL)
.client(client)
.addConverterFactory(factory)
.build()

@Provides
@Singleton
@REISSUE
fun provideReissueRetrofit(
@REISSUE client: OkHttpClient,
factory: Converter.Factory,
): Retrofit = Retrofit.Builder()
.baseUrl(BASE_URL)
Expand Down
23 changes: 15 additions & 8 deletions app/src/main/java/com/going/doorip/di/ServiceModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ import com.going.data.service.ProfileService
import com.going.data.service.SettingService
import com.going.data.service.TendencyService
import com.going.data.service.TodoService
import com.going.data.service.TokenReissueService
import com.going.doorip.di.qualifier.JWT
import com.going.doorip.di.qualifier.REISSUE
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
Expand All @@ -21,42 +24,46 @@ object ServiceModule {

@Provides
@Singleton
fun provideMockService(retrofit: Retrofit): MockService =
fun provideMockService(@JWT retrofit: Retrofit): MockService =
retrofit.create(MockService::class.java)

@Provides
@Singleton
fun provideAuthService(retrofit: Retrofit): AuthService =
fun provideAuthService(@JWT retrofit: Retrofit): AuthService =
retrofit.create(AuthService::class.java)

@Provides
@Singleton
fun provideSettingService(retrofit: Retrofit): SettingService =
fun provideSettingService(@JWT retrofit: Retrofit): SettingService =
retrofit.create(SettingService::class.java)

@Provides
@Singleton
fun provideTodoService(retrofit: Retrofit): TodoService =
fun provideTodoService(@JWT retrofit: Retrofit): TodoService =
retrofit.create(TodoService::class.java)

@Provides
@Singleton
fun provideDashBoardService(retrofit: Retrofit): DashBoardService =
fun provideDashBoardService(@JWT retrofit: Retrofit): DashBoardService =
retrofit.create(DashBoardService::class.java)

@Provides
@Singleton
fun provideEnterTripService(retrofit: Retrofit): EnterTripService =
fun provideEnterTripService(@JWT retrofit: Retrofit): EnterTripService =
retrofit.create(EnterTripService::class.java)

@Provides
@Singleton
fun provideTendencyService(retrofit: Retrofit): TendencyService =
fun provideTendencyService(@JWT retrofit: Retrofit): TendencyService =
retrofit.create(TendencyService::class.java)

@Provides
@Singleton
fun provideProfileService(retrofit: Retrofit): ProfileService =
fun provideProfileService(@JWT retrofit: Retrofit): ProfileService =
retrofit.create(ProfileService::class.java)

@Provides
@Singleton
fun provideTokenReissueService(@REISSUE retrofit: Retrofit): TokenReissueService =
retrofit.create(TokenReissueService::class.java)
}

0 comments on commit 55e5f8e

Please sign in to comment.