From 202f1075aa9768dd89784956cf1a0ca13f185db7 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Wed, 10 Aug 2022 21:58:41 +0100
Subject: [PATCH] Update SingleUseSendReport model

---
 .../Models/SingleUseSendReport.swift          | 30 ++++---------------
 .../Models/SingleUseSendReportTests.swift     | 16 ++++------
 2 files changed, 12 insertions(+), 34 deletions(-)

diff --git a/Sources/ElixxirDAppsSDK/Models/SingleUseSendReport.swift b/Sources/ElixxirDAppsSDK/Models/SingleUseSendReport.swift
index f86f26ce..affd341d 100644
--- a/Sources/ElixxirDAppsSDK/Models/SingleUseSendReport.swift
+++ b/Sources/ElixxirDAppsSDK/Models/SingleUseSendReport.swift
@@ -3,35 +3,24 @@ import Foundation
 public struct SingleUseSendReport: Equatable {
   public init(
     rounds: [Int],
-    ephId: EphId
+    ephId: Int64,
+    receptionId: Data
   ) {
     self.rounds = rounds
     self.ephId = ephId
+    self.receptionId = receptionId
   }
 
   public var rounds: [Int]
-  public var ephId: EphId
-}
-
-extension SingleUseSendReport {
-  public struct EphId: Equatable {
-    public init(
-      ephId: [Int],
-      source: Data
-    ) {
-      self.ephId = ephId
-      self.source = source
-    }
-
-    public var ephId: [Int]
-    public var source: Data
-  }
+  public var ephId: Int64
+  public var receptionId: Data
 }
 
 extension SingleUseSendReport: Codable {
   enum CodingKeys: String, CodingKey {
     case rounds = "Rounds"
     case ephId = "EphID"
+    case receptionId = "ReceptionID"
   }
 
   public static func decode(_ data: Data) throws -> Self {
@@ -42,10 +31,3 @@ extension SingleUseSendReport: Codable {
     try JSONEncoder().encode(self)
   }
 }
-
-extension SingleUseSendReport.EphId: Codable {
-  enum CodingKeys: String, CodingKey {
-    case ephId = "EphId"
-    case source = "Source"
-  }
-}
diff --git a/Tests/ElixxirDAppsSDKTests/Models/SingleUseSendReportTests.swift b/Tests/ElixxirDAppsSDKTests/Models/SingleUseSendReportTests.swift
index 2a23b72e..048af7d4 100644
--- a/Tests/ElixxirDAppsSDKTests/Models/SingleUseSendReportTests.swift
+++ b/Tests/ElixxirDAppsSDKTests/Models/SingleUseSendReportTests.swift
@@ -5,15 +5,13 @@ import XCTest
 final class SingleUseSendReportTests: XCTestCase {
   func testCoding() throws {
     let rounds: [Int] = [1, 5, 9]
-    let ephId: [Int] = [0, 0, 0, 0, 0, 0, 3, 89]
-    let ephIdSourceB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
+    let ephId: Int64 = 1_655_533
+    let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
     let jsonString = """
     {
       "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
-      "EphID": {
-        "EphId": [\(ephId.map { "\($0)" }.joined(separator: ", "))],
-        "Source": "\(ephIdSourceB64)"
-      }
+      "EphID": \(ephId),
+      "ReceptionID": "\(receptionIdB64)"
     }
     """
     let jsonData = jsonString.data(using: .utf8)!
@@ -21,10 +19,8 @@ final class SingleUseSendReportTests: XCTestCase {
 
     XCTAssertNoDifference(model, SingleUseSendReport(
       rounds: rounds,
-      ephId: .init(
-        ephId: ephId,
-        source: Data(base64Encoded: ephIdSourceB64)!
-      )
+      ephId: ephId,
+      receptionId: Data(base64Encoded: receptionIdB64)!
     ))
 
     let encodedModel = try model.encode()
-- 
GitLab