From fcdb2831da80645cf746f73c2d8eab807b05d5d8 Mon Sep 17 00:00:00 2001 From: overtake <> Date: Tue, 11 Feb 2020 18:41:00 +0400 Subject: [PATCH] no message --- .../TelegramCore/Sources/AuthTransfer.swift | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/submodules/TelegramCore/Sources/AuthTransfer.swift b/submodules/TelegramCore/Sources/AuthTransfer.swift index 793079c53e..e661aa715d 100644 --- a/submodules/TelegramCore/Sources/AuthTransfer.swift +++ b/submodules/TelegramCore/Sources/AuthTransfer.swift @@ -18,7 +18,7 @@ public enum ExportAuthTransferTokenResult { case displayToken(AuthTransferExportedToken) case changeAccountAndRetry(UnauthorizedAccount) case loggedIn - case passwordRequested + case passwordRequested(UnauthorizedAccount) } public func exportAuthTransferToken(accountManager: AccountManager, account: UnauthorizedAccount, otherAccountUserIds: [Int32], syncContacts: Bool) -> Signal { @@ -42,8 +42,6 @@ public func exportAuthTransferToken(accountManager: AccountManager, account: Una return nil } |> castError(ExportAuthTransferTokenError.self) - - return .single(nil) } } } else { @@ -52,7 +50,7 @@ public func exportAuthTransferToken(accountManager: AccountManager, account: Una } |> mapToSignal { result -> Signal in guard let result = result else { - return .single(.passwordRequested) + return .single(.passwordRequested(account)) } switch result { case let .loginToken(expires, token): @@ -66,7 +64,7 @@ public func exportAuthTransferToken(accountManager: AccountManager, account: Una |> map(Optional.init) |> `catch` { error -> Signal in if error.errorDescription == "SESSION_PASSWORD_NEEDED" { - return account.network.request(Api.functions.account.getPassword(), automaticFloodWait: false) + return updatedAccount.network.request(Api.functions.account.getPassword(), automaticFloodWait: false) |> mapError { error -> ExportAuthTransferTokenError in if error.errorDescription.hasPrefix("FLOOD_WAIT") { return .limitExceeded @@ -77,13 +75,11 @@ public func exportAuthTransferToken(accountManager: AccountManager, account: Una |> mapToSignal { result -> Signal in switch result { case let .password(password): - return account.postbox.transaction { transaction -> Api.auth.LoginToken? in - transaction.setState(UnauthorizedAccountState(isTestingEnvironment: account.testingEnvironment, masterDatacenterId: account.masterDatacenterId, contents: .passwordEntry(hint: password.hint ?? "", number: nil, code: nil, suggestReset: false, syncContacts: syncContacts))) + return updatedAccount.postbox.transaction { transaction -> Api.auth.LoginToken? in + transaction.setState(UnauthorizedAccountState(isTestingEnvironment: updatedAccount.testingEnvironment, masterDatacenterId: updatedAccount.masterDatacenterId, contents: .passwordEntry(hint: password.hint ?? "", number: nil, code: nil, suggestReset: false, syncContacts: syncContacts))) return nil } |> castError(ExportAuthTransferTokenError.self) - - return .single(nil) } } } else { @@ -91,8 +87,11 @@ public func exportAuthTransferToken(accountManager: AccountManager, account: Una } } |> mapToSignal { result -> Signal in + guard let result = result else { + return .single(.passwordRequested(updatedAccount)) + } switch result { - case let .loginTokenSuccess(authorization)?: + case let .loginTokenSuccess(authorization): switch authorization { case let .authorization(_, _, user): return updatedAccount.postbox.transaction { transaction -> Signal in