Updated on 2026-08-14
This commit is contained in:
parent
aa77c81f2d
commit
69234e50ef
5 changed files with 34 additions and 0 deletions
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,8 +2,10 @@ package com.tangem.tap.network.auth.di
|
||||||
|
|
||||||
import com.tangem.datasource.config.ConfigManager
|
import com.tangem.datasource.config.ConfigManager
|
||||||
import com.tangem.datasource.local.userwallet.UserWalletsStore
|
import com.tangem.datasource.local.userwallet.UserWalletsStore
|
||||||
|
import com.tangem.lib.auth.AppVersionProvider
|
||||||
import com.tangem.lib.auth.AuthProvider
|
import com.tangem.lib.auth.AuthProvider
|
||||||
import com.tangem.lib.auth.ExpressAuthProvider
|
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.DefaultAuthProvider
|
||||||
import com.tangem.tap.network.auth.DefaultExpressAuthProvider
|
import com.tangem.tap.network.auth.DefaultExpressAuthProvider
|
||||||
import com.tangem.tap.proxy.AppStateHolder
|
import com.tangem.tap.proxy.AppStateHolder
|
||||||
|
|
@ -34,4 +36,10 @@ class AuthModule {
|
||||||
configManager = configManager,
|
configManager = configManager,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
fun provideAppVersionProvider(): AppVersionProvider {
|
||||||
|
return DefaultAppVersionProvider()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -9,6 +9,7 @@ import com.tangem.datasource.api.tangemTech.TangemTechApi
|
||||||
import com.tangem.datasource.utils.RequestHeader.*
|
import com.tangem.datasource.utils.RequestHeader.*
|
||||||
import com.tangem.datasource.utils.addHeaders
|
import com.tangem.datasource.utils.addHeaders
|
||||||
import com.tangem.datasource.utils.addLoggers
|
import com.tangem.datasource.utils.addLoggers
|
||||||
|
import com.tangem.lib.auth.AppVersionProvider
|
||||||
import com.tangem.lib.auth.ExpressAuthProvider
|
import com.tangem.lib.auth.ExpressAuthProvider
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.Provides
|
import dagger.Provides
|
||||||
|
|
@ -30,6 +31,7 @@ class NetworkModule {
|
||||||
@NetworkMoshi moshi: Moshi,
|
@NetworkMoshi moshi: Moshi,
|
||||||
@ApplicationContext context: Context,
|
@ApplicationContext context: Context,
|
||||||
expressAuthProvider: ExpressAuthProvider,
|
expressAuthProvider: ExpressAuthProvider,
|
||||||
|
appVersionProvider: AppVersionProvider,
|
||||||
): TangemExpressApi {
|
): TangemExpressApi {
|
||||||
val url = if (BuildConfig.ENVIRONMENT == "dev") {
|
val url = if (BuildConfig.ENVIRONMENT == "dev") {
|
||||||
DEV_EXPRESS_BASE_URL
|
DEV_EXPRESS_BASE_URL
|
||||||
|
|
@ -43,6 +45,7 @@ class NetworkModule {
|
||||||
.client(
|
.client(
|
||||||
OkHttpClient.Builder()
|
OkHttpClient.Builder()
|
||||||
.addHeaders(Express(expressAuthProvider))
|
.addHeaders(Express(expressAuthProvider))
|
||||||
|
.addHeaders(AppVersionPlatformHeaders(appVersionProvider))
|
||||||
.addLoggers(context)
|
.addLoggers(context)
|
||||||
.build(),
|
.build(),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.tangem.datasource.utils
|
package com.tangem.datasource.utils
|
||||||
|
|
||||||
|
import com.tangem.lib.auth.AppVersionProvider
|
||||||
import com.tangem.lib.auth.AuthBearerProvider
|
import com.tangem.lib.auth.AuthBearerProvider
|
||||||
import com.tangem.lib.auth.AuthProvider
|
import com.tangem.lib.auth.AuthProvider
|
||||||
import com.tangem.lib.auth.ExpressAuthProvider
|
import com.tangem.lib.auth.ExpressAuthProvider
|
||||||
|
|
@ -30,4 +31,9 @@ sealed class RequestHeader(vararg pairs: Pair<String, () -> String>) {
|
||||||
class AuthBearerHeader(authBearerProvider: AuthBearerProvider) : RequestHeader(
|
class AuthBearerHeader(authBearerProvider: AuthBearerProvider) : RequestHeader(
|
||||||
"Authorization" to { "Bearer " + authBearerProvider.getApiKey() },
|
"Authorization" to { "Bearer " + authBearerProvider.getApiKey() },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
class AppVersionPlatformHeaders(appVersionProvider: AppVersionProvider) : RequestHeader(
|
||||||
|
"version" to { appVersionProvider.getAppVersion() },
|
||||||
|
"platform" to { "android" },
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
package com.tangem.lib.auth
|
||||||
|
|
||||||
|
interface AppVersionProvider {
|
||||||
|
|
||||||
|
fun getAppVersion(): String
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue