diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2023-06-08 14:02:34 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2023-06-08 14:02:34 +0200 |
| commit | ac8deecc4ebd4a71810006d221292c03e36ad120 (patch) | |
| tree | c76f15cc8d0819f3eef59e766235bfd7049a5503 /ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift | |
| parent | 0ca8f82db446df494b400f0b467de1bef9e051e4 (diff) | |
| parent | dab9467547a35369aafdda7174287921dc7accc8 (diff) | |
| download | mullvadvpn-ac8deecc4ebd4a71810006d221292c03e36ad120.tar.xz mullvadvpn-ac8deecc4ebd4a71810006d221292c03e36ad120.zip | |
Merge remote-tracking branch 'origin/packet-tunnel-should-rotate-the-key-if-ios-109'
Diffstat (limited to 'ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift')
| -rw-r--r-- | ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift b/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift new file mode 100644 index 0000000000..da8c11726d --- /dev/null +++ b/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift @@ -0,0 +1,58 @@ +// +// DeviceCheckRemoteService.swift +// PacketTunnel +// +// Created by pronebird on 30/05/2023. +// Copyright © 2023 Mullvad VPN AB. All rights reserved. +// + +import Foundation +import MullvadREST +import MullvadTypes +import class WireGuardKitTypes.PublicKey + +/// An object that implements remote service used by `DeviceCheckOperation`. +struct DeviceCheckRemoteService: DeviceCheckRemoteServiceProtocol { + private let accountsProxy: REST.AccountsProxy + private let devicesProxy: REST.DevicesProxy + + init(accountsProxy: REST.AccountsProxy, devicesProxy: REST.DevicesProxy) { + self.accountsProxy = accountsProxy + self.devicesProxy = devicesProxy + } + + func getAccountData( + accountNumber: String, + completion: @escaping (Result<Account, Error>) -> Void + ) -> Cancellable { + accountsProxy.getAccountData(accountNumber: accountNumber, retryStrategy: .noRetry, completion: completion) + } + + func getDevice( + accountNumber: String, + identifier: String, + completion: @escaping (Result<Device, Error>) -> Void + ) -> Cancellable { + devicesProxy.getDevice( + accountNumber: accountNumber, + identifier: identifier, + retryStrategy: .noRetry, + completion: completion + ) + } + + func rotateDeviceKey( + accountNumber: String, + identifier: String, + publicKey: PublicKey, + completion: @escaping (Result<Device, Error>) -> Void + ) -> Cancellable { + devicesProxy.rotateDeviceKey( + accountNumber: accountNumber, + identifier: identifier, + publicKey: publicKey, + retryStrategy: .default, + completion: completion + ) + } +} |
