summaryrefslogtreecommitdiffhomepage
path: root/mullvad-management-interface/src
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2023-09-11 15:20:20 +0200
committerDavid Lönnhager <david.l@mullvad.net>2023-10-09 14:40:03 +0200
commitc899c1b63858c12c9367318c19120fe899b31394 (patch)
tree746ac544c0a7aa35fb6cd9275efd9328deecd7e9 /mullvad-management-interface/src
parent411f80d4cd227686a57e9dcc39dd30a01f728575 (diff)
downloadmullvadvpn-c899c1b63858c12c9367318c19120fe899b31394.tar.xz
mullvadvpn-c899c1b63858c12c9367318c19120fe899b31394.zip
Add `mullvad proxy api edit` command
Allow a user to edit an existing custom api proxy method
Diffstat (limited to 'mullvad-management-interface/src')
-rw-r--r--mullvad-management-interface/src/client.rs11
-rw-r--r--mullvad-management-interface/src/types/conversions/api_access_method.rs19
2 files changed, 30 insertions, 0 deletions
diff --git a/mullvad-management-interface/src/client.rs b/mullvad-management-interface/src/client.rs
index d4edabc391..892f4ea5cd 100644
--- a/mullvad-management-interface/src/client.rs
+++ b/mullvad-management-interface/src/client.rs
@@ -487,6 +487,17 @@ impl MullvadProxyClient {
.map(drop)
}
+ pub async fn replace_access_method(
+ &mut self,
+ access_method_replace: ApiAccessMethodReplace,
+ ) -> Result<()> {
+ self.0
+ .replace_api_access_method(types::ApiAccessMethodReplace::from(access_method_replace))
+ .await
+ .map_err(Error::Rpc)
+ .map(drop)
+ }
+
#[cfg(target_os = "linux")]
pub async fn get_split_tunnel_processes(&mut self) -> Result<Vec<i32>> {
use futures::TryStreamExt;
diff --git a/mullvad-management-interface/src/types/conversions/api_access_method.rs b/mullvad-management-interface/src/types/conversions/api_access_method.rs
index a91923e9e9..b9217b88c9 100644
--- a/mullvad-management-interface/src/types/conversions/api_access_method.rs
+++ b/mullvad-management-interface/src/types/conversions/api_access_method.rs
@@ -32,6 +32,25 @@ mod settings {
}
}
}
+
+ impl From<api_access_method::ApiAccessMethodReplace> for proto::ApiAccessMethodReplace {
+ fn from(value: api_access_method::ApiAccessMethodReplace) -> Self {
+ proto::ApiAccessMethodReplace {
+ index: value.index as u32,
+ access_method: Some(value.access_method.into()),
+ }
+ }
+ }
+
+ impl From<proto::ApiAccessMethodReplace> for api_access_method::ApiAccessMethodReplace {
+ // TODO: Implement `TryFrom` instead, and skip the `unwrap`.
+ fn from(value: proto::ApiAccessMethodReplace) -> Self {
+ api_access_method::ApiAccessMethodReplace {
+ index: value.index as usize,
+ access_method: value.access_method.unwrap().into(),
+ }
+ }
+ }
}
/// Implements conversions for the 'main' AccessMethod data type.