summaryrefslogtreecommitdiffhomepage
path: root/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift
diff options
context:
space:
mode:
Diffstat (limited to 'ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift')
-rw-r--r--ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift25
1 files changed, 25 insertions, 0 deletions
diff --git a/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift b/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift
new file mode 100644
index 0000000000..faf22e3680
--- /dev/null
+++ b/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift
@@ -0,0 +1,25 @@
+//
+// DeviceCheckRemoteServiceProtocol.swift
+// PacketTunnel
+//
+// Created by pronebird on 07/06/2023.
+// Copyright © 2023 Mullvad VPN AB. All rights reserved.
+//
+
+import Foundation
+import MullvadTypes
+import class WireGuardKitTypes.PublicKey
+
+/// A protocol that formalizes remote service dependency used by `DeviceCheckOperation`.
+protocol DeviceCheckRemoteServiceProtocol {
+ func getAccountData(accountNumber: String, completion: @escaping (Result<Account, Error>) -> Void)
+ -> Cancellable
+ func getDevice(accountNumber: String, identifier: String, completion: @escaping (Result<Device, Error>) -> Void)
+ -> Cancellable
+ func rotateDeviceKey(
+ accountNumber: String,
+ identifier: String,
+ publicKey: PublicKey,
+ completion: @escaping (Result<Device, Error>) -> Void
+ ) -> Cancellable
+}