Updated on 2026-08-14

This commit is contained in:
Tangem 2022-11-11 14:07:23 +03:00
parent a6e04a4344
commit df818fa72a
11 changed files with 117 additions and 1 deletions

1
core/datasource/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/build

View file

@ -0,0 +1,46 @@
plugins {
id("com.android.library")
kotlin("android")
kotlin("kapt")
id("com.google.dagger.hilt.android")
}
android {
defaultConfig {
compileSdk = AppConfig.compileSdkVersion
minSdk = AppConfig.minSdkVersion
targetSdk = AppConfig.targetSdkVersion
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
isCoreLibraryDesugaringEnabled = false
}
}
dependencies {
/** DI */
implementation(Library.hilt)
implementation(Library.hiltKapt)
/** Coroutines */
implementation(Library.coroutine)
/** Logging */
implementation(Library.timber)
/** Network */
implementation(Library.retrofit)
implementation(Library.retrofitMoshiConverter)
implementation(Library.moshi)
implementation(Library.moshiKotlin)
implementation(Library.okHttp)
implementation(Library.okHttpLogging)
}

View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.tangem.datasource" />

View file

@ -0,0 +1,7 @@
package com.tangem.datasource.api.referral
/**
* Api for referral functionality
*/
interface ReferralApi {
}

View file

@ -0,0 +1,44 @@
package com.tangem.datasource.di
import com.tangem.datasource.api.referral.ReferralApi
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory
import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
class NetworkModule {
@Provides
@Singleton
fun provideReferralApi(okHttpClient: OkHttpClient): ReferralApi {
return Retrofit.Builder()
.addConverterFactory(
MoshiConverterFactory.create(),
)
.baseUrl(PROD_REFERRAL_BASE_URL)
.client(okHttpClient)
.build()
.create(ReferralApi::class.java)
}
@Provides
@Singleton
fun provideOkHttpClient(): OkHttpClient {
return OkHttpClient.Builder()
.addInterceptor(
HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BASIC),
)
.build()
}
private companion object {
const val PROD_REFERRAL_BASE_URL = ""
}
}