From 94d97dbad3c8079bb9b16cfaacabf01486cb2c91 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Fri, 26 Aug 2022 12:35:22 +0100
Subject: [PATCH] Use MakeContact in UdSearchCallback

---
 .../XXClient/Callbacks/UdSearchCallback.swift | 25 +++++++++++--------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/Sources/XXClient/Callbacks/UdSearchCallback.swift b/Sources/XXClient/Callbacks/UdSearchCallback.swift
index 608d2425..4799032b 100644
--- a/Sources/XXClient/Callbacks/UdSearchCallback.swift
+++ b/Sources/XXClient/Callbacks/UdSearchCallback.swift
@@ -16,13 +16,20 @@ extension UdSearchCallback {
 }
 
 extension UdSearchCallback {
-  func makeBindingsUdSearchCallback() -> BindingsUdSearchCallbackProtocol {
+  func makeBindingsUdSearchCallback(
+    makeContact: MakeContact = .live()
+  ) -> BindingsUdSearchCallbackProtocol {
     class CallbackObject: NSObject, BindingsUdSearchCallbackProtocol {
-      init(_ callback: UdSearchCallback) {
+      init(
+        callback: UdSearchCallback,
+        makeContact: MakeContact
+      ) {
         self.callback = callback
+        self.makeContact = makeContact
       }
 
       let callback: UdSearchCallback
+      let makeContact: MakeContact
 
       func callback(_ contactListJSON: Data?, err: Error?) {
         if let error = err {
@@ -30,14 +37,7 @@ extension UdSearchCallback {
         } else if let data = contactListJSON {
           do {
             let contactsData = try JSONDecoder().decode([Data].self, from: data)
-            let contacts = contactsData.map { data in
-              Contact(
-                data: data,
-                getId: { try GetIdFromContact.live(data) },
-                getPublicKey: { try GetPublicKeyFromContact.live(data) },
-                getFacts: { try GetFactsFromContact.live(data) }
-              )
-            }
+            let contacts: [Contact] = contactsData.map { makeContact($0) }
             callback.handle(.success(contacts))
           } catch {
             callback.handle(.failure(error as NSError))
@@ -48,6 +48,9 @@ extension UdSearchCallback {
       }
     }
 
-    return CallbackObject(self)
+    return CallbackObject(
+      callback: self,
+      makeContact: makeContact
+    )
   }
 }
-- 
GitLab