Skip to content
Snippets Groups Projects
Select Git revision
  • 569c862eab1601dd674efc96c56525184ff83320
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

GetE2EFileTransferParams.swift

Blame
  • MessengerStartFileTransfer.swift 1.01 KiB
    import XCTestDynamicOverlay
    import XXClient
    
    public struct MessengerStartFileTransfer {
      public enum Error: Swift.Error, Equatable {
        case notConnected
      }
    
      public var run: () throws -> Void
    
      public func callAsFunction() throws -> Void {
        try run()
      }
    }
    
    extension MessengerStartFileTransfer {
      public static func live(_ env: MessengerEnvironment) -> MessengerStartFileTransfer {
        MessengerStartFileTransfer {
          guard let e2e = env.e2e() else {
            throw Error.notConnected
          }
          let fileTransfer = try env.initFileTransfer(
            params: InitFileTransfer.Params(
              e2eId: e2e.getId(),
              e2eFileTransferParamsJSON: env.getE2EFileTransferParams(),
              fileTransferParamsJSON: env.getFileTransferParams()
            ),
            callback: env.receiveFileCallbacks.registered()
          )
          env.fileTransfer.set(fileTransfer)
        }
      }
    }
    
    extension MessengerStartFileTransfer {
      public static let unimplemented = MessengerStartFileTransfer(
        run: XCTUnimplemented("\(Self.self)")
      )
    }