Updated on 2026-08-14

This commit is contained in:
Tangem 2025-05-30 14:11:16 +03:00
parent 82dcb31881
commit a079caac11
5 changed files with 36 additions and 1 deletions

View file

@ -122,6 +122,25 @@ internal class DefaultVisaAuthRepository @Inject constructor(
}
}
override suspend fun exchangeAccessToken(tokens: VisaAuthTokens): Either<VisaApiError, VisaAuthTokens> {
return request {
visaAuthApi.exchangeAccessToken(
ExchangeAccessTokenRequest(
accessToken = tokens.accessToken,
refreshToken = tokens.refreshToken.value,
),
).getOrThrow()
}.map { response ->
VisaAuthTokens(
accessToken = response.result.accessToken,
refreshToken = VisaAuthTokens.RefreshToken(
value = response.result.refreshToken,
authType = VisaAuthTokens.RefreshToken.Type.CardWallet,
),
)
}
}
private suspend fun <T : Any> request(requestBlock: suspend () -> T): Either<VisaApiError, T> {
return runCatching {
Either.Right(requestBlock())