From 8bdd389799cc895ff9ac2cd95105d7ff29acd59a Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Tue, 7 Jun 2022 12:10:12 +0200
Subject: [PATCH] Use Fact model in ContactFactsSetter

---
 Sources/ElixxirDAppsSDK/ContactFactsSetter.swift | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/Sources/ElixxirDAppsSDK/ContactFactsSetter.swift b/Sources/ElixxirDAppsSDK/ContactFactsSetter.swift
index 0fca1df3..8dd0ed98 100644
--- a/Sources/ElixxirDAppsSDK/ContactFactsSetter.swift
+++ b/Sources/ElixxirDAppsSDK/ContactFactsSetter.swift
@@ -1,17 +1,22 @@
 import Bindings
 
 public struct ContactFactsSetter {
-  public var set: (Data, Data) throws -> Data
+  public var set: (Data, [Fact]) throws -> Data
 
-  public func callAsFunction(contact: Data, facts: Data) throws -> Data {
+  public func callAsFunction(
+    contact: Data,
+    facts: [Fact]
+  ) throws -> Data {
     try set(contact, facts)
   }
 }
 
 extension ContactFactsSetter {
   public static let live = ContactFactsSetter { contact, facts in
+    let encoder = JSONEncoder()
+    let factsData = try encoder.encode(facts)
     var error: NSError?
-    let updatedContact = BindingsSetFactsOnContact(contact, facts, &error)
+    let updatedContact = BindingsSetFactsOnContact(contact, factsData, &error)
     if let error = error {
       throw error
     }
-- 
GitLab