summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadREST/MullvadAPI/APIRequest
diff options
context:
space:
mode:
Diffstat (limited to 'ios/MullvadREST/MullvadAPI/APIRequest')
-rw-r--r--ios/MullvadREST/MullvadAPI/APIRequest/APIRequest.swift45
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
}
}
}