diff options
| author | Markus Pettersson <markus.pettersson@mullvad.net> | 2023-09-11 15:20:20 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2023-10-09 14:40:03 +0200 |
| commit | c899c1b63858c12c9367318c19120fe899b31394 (patch) | |
| tree | 746ac544c0a7aa35fb6cd9275efd9328deecd7e9 /mullvad-management-interface/src | |
| parent | 411f80d4cd227686a57e9dcc39dd30a01f728575 (diff) | |
| download | mullvadvpn-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.rs | 11 | ||||
| -rw-r--r-- | mullvad-management-interface/src/types/conversions/api_access_method.rs | 19 |
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. |
