diff --git a/Sources/ElixxirDAppsSDK/Models/BackupReport.swift b/Sources/ElixxirDAppsSDK/Models/BackupReport.swift index 33b5b2e24b8210dfa634f7e72149a9e2026fa7c1..bea36500f38262156de14598f27faea0e3c5e598 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 6eea07267c36108b22b9efa4cc6ec51b4acbf83c..cd37b514e3954470e727981f80750a5eddadc112 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)! ))