Struct matrix_sdk_base::ruma::events::room::third_party_invite::RoomThirdPartyInviteEventContent
source · #[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§
Trait Implementations§
source§impl Clone for RoomThirdPartyInviteEventContent
impl Clone for RoomThirdPartyInviteEventContent
source§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 moresource§impl<'de> Deserialize<'de> for RoomThirdPartyInviteEventContent
impl<'de> Deserialize<'de> for RoomThirdPartyInviteEventContent
source§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>,
source§impl EventContent for RoomThirdPartyInviteEventContent
impl EventContent for RoomThirdPartyInviteEventContent
§type EventType = StateEventType
type EventType = StateEventType
source§fn event_type(
&self,
) -> <RoomThirdPartyInviteEventContent as EventContent>::EventType
fn event_type( &self, ) -> <RoomThirdPartyInviteEventContent as EventContent>::EventType
m.room.message
.source§impl From<RoomThirdPartyInviteEventContent> for AnyStateEventContent
impl From<RoomThirdPartyInviteEventContent> for AnyStateEventContent
source§fn from(c: RoomThirdPartyInviteEventContent) -> AnyStateEventContent
fn from(c: RoomThirdPartyInviteEventContent) -> AnyStateEventContent
source§impl RedactContent for RoomThirdPartyInviteEventContent
impl RedactContent for RoomThirdPartyInviteEventContent
§type Redacted = RedactedRoomThirdPartyInviteEventContent
type Redacted = RedactedRoomThirdPartyInviteEventContent
source§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 moresource§impl Serialize for RoomThirdPartyInviteEventContent
impl Serialize for RoomThirdPartyInviteEventContent
source§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,
source§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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CompatExt for T
impl<T> CompatExt for T
source§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