From c34548d00b2b3fae005a1983b3514774f9df7813 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Mon, 19 Sep 2022 08:43:22 +0200
Subject: [PATCH] Add Params struct to InitFileTransfer function

---
 .../XXClient/Functions/InitFileTransfer.swift | 34 +++++++++++++------
 1 file changed, 23 insertions(+), 11 deletions(-)

diff --git a/Sources/XXClient/Functions/InitFileTransfer.swift b/Sources/XXClient/Functions/InitFileTransfer.swift
index e232ef74..f56b5680 100644
--- a/Sources/XXClient/Functions/InitFileTransfer.swift
+++ b/Sources/XXClient/Functions/InitFileTransfer.swift
@@ -2,28 +2,40 @@ import Bindings
 import XCTestDynamicOverlay
 
 public struct InitFileTransfer {
-  public var run: (Int, Data, Data, ReceiveFileCallback) throws -> FileTransfer
+  public struct Params: Equatable {
+    public init(
+      e2eId: Int,
+      e2eFileTransferParamsJSON: Data = GetE2EFileTransferParams.liveDefault(),
+      fileTransferParamsJSON: Data = GetFileTransferParams.liveDefault()
+    ) {
+      self.e2eId = e2eId
+      self.e2eFileTransferParamsJSON = e2eFileTransferParamsJSON
+      self.fileTransferParamsJSON = fileTransferParamsJSON
+    }
+
+    public var e2eId: Int
+    public var e2eFileTransferParamsJSON: Data = GetE2EFileTransferParams.liveDefault()
+    public var fileTransferParamsJSON: Data = GetFileTransferParams.liveDefault()
+  }
+
+  public var run: (Params, ReceiveFileCallback) throws -> FileTransfer
 
   public func callAsFunction(
-    e2eId: Int,
-    e2eFileTransferParamsJSON: Data = GetE2EFileTransferParams.liveDefault(),
-    fileTransferParamsJSON: Data = GetFileTransferParams.liveDefault(),
+    params: Params,
     callback: ReceiveFileCallback
   ) throws -> FileTransfer {
-    try run(e2eId, e2eFileTransferParamsJSON, fileTransferParamsJSON, callback)
+    try run(params, callback)
   }
 }
 
 extension InitFileTransfer {
-  public static let live = InitFileTransfer {
-    e2eId, e2eFileTransferParamsJSON, fileTransferParamsJSON, callback in
-
+  public static let live = InitFileTransfer { params, callback in
     var error: NSError?
     let bindingsFileTransfer = BindingsInitFileTransfer(
-      e2eId,
+      params.e2eId,
       callback.makeBindingsReceiveFileCallback(),
-      e2eFileTransferParamsJSON,
-      fileTransferParamsJSON,
+      params.e2eFileTransferParamsJSON,
+      params.fileTransferParamsJSON,
       &error
     )
     if let error = error {
-- 
GitLab