diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/trakt/TraktAuthRepository.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/trakt/TraktAuthRepository.kt index 8cb5d0f95..db61d844d 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/trakt/TraktAuthRepository.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/trakt/TraktAuthRepository.kt @@ -85,31 +85,6 @@ object TraktAuthRepository { return buildAuthorizationUrl(oauthState) } - fun onConnectWithCodeRequested(rawInput: String) { - ensureLoaded() - if (!hasRequiredCredentials()) { - publish(errorMessage = "Missing Trakt credentials") - return - } - - val code = extractAuthorizationCode(rawInput) - if (code.isNullOrBlank()) { - publish(errorMessage = "Paste a valid Trakt authorization code or callback URL") - return - } - - scope.launch { - publish( - isLoading = true, - statusMessage = "Completing Trakt sign in", - errorMessage = null, - ) - clearPendingAuthorization() - persist() - exchangeAuthorizationCode(code) - } - } - fun pendingAuthorizationUrl(): String? { ensureLoaded() val oauthState = authState.pendingAuthorizationState ?: return null @@ -451,25 +426,6 @@ object TraktAuthRepository { return "$AUTHORIZE_URL?response_type=$responseType&client_id=$encodedClientId&redirect_uri=$encodedRedirectUri&state=$encodedState" } - private fun extractAuthorizationCode(rawInput: String): String? { - val input = rawInput.trim() - if (input.isBlank()) return null - - val urlCode = runCatching { - Url(input) - }.getOrNull()?.parameters?.get("code")?.trim() - if (!urlCode.isNullOrBlank()) return urlCode - - val regexCode = Regex("[?&]code=([^&]+)") - .find(input) - ?.groupValues - ?.getOrNull(1) - ?.trim() - if (!regexCode.isNullOrBlank()) return regexCode - - return input - } - private fun generateOauthState(): String { val nowPart = TraktPlatformClock.nowEpochMs().toString(16) val randomPart = Random.nextLong().toULong().toString(16)