From eb3b2f304dfb3b337e54c2e0b9047f0d67ebfd25 Mon Sep 17 00:00:00 2001 From: Philippe Weidmann Date: Thu, 11 Jul 2024 13:37:41 +0200 Subject: [PATCH] fix: Stop using account.token --- MailCore/Cache/AccountManager/AccountManager.swift | 6 +----- MailCore/Utils/URLSchemeHandler.swift | 5 ++++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/MailCore/Cache/AccountManager/AccountManager.swift b/MailCore/Cache/AccountManager/AccountManager.swift index 17171c8f2..9d7d398d8 100644 --- a/MailCore/Cache/AccountManager/AccountManager.swift +++ b/MailCore/Cache/AccountManager/AccountManager.swift @@ -512,7 +512,7 @@ public final class AccountManager: RefreshTokenDelegate, ObservableObject { } public func removeTokenAndAccount(account: Account) { - let removedToken = tokenStore.removeTokenFor(userId: account.userId) ?? account.token + let removedToken = tokenStore.removeTokenFor(userId: account.userId) removeAccount(toDeleteAccount: account) guard let removedToken else { @@ -526,10 +526,6 @@ public final class AccountManager: RefreshTokenDelegate, ObservableObject { } } - public func account(for token: ApiToken) -> Account? { - return accounts.values.first { $0.token.userId == token.userId } - } - public func account(for userId: Int) -> Account? { return accounts.values.first { $0.userId == userId } } diff --git a/MailCore/Utils/URLSchemeHandler.swift b/MailCore/Utils/URLSchemeHandler.swift index 0fe250cbf..1e154b7b7 100644 --- a/MailCore/Utils/URLSchemeHandler.swift +++ b/MailCore/Utils/URLSchemeHandler.swift @@ -17,6 +17,7 @@ */ import Foundation +import InfomaniakCore import InfomaniakDI import WebKit @@ -28,6 +29,7 @@ public final class URLSchemeHandler: NSObject, WKURLSchemeHandler { private let syncQueue = DispatchQueue(label: "com.infomaniak.mail.URLSchemeHandler") @LazyInjectService private var accountManager: AccountManager + @LazyInjectService private var tokenStore: TokenStore public func webView(_ webView: WKWebView, start urlSchemeTask: WKURLSchemeTask) { guard let url = urlSchemeTask.request.url else { @@ -35,7 +37,8 @@ public final class URLSchemeHandler: NSObject, WKURLSchemeHandler { return } - guard let currentAccessToken = accountManager.getCurrentAccount()?.token?.accessToken else { + guard let currentAccount = accountManager.getCurrentAccount(), + let currentAccessToken = tokenStore.tokenFor(userId: currentAccount.userId)?.accessToken else { urlSchemeTask.didFailWithError(MailError.unknownError) return }