diff --git a/gradle.properties b/gradle.properties index 76efca5..9cdcd2c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,7 @@ +org.gradle.jvmargs=-Xmx9216M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g +org.gradle.parallel=true +org.gradle.caching=true + kotlin.code.style=official kotlin.native.binary.objcExportSuspendFunctionLaunchThreadRestriction=none diff --git a/src/commonMain/kotlin/com/hedvig/authlib/AuthEnvironment.kt b/src/commonMain/kotlin/com/hedvig/authlib/AuthEnvironment.kt index 6747bbc..c2a7ba7 100644 --- a/src/commonMain/kotlin/com/hedvig/authlib/AuthEnvironment.kt +++ b/src/commonMain/kotlin/com/hedvig/authlib/AuthEnvironment.kt @@ -9,15 +9,3 @@ internal val AuthEnvironment.baseUrl: String AuthEnvironment.STAGING -> "https://auth.dev.hedvigit.com" AuthEnvironment.PRODUCTION -> "https://auth.prod.hedvigit.com" } - -internal val AuthEnvironment.gatewayUrl: String - get() = when (this) { - AuthEnvironment.STAGING -> "https://gateway.test.hedvigit.com" - AuthEnvironment.PRODUCTION -> "https://gateway.hedvig.com" - } - -internal val AuthEnvironment.webBaseUrl: String - get() = when (this) { - AuthEnvironment.STAGING -> "https://dev.hedvigit.com" - AuthEnvironment.PRODUCTION -> "https://www.hedvig.com" - } diff --git a/src/commonMain/kotlin/com/hedvig/authlib/connectpayment/MemberAuthorizationCodesResponse.kt b/src/commonMain/kotlin/com/hedvig/authlib/connectpayment/MemberAuthorizationCodesResponse.kt deleted file mode 100644 index 0ab7d1c..0000000 --- a/src/commonMain/kotlin/com/hedvig/authlib/connectpayment/MemberAuthorizationCodesResponse.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.hedvig.authlib.connectpayment - -import kotlinx.serialization.Serializable - -@Serializable -internal data class MemberAuthorizationCodesResponse( - val authorizationCode: String, -) \ No newline at end of file diff --git a/src/commonMain/kotlin/com/hedvig/authlib/connectpayment/NetworkPaymentRepository.kt b/src/commonMain/kotlin/com/hedvig/authlib/connectpayment/NetworkPaymentRepository.kt deleted file mode 100644 index 19d7dd1..0000000 --- a/src/commonMain/kotlin/com/hedvig/authlib/connectpayment/NetworkPaymentRepository.kt +++ /dev/null @@ -1,57 +0,0 @@ -package com.hedvig.authlib.connectpayment - -import com.hedvig.authlib.AuthEnvironment -import com.hedvig.authlib.baseUrl -import com.hedvig.authlib.internal.buildKtorClient -import com.hedvig.authlib.webBaseUrl -import io.ktor.client.* -import io.ktor.client.call.* -import io.ktor.client.engine.* -import io.ktor.client.request.* -import kotlinx.coroutines.CancellationException -import kotlin.jvm.JvmInline - -public class NetworkPaymentRepository( - private val environment: AuthEnvironment, - additionalHttpHeadersProvider: () -> Map, - httpClientEngine: HttpClientEngine? = null, -) : PaymentRepository { - private val ktorClient: HttpClient = buildKtorClient(httpClientEngine, additionalHttpHeadersProvider) - - override suspend fun getMemberAuthorizationCode( - webLocale: String, - ): MemberAuthorizationCodeResult { - return try { - val authorizationCode = ktorClient - .post("${environment.baseUrl}/member-authorization-codes") - .body() - .authorizationCode - val memberPaymentUrl = MemberPaymentUrl( - url = buildString { - append(environment.webBaseUrl) - append("/") - append(webLocale) - append("/payment/connect-legacy/start?authorizationCode=") - append(authorizationCode) - } - ) - MemberAuthorizationCodeResult.Success(memberPaymentUrl) - } catch (e: Throwable) { - if (e is CancellationException) throw e - MemberAuthorizationCodeResult.Error(e) - } - } -} - -public sealed interface MemberAuthorizationCodeResult { - public data class Error(val error: Throwable) : MemberAuthorizationCodeResult - - public data class Success( - public val memberPaymentUrl: MemberPaymentUrl, - ) : MemberAuthorizationCodeResult -} - -@JvmInline -public value class MemberPaymentUrl( - public val url: String -) diff --git a/src/commonMain/kotlin/com/hedvig/authlib/connectpayment/PaymentRepository.kt b/src/commonMain/kotlin/com/hedvig/authlib/connectpayment/PaymentRepository.kt deleted file mode 100644 index dd06720..0000000 --- a/src/commonMain/kotlin/com/hedvig/authlib/connectpayment/PaymentRepository.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.hedvig.authlib.connectpayment - -public interface PaymentRepository { - /** - * Returns the member's authorization code which can be used to start a connect-payment process - * for NO and DK - * - * [webLocale] The locale string that the web uses to represent each locale. - * Input may look like "se", "se-en", "no-en" etc. - */ - public suspend fun getMemberAuthorizationCode(webLocale: String): MemberAuthorizationCodeResult -} diff --git a/src/jvmMain/kotlin/com/hedvig/authlib/connectpayment/OkHttpNetworkAuthRepository.kt b/src/jvmMain/kotlin/com/hedvig/authlib/connectpayment/OkHttpNetworkAuthRepository.kt deleted file mode 100644 index 17363e0..0000000 --- a/src/jvmMain/kotlin/com/hedvig/authlib/connectpayment/OkHttpNetworkAuthRepository.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.hedvig.authlib.connectpayment - -import com.hedvig.authlib.AuthEnvironment -import io.ktor.client.engine.okhttp.OkHttpConfig -import io.ktor.client.engine.okhttp.OkHttpEngine -import okhttp3.OkHttpClient - -@Suppress("FunctionName") -public fun OkHttpNetworkPaymentRepository( - environment: AuthEnvironment, - additionalHttpHeadersProvider: () -> Map, - okHttpClientBuilder: OkHttpClient.Builder, -): PaymentRepository { - return NetworkPaymentRepository( - environment = environment, - additionalHttpHeadersProvider = additionalHttpHeadersProvider, - httpClientEngine = OkHttpEngine( - OkHttpConfig().apply { preconfigured = okHttpClientBuilder.build() } - ), - ) -} \ No newline at end of file