Skip to content

Commit

Permalink
Rename ApiAccessMethodId to simply Id
Browse files Browse the repository at this point in the history
Prefer to prefix with module name `access_method` to disambiguate use of
`Id` instead, like `access_method::Id`
  • Loading branch information
MarkusPettersson98 committed Sep 26, 2023
1 parent 3a7a84f commit 2ad45c2
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 44 deletions.
10 changes: 5 additions & 5 deletions mullvad-daemon/src/access_method.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use crate::{
settings::{self, MadeChanges},
Daemon, EventListener,
};
use mullvad_types::access_method::{AccessMethod, AccessMethodSetting, ApiAccessMethodId};
use mullvad_types::access_method::{self, AccessMethod, AccessMethodSetting};

#[derive(err_derive::Error, Debug)]
pub enum Error {
Expand All @@ -14,7 +14,7 @@ pub enum Error {
RemoveBuiltIn,
/// Can not find access method
#[error(display = "Cannot find custom access method {}", _0)]
NoSuchMethod(ApiAccessMethodId),
NoSuchMethod(access_method::Id),
/// Access methods settings error
#[error(display = "Settings error")]
Settings(#[error(source)] settings::Error),
Expand All @@ -29,7 +29,7 @@ where
name: String,
enabled: bool,
access_method: AccessMethod,
) -> Result<ApiAccessMethodId, Error> {
) -> Result<access_method::Id, Error> {
let access_method_setting = AccessMethodSetting::new(name, enabled, access_method);
let id = access_method_setting.get_id();
self.settings
Expand All @@ -42,7 +42,7 @@ where

pub async fn remove_access_method(
&mut self,
access_method: ApiAccessMethodId,
access_method: access_method::Id,
) -> Result<(), Error> {
// Make sure that we are not trying to remove a built-in API access
// method
Expand Down Expand Up @@ -82,7 +82,7 @@ where
.map_err(Error::Settings)
}

pub fn set_api_access_method(&mut self, access_method: ApiAccessMethodId) -> Result<(), Error> {
pub fn set_api_access_method(&mut self, access_method: access_method::Id) -> Result<(), Error> {
if let Some(access_method) = self.settings.api_access_methods.find(&access_method) {
{
let mut connection_modes = self.connection_modes.lock().unwrap();
Expand Down
14 changes: 7 additions & 7 deletions mullvad-daemon/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ use mullvad_relay_selector::{
RelaySelector, SelectorConfig,
};
use mullvad_types::{
access_method::{AccessMethod, AccessMethodSetting, ApiAccessMethodId},
access_method::{AccessMethod, AccessMethodSetting},
account::{AccountData, AccountToken, VoucherSubmission},
auth_failed::AuthFailed,
custom_list::{CustomList, CustomListLocationUpdate},
Expand Down Expand Up @@ -265,15 +265,15 @@ pub enum DaemonCommand {
GetApiAccessMethods(ResponseTx<Vec<AccessMethodSetting>, Error>),
/// Add API access methods
AddApiAccessMethod(
ResponseTx<ApiAccessMethodId, Error>,
ResponseTx<mullvad_types::access_method::Id, Error>,
String,
bool,
AccessMethod,
),
/// Remove an API access method
RemoveApiAccessMethod(ResponseTx<(), Error>, ApiAccessMethodId),
RemoveApiAccessMethod(ResponseTx<(), Error>, mullvad_types::access_method::Id),
/// Set the API access method to use
SetApiAccessMethod(ResponseTx<(), Error>, ApiAccessMethodId),
SetApiAccessMethod(ResponseTx<(), Error>, mullvad_types::access_method::Id),
/// Edit an API access method
UpdateApiAccessMethod(ResponseTx<(), Error>, AccessMethodSetting),
/// Get the addresses of all known API endpoints
Expand Down Expand Up @@ -2298,7 +2298,7 @@ where

async fn on_add_access_method(
&mut self,
tx: ResponseTx<ApiAccessMethodId, Error>,
tx: ResponseTx<mullvad_types::access_method::Id, Error>,
name: String,
enabled: bool,
access_method: AccessMethod,
Expand All @@ -2313,7 +2313,7 @@ where
async fn on_remove_api_access_method(
&mut self,
tx: ResponseTx<(), Error>,
api_access_method: ApiAccessMethodId,
api_access_method: mullvad_types::access_method::Id,
) {
let result = self
.remove_access_method(api_access_method)
Expand All @@ -2337,7 +2337,7 @@ where
fn on_set_api_access_method(
&mut self,
tx: ResponseTx<(), Error>,
access_method: ApiAccessMethodId,
access_method: mullvad_types::access_method::Id,
) {
let result = self
.set_api_access_method(access_method)
Expand Down
6 changes: 2 additions & 4 deletions mullvad-daemon/src/management_interface.rs
Original file line number Diff line number Diff line change
Expand Up @@ -645,8 +645,7 @@ impl ManagementService for ManagementServiceImpl {

async fn remove_api_access_method(&self, request: Request<types::Uuid>) -> ServiceResult<()> {
log::debug!("remove_api_access_method");
let api_access_method =
mullvad_types::access_method::ApiAccessMethodId::try_from(request.into_inner())?;
let api_access_method = mullvad_types::access_method::Id::try_from(request.into_inner())?;
let (tx, rx) = oneshot::channel();
self.send_command_to_daemon(DaemonCommand::RemoveApiAccessMethod(tx, api_access_method))?;
self.wait_for_result(rx)
Expand Down Expand Up @@ -675,8 +674,7 @@ impl ManagementService for ManagementServiceImpl {

async fn set_api_access_method(&self, request: Request<types::Uuid>) -> ServiceResult<()> {
log::debug!("set_api_access_method");
let api_access_method =
mullvad_types::access_method::ApiAccessMethodId::try_from(request.into_inner())?;
let api_access_method = mullvad_types::access_method::Id::try_from(request.into_inner())?;
let (tx, rx) = oneshot::channel();
self.send_command_to_daemon(DaemonCommand::SetApiAccessMethod(tx, api_access_method))?;
self.wait_for_result(rx)
Expand Down
12 changes: 6 additions & 6 deletions mullvad-management-interface/src/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
use crate::types;
use futures::{Stream, StreamExt};
use mullvad_types::{
access_method::{AccessMethod, AccessMethodSetting, ApiAccessMethodId},
access_method::{self, AccessMethod, AccessMethodSetting},
account::{AccountData, AccountToken, VoucherSubmission},
custom_list::{CustomList, CustomListLocationUpdate},
device::{Device, DeviceEvent, DeviceId, DeviceState, RemoveDeviceEvent},
Expand Down Expand Up @@ -181,7 +181,7 @@ impl MullvadProxyClient {

pub async fn get_api_access_method(
&mut self,
id: &ApiAccessMethodId,
id: &access_method::Id,
) -> Result<AccessMethodSetting> {
self.get_api_access_methods()
.await?
Expand Down Expand Up @@ -542,7 +542,7 @@ impl MullvadProxyClient {

pub async fn enable_access_method(
&mut self,
api_access_method_id: ApiAccessMethodId,
api_access_method_id: access_method::Id,
) -> Result<()> {
let mut new_api_access_method = self.get_api_access_method(&api_access_method_id).await?;
new_api_access_method.enable();
Expand All @@ -551,7 +551,7 @@ impl MullvadProxyClient {

pub async fn disable_access_method(
&mut self,
api_access_method_id: ApiAccessMethodId,
api_access_method_id: access_method::Id,
) -> Result<()> {
let mut new_api_access_method = self.get_api_access_method(&api_access_method_id).await?;
new_api_access_method.disable();
Expand All @@ -560,7 +560,7 @@ impl MullvadProxyClient {

pub async fn remove_access_method(
&mut self,
api_access_method: ApiAccessMethodId,
api_access_method: access_method::Id,
) -> Result<()> {
self.0
.remove_api_access_method(types::Uuid::from(api_access_method))
Expand Down Expand Up @@ -589,7 +589,7 @@ impl MullvadProxyClient {
/// method "randomly"
///
/// [`ApiConnectionModeProvider`]: mullvad_daemon::api::ApiConnectionModeProvider
pub async fn set_access_method(&mut self, api_access_method: ApiAccessMethodId) -> Result<()> {
pub async fn set_access_method(&mut self, api_access_method: access_method::Id) -> Result<()> {
self.0
.set_api_access_method(types::Uuid::from(api_access_method))
.await
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ mod settings {
mod data {
use crate::types::{proto, FromProtobufTypeError};
use mullvad_types::access_method::{
AccessMethod, AccessMethodSetting, ApiAccessMethodId, BuiltInAccessMethod,
CustomAccessMethod, Shadowsocks, Socks5, Socks5Local, Socks5Remote,
AccessMethod, AccessMethodSetting, BuiltInAccessMethod, CustomAccessMethod, Id,
Shadowsocks, Socks5, Socks5Local, Socks5Remote,
};

impl TryFrom<proto::AccessMethodSetting> for AccessMethodSetting {
Expand All @@ -57,7 +57,7 @@ mod data {
.ok_or(FromProtobufTypeError::InvalidArgument(
"Could not deserialize Access Method from protobuf",
))
.and_then(ApiAccessMethodId::try_from)?;
.and_then(Id::try_from)?;
let name = value.name;
let enabled = value.enabled;
let access_method = value
Expand Down Expand Up @@ -230,15 +230,15 @@ mod data {
}
}

impl From<ApiAccessMethodId> for proto::Uuid {
fn from(value: ApiAccessMethodId) -> Self {
impl From<Id> for proto::Uuid {
fn from(value: Id) -> Self {
proto::Uuid {
value: value.to_string(),
}
}
}

impl TryFrom<proto::Uuid> for ApiAccessMethodId {
impl TryFrom<proto::Uuid> for Id {
type Error = FromProtobufTypeError;

fn try_from(value: proto::Uuid) -> Result<Self, Self::Error> {
Expand Down
27 changes: 11 additions & 16 deletions mullvad-types/src/access_method.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ impl Settings {
}

/// Remove an [`ApiAccessMethod`] from `api_access_methods`.
pub fn remove(&mut self, api_access_method: &ApiAccessMethodId) {
pub fn remove(&mut self, api_access_method: &Id) {
self.retain(|method| method.get_id() != *api_access_method)
}

/// Search for a particular [`AccessMethod`] in `api_access_methods`.
pub fn find(&self, element: &ApiAccessMethodId) -> Option<&AccessMethodSetting> {
pub fn find(&self, element: &Id) -> Option<&AccessMethodSetting> {
self.access_method_settings
.iter()
.find(|api_access_method| *element == api_access_method.get_id())
Expand All @@ -32,7 +32,7 @@ impl Settings {
/// If the [`AccessMethod`] is found to be part of `api_access_methods`, a
/// mutable reference to that inner element is returned. Otherwise, `None`
/// is returned.
pub fn find_mut(&mut self, element: &ApiAccessMethodId) -> Option<&mut AccessMethodSetting> {
pub fn find_mut(&mut self, element: &Id) -> Option<&mut AccessMethodSetting> {
self.access_method_settings
.iter_mut()
.find(|api_access_method| *element == api_access_method.get_id())
Expand Down Expand Up @@ -75,28 +75,28 @@ impl Default for Settings {
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
pub struct AccessMethodSetting {
/// Some unique id (distinct for each `AccessMethod`).
id: ApiAccessMethodId,
id: Id,
pub name: String,
pub enabled: bool,
pub access_method: AccessMethod,
}

#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct ApiAccessMethodId(uuid::Uuid);
pub struct Id(uuid::Uuid);

impl ApiAccessMethodId {
impl Id {
#[allow(clippy::new_without_default)]
pub fn new() -> Self {
Self(uuid::Uuid::new_v4())
}
/// Tries to parse a UUID from a raw String. If it is successful, an
/// [`ApiAccessMethodId`] is instantiated.
/// [`Id`] is instantiated.
pub fn from_string(id: String) -> Option<Self> {
uuid::Uuid::from_str(&id).ok().map(Self)
}
}

impl std::fmt::Display for ApiAccessMethodId {
impl std::fmt::Display for Id {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.0)
}
Expand All @@ -112,7 +112,7 @@ pub enum AccessMethod {
impl AccessMethodSetting {
pub fn new(name: String, enabled: bool, access_method: AccessMethod) -> Self {
Self {
id: ApiAccessMethodId::new(),
id: Id::new(),
name,
enabled,
access_method,
Expand All @@ -128,12 +128,7 @@ impl AccessMethodSetting {
///
/// [`new`]: ApiAccessMethod::new
/// [`with_id`]: ApiAccessMethod::with_id
pub fn with_id(
id: ApiAccessMethodId,
name: String,
enabled: bool,
access_method: AccessMethod,
) -> Self {
pub fn with_id(id: Id, name: String, enabled: bool, access_method: AccessMethod) -> Self {
Self {
id,
name,
Expand All @@ -142,7 +137,7 @@ impl AccessMethodSetting {
}
}

pub fn get_id(&self) -> ApiAccessMethodId {
pub fn get_id(&self) -> Id {
self.id.clone()
}

Expand Down

0 comments on commit 2ad45c2

Please sign in to comment.