ruma_events::room::member

Type Alias RedactedSyncRoomMemberEvent

Source
pub type RedactedSyncRoomMemberEvent = RedactedSyncStateEvent<RedactedRoomMemberEventContent>;
Expand description

An m.room.member event from a sync_events response that has been redacted.

Aliased Type§

struct RedactedSyncRoomMemberEvent {
    pub content: RedactedRoomMemberEventContent,
    pub event_id: OwnedEventId,
    pub sender: OwnedUserId,
    pub origin_server_ts: MilliSecondsSinceUnixEpoch,
    pub state_key: OwnedUserId,
    pub unsigned: RedactedUnsigned,
}

Fields§

§content: RedactedRoomMemberEventContent

Data specific to the event type.

§event_id: OwnedEventId

The globally unique event identifier for the user who sent the event.

§sender: OwnedUserId

The fully-qualified ID of the user who sent this event.

§origin_server_ts: MilliSecondsSinceUnixEpoch

Timestamp in milliseconds on originating homeserver when this event was sent.

§state_key: OwnedUserId

A unique key which defines the overwriting semantics for this piece of room state.

This is often an empty string, but some events send a UserId to show which user the event affects.

§unsigned: RedactedUnsigned

Additional key-value pairs not signed by the homeserver.

Implementations§

Source§

impl RedactedSyncRoomMemberEvent

Source

pub fn details(&self) -> MembershipDetails<'_>

Obtain the details about this event that are required to calculate a membership change.

This is required when you want to calculate the change a redacted m.room.member event made.

Source

pub fn membership_change<'a>( &'a self, prev_details: Option<MembershipDetails<'a>>, ) -> MembershipChange<'a>

Helper function for membership change.

Since redacted events don’t have unsigned.prev_content, you have to pass the .details() of the previous m.room.member event manually (if there is a previous m.room.member event).

Check the specification for details.