Skip to content
Snippets Groups Projects
Select Git revision
  • b6939ba6131535ac60c0ed4d31b641bead139f0f
  • 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

MessengerCreate.swift

Blame
  • Dariusz Rybicki's avatar
    Dariusz Rybicki authored
    c4fdba3c
    History
    MessengerCreate.swift 910 B
    import XXClient
    import XCTestDynamicOverlay
    
    public struct MessengerCreate {
      public var run: () throws -> Void
    
      public func callAsFunction() throws {
        try run()
      }
    }
    
    extension MessengerCreate {
      public static func live(_ env: MessengerEnvironment) -> MessengerCreate {
        MessengerCreate {
          let ndfData = try env.downloadNDF(env.ndfEnvironment)
          let password = env.generateSecret()
          try env.passwordStorage.save(password)
          let storageDir = env.storageDir
          try env.fileManager.removeItem(storageDir)
          try env.fileManager.createDirectory(storageDir)
          try env.newCMix(
            ndfJSON: String(data: ndfData, encoding: .utf8)!,
            storageDir: storageDir,
            password: password,
            registrationCode: nil
          )
        }
      }
    }
    
    extension MessengerCreate {
      public static let unimplemented = MessengerCreate(
        run: XCTUnimplemented("\(Self.self)")
      )
    }