From b69c9a50fe61f1f42d82fc8f2fccb8f7afd69b48 Mon Sep 17 00:00:00 2001 From: Ben Myers Date: Tue, 8 Mar 2022 21:06:57 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=97=91=20Fix=20account=20deletion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/EasyFirebase/Services/Auth/EasyAuth.swift | 4 ++-- Sources/EasyFirebase/Services/Auth/EasyUser.swift | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Sources/EasyFirebase/Services/Auth/EasyAuth.swift b/Sources/EasyFirebase/Services/Auth/EasyAuth.swift index c368b4f..6bcb5e8 100644 --- a/Sources/EasyFirebase/Services/Auth/EasyAuth.swift +++ b/Sources/EasyFirebase/Services/Auth/EasyAuth.swift @@ -63,9 +63,9 @@ public class EasyAuth: NSObject { internal static let auth = Auth.auth() - // MARK: - Private Static Properties + internal static let listenerKey: EasyFirestore.ListenerKey = "EASY_USER_UPDATE" - private static let listenerKey: EasyFirestore.ListenerKey = "EASY_USER_UPDATE" + // MARK: - Private Static Properties private static let googleSignInCredentialHandler: (AuthCredential?) -> Void = { credential in guard let credential = credential else { return } diff --git a/Sources/EasyFirebase/Services/Auth/EasyUser.swift b/Sources/EasyFirebase/Services/Auth/EasyUser.swift index 74d6995..5a75717 100644 --- a/Sources/EasyFirebase/Services/Auth/EasyUser.swift +++ b/Sources/EasyFirebase/Services/Auth/EasyUser.swift @@ -389,9 +389,16 @@ public extension EasyUser { func delete(ofUserType type: T.Type, completion: @escaping (Error?) -> Void = { _ in }) where T: EasyUser { guard assertAuthMatches() else { return } if let authUser = authUser { + EasyFirestore.Listening.stop(EasyAuth.listenerKey) authUser.delete { error in - completion(error) + if let error = error { + completion(error) + return + } EasyFirestore.Removal.remove(id: self.id, ofType: T.self, completion: completion) + DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { + EasyAuth.signOut() + } } } }