@@ -4,13 +4,16 @@ import android.content.Context
44import com.google.android.libraries.places.api.Places
55import com.google.android.libraries.places.api.net.PlacesClient
66import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
7+ import com.yapp.ndgl.data.core.di.ExchangeRateApiKey
8+ import com.yapp.ndgl.data.core.di.ExchangeRateClient
79import com.yapp.ndgl.data.core.di.GeocodingClient
810import com.yapp.ndgl.data.core.di.RouteApiKey
911import com.yapp.ndgl.data.core.di.RouteBaseUrl
1012import com.yapp.ndgl.data.core.di.RouteClient
1113import com.yapp.ndgl.data.core.di.WeatherApiKey
1214import com.yapp.ndgl.data.core.di.WeatherClient
1315import com.yapp.ndgl.data.travel.BuildConfig
16+ import com.yapp.ndgl.data.travel.api.ExchangeRateApi
1417import com.yapp.ndgl.data.travel.api.GeocodingApi
1518import com.yapp.ndgl.data.travel.api.PlaceApi
1619import com.yapp.ndgl.data.travel.api.RouteApi
@@ -35,6 +38,7 @@ object TravelNetworkModule {
3538 private const val ROUTES_BASE_URL = " https://routes.googleapis.com/"
3639 private const val WEATHER_BASE_URL = " https://weather.googleapis.com/"
3740 private const val GEOCODING_BASE_URL = " https://maps.googleapis.com/"
41+ private const val EXCHANGE_RATE_BASE_URL = " https://v6.exchangerate-api.com/"
3842
3943 @Provides
4044 @Singleton
@@ -140,4 +144,27 @@ object TravelNetworkModule {
140144 fun provideRouteApi (
141145 @RouteClient retrofit : Retrofit ,
142146 ): RouteApi = retrofit.create(RouteApi ::class .java)
147+
148+ @ExchangeRateApiKey
149+ @Provides
150+ @Singleton
151+ fun provideExchangeRateApiKey (): String = BuildConfig .EXCHANGE_RATE_API_KEY
152+
153+ @ExchangeRateClient
154+ @Provides
155+ @Singleton
156+ fun provideExchangeRateRetrofit (
157+ @ExchangeRateClient okHttpClient : OkHttpClient ,
158+ json : Json ,
159+ ): Retrofit = Retrofit .Builder ()
160+ .baseUrl(EXCHANGE_RATE_BASE_URL )
161+ .client(okHttpClient)
162+ .addConverterFactory(json.asConverterFactory(" application/json" .toMediaType()))
163+ .build()
164+
165+ @Provides
166+ @Singleton
167+ fun provideExchangeRateApi (
168+ @ExchangeRateClient retrofit : Retrofit ,
169+ ): ExchangeRateApi = retrofit.create(ExchangeRateApi ::class .java)
143170}
0 commit comments