Struct RoomThirdPartyInviteEventContent
#[non_exhaustive]pub struct RoomThirdPartyInviteEventContent {
pub display_name: String,
pub key_validity_url: String,
pub public_key: Base64,
pub public_keys: Option<Vec<PublicKey>>,
}
Expand description
The content of an m.room.third_party_invite
event.
An invitation to a room issued to a third party identifier, rather than a matrix user ID.
Acts as an m.room.member
invite event, where there isn’t a target user_id to invite. This
event contains a token and a public key whose private key must be used to sign the token.
Any user who can present that signature may use this invitation to join the target room.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.display_name: String
A user-readable string which represents the user who has been invited.
If the compat-optional
feature is enabled, this field being absent in JSON will result
in an empty string instead of an error when deserializing.
key_validity_url: String
A URL which can be fetched to validate whether the key has been revoked.
If the compat-optional
feature is enabled, this field being absent in JSON will result
in an empty string instead of an error when deserializing.
public_key: Base64
A base64-encoded Ed25519 key with which the token must be signed.
If the compat-optional
feature is enabled, this field being absent in JSON will result
in an empty string instead of an error when deserializing.
public_keys: Option<Vec<PublicKey>>
Keys with which the token may be signed.
Implementations§
§impl RoomThirdPartyInviteEventContent
impl RoomThirdPartyInviteEventContent
pub fn new(
display_name: String,
key_validity_url: String,
public_key: Base64,
) -> RoomThirdPartyInviteEventContent
pub fn new( display_name: String, key_validity_url: String, public_key: Base64, ) -> RoomThirdPartyInviteEventContent
Creates a new RoomThirdPartyInviteEventContent
with the given display name, key validity
url and public key.
Trait Implementations§
§impl Clone for RoomThirdPartyInviteEventContent
impl Clone for RoomThirdPartyInviteEventContent
§fn clone(&self) -> RoomThirdPartyInviteEventContent
fn clone(&self) -> RoomThirdPartyInviteEventContent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for RoomThirdPartyInviteEventContent
impl Debug for RoomThirdPartyInviteEventContent
§impl<'de> Deserialize<'de> for RoomThirdPartyInviteEventContent
impl<'de> Deserialize<'de> for RoomThirdPartyInviteEventContent
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomThirdPartyInviteEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomThirdPartyInviteEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl EventContent for RoomThirdPartyInviteEventContent
impl EventContent for RoomThirdPartyInviteEventContent
§type EventType = StateEventType
type EventType = StateEventType
§fn event_type(
&self,
) -> <RoomThirdPartyInviteEventContent as EventContent>::EventType
fn event_type( &self, ) -> <RoomThirdPartyInviteEventContent as EventContent>::EventType
m.room.message
.§impl From<RoomThirdPartyInviteEventContent> for AnyStateEventContent
impl From<RoomThirdPartyInviteEventContent> for AnyStateEventContent
§fn from(c: RoomThirdPartyInviteEventContent) -> AnyStateEventContent
fn from(c: RoomThirdPartyInviteEventContent) -> AnyStateEventContent
§impl RedactContent for RoomThirdPartyInviteEventContent
impl RedactContent for RoomThirdPartyInviteEventContent
§type Redacted = RedactedRoomThirdPartyInviteEventContent
type Redacted = RedactedRoomThirdPartyInviteEventContent
§fn redact(
self,
version: &RoomVersionId,
) -> RedactedRoomThirdPartyInviteEventContent
fn redact( self, version: &RoomVersionId, ) -> RedactedRoomThirdPartyInviteEventContent
self
into a redacted form (removing most or all fields) according to the spec. Read more§impl Serialize for RoomThirdPartyInviteEventContent
impl Serialize for RoomThirdPartyInviteEventContent
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
§impl StaticStateEventContent for RoomThirdPartyInviteEventContent
impl StaticStateEventContent for RoomThirdPartyInviteEventContent
§type PossiblyRedacted = PossiblyRedactedRoomThirdPartyInviteEventContent
type PossiblyRedacted = PossiblyRedactedRoomThirdPartyInviteEventContent
§type Unsigned = StateUnsigned<<RoomThirdPartyInviteEventContent as StaticStateEventContent>::PossiblyRedacted>
type Unsigned = StateUnsigned<<RoomThirdPartyInviteEventContent as StaticStateEventContent>::PossiblyRedacted>
unsigned
field.Auto Trait Implementations§
impl Freeze for RoomThirdPartyInviteEventContent
impl RefUnwindSafe for RoomThirdPartyInviteEventContent
impl Send for RoomThirdPartyInviteEventContent
impl Sync for RoomThirdPartyInviteEventContent
impl Unpin for RoomThirdPartyInviteEventContent
impl UnwindSafe for RoomThirdPartyInviteEventContent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
impl<T> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more