diff options
Diffstat (limited to 'ios/MullvadREST/MullvadAPI/APIRequest')
| -rw-r--r-- | ios/MullvadREST/MullvadAPI/APIRequest/APIRequest.swift | 45 |
1 files changed, 37 insertions, 8 deletions
diff --git a/ios/MullvadREST/MullvadAPI/APIRequest/APIRequest.swift b/ios/MullvadREST/MullvadAPI/APIRequest/APIRequest.swift index 92b6bb89b1..ab1087fe5e 100644 --- a/ios/MullvadREST/MullvadAPI/APIRequest/APIRequest.swift +++ b/ios/MullvadREST/MullvadAPI/APIRequest/APIRequest.swift @@ -6,16 +6,31 @@ // Copyright © 2025 Mullvad VPN AB. All rights reserved. // import MullvadTypes +@preconcurrency import WireGuardKitTypes public enum APIRequest: Codable, Sendable { + // Api Proxy case getAddressList(_ retryStrategy: REST.RetryStrategy) case getRelayList(_ retryStrategy: REST.RetryStrategy, etag: String?) case sendProblemReport(_ retryStrategy: REST.RetryStrategy, problemReportRequest: ProblemReportRequest) + // Account Proxy case createAccount(_ retryStrategy: REST.RetryStrategy) case getAccount(_ retryStrategy: REST.RetryStrategy, accountNumber: String) case deleteAccount(_ retryStrategy: REST.RetryStrategy, accountNumber: String) + // Device Proxy + case getDevice(_ retryStrategy: REST.RetryStrategy, accountNumber: String, identifier: String) + case getDevices(_ retryStrategy: REST.RetryStrategy, accountNumber: String) + case createDevice(_ retryStrategy: REST.RetryStrategy, accountNumber: String, request: CreateDeviceRequest) + case deleteDevice(_ retryStrategy: REST.RetryStrategy, accountNumber: String, identifier: String) + case rotateDeviceKey( + _ retryStrategy: REST.RetryStrategy, + accountNumber: String, + identifier: String, + publicKey: PublicKey + ) + var name: String { switch self { case .getAddressList: @@ -30,19 +45,33 @@ public enum APIRequest: Codable, Sendable { "get-account" case .deleteAccount: "delete-account" + case .getDevice: + "get-device" + case .getDevices: + "get-devices" + case .deleteDevice: + "delete-device" + case .rotateDeviceKey: + "rotate-device-key" + case .createDevice: + "create-device" } } var retryStrategy: REST.RetryStrategy { switch self { - case - let .getAddressList(strategy), - let .getRelayList(strategy, _), - let .sendProblemReport(strategy, _), - let .createAccount(strategy), - let .getAccount(strategy, _), - let .deleteAccount(strategy, _): - strategy + case let .getAddressList(strategy), + let .getRelayList(strategy, _), + let .sendProblemReport(strategy, _), + let .createAccount(strategy), + let .getAccount(strategy, _), + let .deleteAccount(strategy, _), + let .createDevice(strategy, _, _), + let .getDevice(strategy, _, _), + let .getDevices(strategy, _), + let .deleteDevice(strategy, _, _), + let .rotateDeviceKey(strategy, _, _, _): + return strategy } } } |
