diff --git a/SessionMessagingKit/Database/Storage+Shared.swift b/SessionMessagingKit/Database/Storage+Shared.swift index d297aefb1..201a34f6f 100644 --- a/SessionMessagingKit/Database/Storage+Shared.swift +++ b/SessionMessagingKit/Database/Storage+Shared.swift @@ -36,17 +36,21 @@ extension Storage { } @objc public func getUser() -> Contact? { - var result: Contact? - - Storage.read { transaction in - result = self.getUser(using: transaction) - } - - return result + return getUser(using: nil) } - public func getUser(using transaction: Any) -> Contact? { + public func getUser(using transaction: YapDatabaseReadTransaction?) -> Contact? { guard let userPublicKey = getUserPublicKey() else { return nil } - return Storage.shared.getContact(with: userPublicKey, using: transaction) + var result: Contact? + + if let transaction = transaction { + result = Storage.shared.getContact(with: userPublicKey, using: transaction) + } + else { + Storage.read { transaction in + result = Storage.shared.getContact(with: userPublicKey, using: transaction) + } + } + return result } } diff --git a/SessionMessagingKit/Storage.swift b/SessionMessagingKit/Storage.swift index ee5def11d..3165d5202 100644 --- a/SessionMessagingKit/Storage.swift +++ b/SessionMessagingKit/Storage.swift @@ -17,7 +17,7 @@ public protocol SessionMessagingKitStorageProtocol { func getUserKeyPair() -> ECKeyPair? func getUserED25519KeyPair() -> Box.KeyPair? func getUser() -> Contact? - func getUser(using transaction: Any) -> Contact? + func getUser(using transaction: YapDatabaseReadTransaction?) -> Contact? func getAllContacts() -> Set func getAllContacts(with transaction: YapDatabaseReadTransaction) -> Set