Updated on 2026-08-14

This commit is contained in:
Tangem 2024-03-21 09:37:32 +00:00
parent aa77c81f2d
commit 69234e50ef
5 changed files with 34 additions and 0 deletions

View file

@ -0,0 +1,11 @@
package com.tangem.tap.network.auth
import com.tangem.lib.auth.AppVersionProvider
import com.tangem.wallet.BuildConfig
internal class DefaultAppVersionProvider : AppVersionProvider {
override fun getAppVersion(): String {
return BuildConfig.VERSION_NAME
}
}

View file

@ -2,8 +2,10 @@ package com.tangem.tap.network.auth.di
import com.tangem.datasource.config.ConfigManager
import com.tangem.datasource.local.userwallet.UserWalletsStore
import com.tangem.lib.auth.AppVersionProvider
import com.tangem.lib.auth.AuthProvider
import com.tangem.lib.auth.ExpressAuthProvider
import com.tangem.tap.network.auth.DefaultAppVersionProvider
import com.tangem.tap.network.auth.DefaultAuthProvider
import com.tangem.tap.network.auth.DefaultExpressAuthProvider
import com.tangem.tap.proxy.AppStateHolder
@ -34,4 +36,10 @@ class AuthModule {
configManager = configManager,
)
}
@Provides
@Singleton
fun provideAppVersionProvider(): AppVersionProvider {
return DefaultAppVersionProvider()
}
}

View file

@ -9,6 +9,7 @@ import com.tangem.datasource.api.tangemTech.TangemTechApi
import com.tangem.datasource.utils.RequestHeader.*
import com.tangem.datasource.utils.addHeaders
import com.tangem.datasource.utils.addLoggers
import com.tangem.lib.auth.AppVersionProvider
import com.tangem.lib.auth.ExpressAuthProvider
import dagger.Module
import dagger.Provides
@ -30,6 +31,7 @@ class NetworkModule {
@NetworkMoshi moshi: Moshi,
@ApplicationContext context: Context,
expressAuthProvider: ExpressAuthProvider,
appVersionProvider: AppVersionProvider,
): TangemExpressApi {
val url = if (BuildConfig.ENVIRONMENT == "dev") {
DEV_EXPRESS_BASE_URL
@ -43,6 +45,7 @@ class NetworkModule {
.client(
OkHttpClient.Builder()
.addHeaders(Express(expressAuthProvider))
.addHeaders(AppVersionPlatformHeaders(appVersionProvider))
.addLoggers(context)
.build(),
)

View file

@ -1,5 +1,6 @@
package com.tangem.datasource.utils
import com.tangem.lib.auth.AppVersionProvider
import com.tangem.lib.auth.AuthBearerProvider
import com.tangem.lib.auth.AuthProvider
import com.tangem.lib.auth.ExpressAuthProvider
@ -30,4 +31,9 @@ sealed class RequestHeader(vararg pairs: Pair<String, () -> String>) {
class AuthBearerHeader(authBearerProvider: AuthBearerProvider) : RequestHeader(
"Authorization" to { "Bearer " + authBearerProvider.getApiKey() },
)
class AppVersionPlatformHeaders(appVersionProvider: AppVersionProvider) : RequestHeader(
"version" to { appVersionProvider.getAppVersion() },
"platform" to { "android" },
)
}

View file

@ -0,0 +1,6 @@
package com.tangem.lib.auth
interface AppVersionProvider {
fun getAppVersion(): String
}