From 23dc50b22914e3dfc1623b93cedf2a4cb7052339 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Mon, 1 Aug 2022 11:34:39 +0100
Subject: [PATCH] Update BackupReport model

---
 .../ElixxirDAppsSDK/Models/BackupReport.swift | 24 ++++---------------
 .../Models/BackupReportTests.swift            |  9 ++++---
 2 files changed, 9 insertions(+), 24 deletions(-)

diff --git a/Sources/ElixxirDAppsSDK/Models/BackupReport.swift b/Sources/ElixxirDAppsSDK/Models/BackupReport.swift
index 33b5b2e2..bea36500 100644
--- a/Sources/ElixxirDAppsSDK/Models/BackupReport.swift
+++ b/Sources/ElixxirDAppsSDK/Models/BackupReport.swift
@@ -2,21 +2,21 @@ import Foundation
 
 public struct BackupReport: Equatable {
   public init(
-    ids: [Data],
+    restoredContacts: [Data],
     params: Data
   ) {
-    self.ids = ids
+    self.restoredContacts = restoredContacts
     self.params = params
   }
 
-  public var ids: [Data]
+  public var restoredContacts: [Data]
   public var params: Data
 }
 
 extension BackupReport: Codable {
   enum CodingKeys: String, CodingKey {
-    case ids = "BackupIdListJson"
-    case params = "BackupParams"
+    case restoredContacts = "RestoredContacts"
+    case params = "Params"
   }
 
   public static func decode(_ data: Data) throws -> Self {
@@ -26,18 +26,4 @@ extension BackupReport: Codable {
   public func encode() throws -> Data {
     try JSONEncoder().encode(self)
   }
-
-  public init(from decoder: Decoder) throws {
-    let container = try decoder.container(keyedBy: CodingKeys.self)
-    let idsData = try container.decode(Data.self, forKey: .ids)
-    ids = try JSONDecoder().decode([Data].self, from: idsData)
-    params = try container.decode(Data.self, forKey: .params)
-  }
-
-  public func encode(to encoder: Encoder) throws {
-    var container = encoder.container(keyedBy: CodingKeys.self)
-    let idsData = try JSONEncoder().encode(ids)
-    try container.encode(idsData, forKey: .ids)
-    try container.encode(params, forKey: .params)
-  }
 }
diff --git a/Tests/ElixxirDAppsSDKTests/Models/BackupReportTests.swift b/Tests/ElixxirDAppsSDKTests/Models/BackupReportTests.swift
index 6eea0726..cd37b514 100644
--- a/Tests/ElixxirDAppsSDKTests/Models/BackupReportTests.swift
+++ b/Tests/ElixxirDAppsSDKTests/Models/BackupReportTests.swift
@@ -4,24 +4,23 @@ import XCTest
 
 final class BackupReportTests: XCTestCase {
   func testCoding() throws {
-    let ids: [Data] = [
+    let restoredContacts: [Data] = [
       "id1".data(using: .utf8)!,
       "id2".data(using: .utf8)!,
       "id3".data(using: .utf8)!,
     ]
-    let idsB64 = try JSONEncoder().encode(ids).base64EncodedString()
     let paramsB64 = "cGFyYW1z"
     let jsonString = """
     {
-      "BackupIdListJson": "\(idsB64)",
-      "BackupParams": "\(paramsB64)"
+      "RestoredContacts": [\(restoredContacts.map { "\"\($0.base64EncodedString())\"" }.joined(separator: ", "))],
+      "Params": "\(paramsB64)"
     }
     """
     let jsonData = jsonString.data(using: .utf8)!
     let model = try BackupReport.decode(jsonData)
 
     XCTAssertNoDifference(model, BackupReport(
-      ids: ids,
+      restoredContacts: restoredContacts,
       params: Data(base64Encoded: paramsB64)!
     ))
 
-- 
GitLab