Skip to content
Snippets Groups Projects

Messenger - backup

Merged Dariusz Rybicki requested to merge feature/messenger-backup into development
3 files
+ 98
0
Compare changes
  • Side-by-side
  • Inline
Files
3
import Bindings
import XCTestDynamicOverlay
public struct MessengerBackupParams {
public enum Error: Swift.Error, Equatable {
case notRunning
}
public var run: (BackupParams) throws -> Void
public func callAsFunction(_ params: BackupParams) throws {
try run(params)
}
}
extension MessengerBackupParams {
public static func live(_ env: MessengerEnvironment) -> MessengerBackupParams {
MessengerBackupParams { params in
guard let backup = env.backup(), backup.isRunning() else {
throw Error.notRunning
}
let paramsData = try params.encode()
let paramsString = String(data: paramsData, encoding: .utf8)!
backup.addJSON(paramsString)
}
}
}
extension MessengerBackupParams {
public static let unimplemented = MessengerBackupParams(
run: XCTUnimplemented("\(Self.self)")
)
}
Loading