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