Skip to content
Snippets Groups Projects

Messenger example - auth requests handling

Merged Dariusz Rybicki requested to merge feature/messenger-example-request-handling into development
3 files
+ 137
12
Compare changes
  • Side-by-side
  • Inline
Files
3
import Foundation
import Foundation
import XCTestDynamicOverlay
import XCTestDynamicOverlay
import XXClient
import XXClient
 
import XXMessengerClient
import XXModels
import XXModels
public struct AuthCallbackHandlerRequest {
public struct AuthCallbackHandlerRequest {
@@ -14,6 +15,7 @@ public struct AuthCallbackHandlerRequest {
@@ -14,6 +15,7 @@ public struct AuthCallbackHandlerRequest {
extension AuthCallbackHandlerRequest {
extension AuthCallbackHandlerRequest {
public static func live(
public static func live(
db: DBManagerGetDB,
db: DBManagerGetDB,
 
messenger: Messenger,
now: @escaping () -> Date
now: @escaping () -> Date
) -> AuthCallbackHandlerRequest {
) -> AuthCallbackHandlerRequest {
AuthCallbackHandlerRequest { xxContact in
AuthCallbackHandlerRequest { xxContact in
@@ -29,6 +31,16 @@ extension AuthCallbackHandlerRequest {
@@ -29,6 +31,16 @@ extension AuthCallbackHandlerRequest {
dbContact.authStatus = .verificationInProgress
dbContact.authStatus = .verificationInProgress
dbContact.createdAt = now()
dbContact.createdAt = now()
dbContact = try db().saveContact(dbContact)
dbContact = try db().saveContact(dbContact)
 
 
do {
 
let verified = try messenger.verifyContact(xxContact)
 
dbContact.authStatus = verified ? .verified : .verificationFailed
 
dbContact = try db().saveContact(dbContact)
 
} catch {
 
dbContact.authStatus = .verificationFailed
 
dbContact = try db().saveContact(dbContact)
 
throw error
 
}
}
}
}
}
}
}
Loading