From 8923881678941a07ba941cdb4c44d5da06fde056 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Fri, 26 Nov 2021 01:07:34 +0100 Subject: [PATCH] identifiers: Rename RoomIdOrAliasId to RoomOrAliasId --- .../src/r0/knock/knock_room.rs | 6 +-- .../r0/membership/join_room_by_id_or_alias.rs | 6 +-- crates/ruma-identifiers/CHANGELOG.md | 1 + crates/ruma-identifiers/src/lib.rs | 4 +- ...m_alias_id.rs => room_or_room_alias_id.rs} | 49 +++++++++---------- crates/ruma-serde-macros/src/outgoing.rs | 2 +- crates/ruma/src/lib.rs | 5 +- 7 files changed, 36 insertions(+), 37 deletions(-) rename crates/ruma-identifiers/src/{room_id_or_room_alias_id.rs => room_or_room_alias_id.rs} (75%) diff --git a/crates/ruma-client-api/src/r0/knock/knock_room.rs b/crates/ruma-client-api/src/r0/knock/knock_room.rs index a7318f52..bf6ada37 100644 --- a/crates/ruma-client-api/src/r0/knock/knock_room.rs +++ b/crates/ruma-client-api/src/r0/knock/knock_room.rs @@ -1,7 +1,7 @@ //! [POST /_matrix/client/r0/knock/{roomIdOrAlias}](https://spec.matrix.org/unstable/client-server-api/#post_matrixclientr0knockroomidoralias) use ruma_api::ruma_api; -use ruma_identifiers::{RoomId, RoomIdOrAliasId, ServerName}; +use ruma_identifiers::{RoomId, RoomOrAliasId, ServerName}; ruma_api! { metadata: { @@ -16,7 +16,7 @@ ruma_api! { request: { /// The room the user should knock on. #[ruma_api(path)] - pub room_id_or_alias: &'a RoomIdOrAliasId, + pub room_id_or_alias: &'a RoomOrAliasId, /// The reason for joining a room. #[serde(skip_serializing_if = "Option::is_none")] @@ -38,7 +38,7 @@ ruma_api! { impl<'a> Request<'a> { /// Creates a new `Request` with the given room ID or alias. - pub fn new(room_id_or_alias: &'a RoomIdOrAliasId) -> Self { + pub fn new(room_id_or_alias: &'a RoomOrAliasId) -> Self { Self { room_id_or_alias, reason: None, server_name: &[] } } } diff --git a/crates/ruma-client-api/src/r0/membership/join_room_by_id_or_alias.rs b/crates/ruma-client-api/src/r0/membership/join_room_by_id_or_alias.rs index 79090fc2..7583a5a6 100644 --- a/crates/ruma-client-api/src/r0/membership/join_room_by_id_or_alias.rs +++ b/crates/ruma-client-api/src/r0/membership/join_room_by_id_or_alias.rs @@ -1,7 +1,7 @@ //! [POST /_matrix/client/r0/join/{roomIdOrAlias}](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-join-roomidoralias) use ruma_api::ruma_api; -use ruma_identifiers::{RoomId, RoomIdOrAliasId, ServerName}; +use ruma_identifiers::{RoomId, RoomOrAliasId, ServerName}; use super::{IncomingThirdPartySigned, ThirdPartySigned}; @@ -18,7 +18,7 @@ ruma_api! { request: { /// The room where the user should be invited. #[ruma_api(path)] - pub room_id_or_alias: &'a RoomIdOrAliasId, + pub room_id_or_alias: &'a RoomOrAliasId, /// The servers to attempt to join the room through. /// @@ -48,7 +48,7 @@ ruma_api! { impl<'a> Request<'a> { /// Creates a new `Request` with the given room ID or alias ID. - pub fn new(room_id_or_alias: &'a RoomIdOrAliasId) -> Self { + pub fn new(room_id_or_alias: &'a RoomOrAliasId) -> Self { Self { room_id_or_alias, server_name: &[], diff --git a/crates/ruma-identifiers/CHANGELOG.md b/crates/ruma-identifiers/CHANGELOG.md index 0b3d6052..0168c01b 100644 --- a/crates/ruma-identifiers/CHANGELOG.md +++ b/crates/ruma-identifiers/CHANGELOG.md @@ -10,6 +10,7 @@ Breaking changes: * The corresponding macros (and also `server_name!`) now return `'static` references instead of owned values now – use `.to_owned()` to get an owned copy * Rename `RoomVersionId::Version{X}` variants to `RoomVersionId::V{X}` +* Rename `RoomIdOrAliasId` to `RoomOrAliasId` # 0.20.0 diff --git a/crates/ruma-identifiers/src/lib.rs b/crates/ruma-identifiers/src/lib.rs index 48f2f5ee..523897d3 100644 --- a/crates/ruma-identifiers/src/lib.rs +++ b/crates/ruma-identifiers/src/lib.rs @@ -32,8 +32,8 @@ pub use crate::{ mxc_uri::MxcUri, room_alias_id::RoomAliasId, room_id::RoomId, - room_id_or_room_alias_id::RoomIdOrAliasId, room_name::RoomName, + room_or_room_alias_id::RoomOrAliasId, room_version_id::RoomVersionId, server_name::ServerName, session_id::SessionId, @@ -59,8 +59,8 @@ mod matrix_to; mod mxc_uri; mod room_alias_id; mod room_id; -mod room_id_or_room_alias_id; mod room_name; +mod room_or_room_alias_id; mod room_version_id; mod server_name; mod session_id; diff --git a/crates/ruma-identifiers/src/room_id_or_room_alias_id.rs b/crates/ruma-identifiers/src/room_or_room_alias_id.rs similarity index 75% rename from crates/ruma-identifiers/src/room_id_or_room_alias_id.rs rename to crates/ruma-identifiers/src/room_or_room_alias_id.rs index 86a617a6..b975356a 100644 --- a/crates/ruma-identifiers/src/room_id_or_room_alias_id.rs +++ b/crates/ruma-identifiers/src/room_or_room_alias_id.rs @@ -9,33 +9,33 @@ use crate::{server_name::ServerName, RoomAliasId, RoomId}; /// A Matrix room ID or a Matrix room alias ID. /// -/// `RoomIdOrAliasId` is useful for APIs that accept either kind of room identifier. It is converted +/// `RoomOrAliasId` is useful for APIs that accept either kind of room identifier. It is converted /// from a string slice, and can be converted back into a string as needed. When converted from a /// string slice, the variant is determined by the leading sigil character. /// /// ``` /// # use std::convert::TryFrom; -/// # use ruma_identifiers::RoomIdOrAliasId; +/// # use ruma_identifiers::RoomOrAliasId; /// assert_eq!( -/// <&RoomIdOrAliasId>::try_from("#ruma:example.com").unwrap(), +/// <&RoomOrAliasId>::try_from("#ruma:example.com").unwrap(), /// "#ruma:example.com" /// ); /// /// assert_eq!( -/// <&RoomIdOrAliasId>::try_from("!n8f893n9:example.com").unwrap(), +/// <&RoomOrAliasId>::try_from("!n8f893n9:example.com").unwrap(), /// "!n8f893n9:example.com" /// ); /// ``` #[repr(transparent)] #[derive(PartialEq, Eq, PartialOrd, Ord, Hash)] -pub struct RoomIdOrAliasId(str); +pub struct RoomOrAliasId(str); opaque_identifier_validated!( - RoomIdOrAliasId, + RoomOrAliasId, ruma_identifiers_validation::room_id_or_alias_id::validate ); -impl RoomIdOrAliasId { +impl RoomOrAliasId { /// Returns the local part (everything after the `!` or `#` and before the first colon). pub fn localpart(&self) -> &str { &self.as_str()[1..self.colon_idx()] @@ -56,7 +56,7 @@ impl RoomIdOrAliasId { self.variant() == Variant::RoomAliasId } - /// Turn this `RoomIdOrAliasId` into `Either` + /// Turn this `RoomOrAliasId` into `Either` #[cfg(feature = "either")] pub fn into_either(self: Box) -> either::Either, Box> { let variant = self.variant(); @@ -87,22 +87,22 @@ enum Variant { RoomAliasId, } -impl From> for Box { +impl From> for Box { fn from(room_id: Box) -> Self { Self::try_from(room_id.as_str()).unwrap() } } -impl From> for Box { +impl From> for Box { fn from(room_alias_id: Box) -> Self { Self::try_from(room_alias_id.as_str()).unwrap() } } -impl TryFrom> for Box { +impl TryFrom> for Box { type Error = Box; - fn try_from(id: Box) -> Result, Box> { + fn try_from(id: Box) -> Result, Box> { match id.variant() { Variant::RoomId => Ok(id.as_str().try_into().unwrap()), Variant::RoomAliasId => Err(id.as_str().try_into().unwrap()), @@ -110,10 +110,10 @@ impl TryFrom> for Box { } } -impl TryFrom> for Box { +impl TryFrom> for Box { type Error = Box; - fn try_from(id: Box) -> Result, Box> { + fn try_from(id: Box) -> Result, Box> { match id.variant() { Variant::RoomAliasId => Ok(id.as_str().try_into().unwrap()), Variant::RoomId => Err(id.as_str().try_into().unwrap()), @@ -125,13 +125,13 @@ impl TryFrom> for Box { mod tests { use std::convert::TryFrom; - use super::RoomIdOrAliasId; + use super::RoomOrAliasId; use crate::Error; #[test] fn valid_room_id_or_alias_id_with_a_room_alias_id() { assert_eq!( - <&RoomIdOrAliasId>::try_from("#ruma:example.com") + <&RoomOrAliasId>::try_from("#ruma:example.com") .expect("Failed to create RoomAliasId.") .as_ref(), "#ruma:example.com" @@ -141,7 +141,7 @@ mod tests { #[test] fn valid_room_id_or_alias_id_with_a_room_id() { assert_eq!( - <&RoomIdOrAliasId>::try_from("!29fhd83h92h0:example.com") + <&RoomOrAliasId>::try_from("!29fhd83h92h0:example.com") .expect("Failed to create RoomId.") .as_ref(), "!29fhd83h92h0:example.com" @@ -151,7 +151,7 @@ mod tests { #[test] fn missing_sigil_for_room_id_or_alias_id() { assert_eq!( - <&RoomIdOrAliasId>::try_from("ruma:example.com").unwrap_err(), + <&RoomOrAliasId>::try_from("ruma:example.com").unwrap_err(), Error::MissingLeadingSigil ); } @@ -161,7 +161,7 @@ mod tests { fn serialize_valid_room_id_or_alias_id_with_a_room_alias_id() { assert_eq!( serde_json::to_string( - <&RoomIdOrAliasId>::try_from("#ruma:example.com") + <&RoomOrAliasId>::try_from("#ruma:example.com") .expect("Failed to create RoomAliasId.") ) .expect("Failed to convert RoomAliasId to JSON."), @@ -174,7 +174,7 @@ mod tests { fn serialize_valid_room_id_or_alias_id_with_a_room_id() { assert_eq!( serde_json::to_string( - <&RoomIdOrAliasId>::try_from("!29fhd83h92h0:example.com") + <&RoomOrAliasId>::try_from("!29fhd83h92h0:example.com") .expect("Failed to create RoomId.") ) .expect("Failed to convert RoomId to JSON."), @@ -186,10 +186,9 @@ mod tests { #[test] fn deserialize_valid_room_id_or_alias_id_with_a_room_alias_id() { assert_eq!( - serde_json::from_str::>(r##""#ruma:example.com""##) + serde_json::from_str::>(r##""#ruma:example.com""##) .expect("Failed to convert JSON to RoomAliasId"), - <&RoomIdOrAliasId>::try_from("#ruma:example.com") - .expect("Failed to create RoomAliasId.") + <&RoomOrAliasId>::try_from("#ruma:example.com").expect("Failed to create RoomAliasId.") ); } @@ -197,9 +196,9 @@ mod tests { #[test] fn deserialize_valid_room_id_or_alias_id_with_a_room_id() { assert_eq!( - serde_json::from_str::>(r##""!29fhd83h92h0:example.com""##) + serde_json::from_str::>(r##""!29fhd83h92h0:example.com""##) .expect("Failed to convert JSON to RoomId"), - <&RoomIdOrAliasId>::try_from("!29fhd83h92h0:example.com") + <&RoomOrAliasId>::try_from("!29fhd83h92h0:example.com") .expect("Failed to create RoomAliasId.") ); } diff --git a/crates/ruma-serde-macros/src/outgoing.rs b/crates/ruma-serde-macros/src/outgoing.rs index 30db0300..3b0cccbf 100644 --- a/crates/ruma-serde-macros/src/outgoing.rs +++ b/crates/ruma-serde-macros/src/outgoing.rs @@ -271,7 +271,7 @@ fn strip_lifetimes(field_type: &mut Type) -> bool { || last_seg.ident == "RawJsonValue" || last_seg.ident == "RoomAliasId" || last_seg.ident == "RoomId" - || last_seg.ident == "RoomIdOrAliasId" + || last_seg.ident == "RoomOrAliasId" || last_seg.ident == "RoomName" || last_seg.ident == "ServerSigningKeyId" || last_seg.ident == "SigningKeyId" diff --git a/crates/ruma/src/lib.rs b/crates/ruma/src/lib.rs index 3e7a83dc..e4962323 100644 --- a/crates/ruma/src/lib.rs +++ b/crates/ruma/src/lib.rs @@ -85,9 +85,8 @@ pub use ruma_identifiers::{ device_id, device_key_id, event_id, mxc_uri, room_alias_id, room_id, room_version_id, server_name, server_signing_key_id, user_id, ClientSecret, DeviceId, DeviceKeyAlgorithm, DeviceKeyId, DeviceSignatures, DeviceSigningKeyId, EntitySignatures, EventEncryptionAlgorithm, - EventId, KeyId, KeyName, MxcUri, RoomAliasId, RoomId, RoomIdOrAliasId, RoomVersionId, - ServerName, ServerSignatures, ServerSigningKeyId, SessionId, Signatures, SigningKeyAlgorithm, - UserId, + EventId, KeyId, KeyName, MxcUri, RoomAliasId, RoomId, RoomOrAliasId, RoomVersionId, ServerName, + ServerSignatures, ServerSigningKeyId, SessionId, Signatures, SigningKeyAlgorithm, UserId, }; #[cfg(feature = "client")]