Skip to main contentModule invite
Source use std::collections::BTreeMap; π use std::mem::take; π use axum::extract::State; π use base64::Engine as _; π use base64::engine::general_purpose; π use futures::StreamExt; π use ruma::CanonicalJsonObject; π use ruma::CanonicalJsonValue; π use ruma::EventId; π use ruma::OwnedEventId; π use ruma::OwnedRoomId; π use ruma::OwnedUserId; π use ruma::RoomId; π use ruma::RoomVersionId; π use ruma::ServerName; π use ruma::UserId; π use ruma::api::appservice::event::push_events; π use ruma::api::appservice::event::push_events::v1::DeviceLists; π use ruma::api::federation::membership::RawStrippedState; π use ruma::api::federation::membership::create_invite; π use ruma::events::AnyStrippedStateEvent; π use ruma::events::GlobalAccountDataEventType; π use ruma::events::StateEventType; π use ruma::events::invite_permission_config::InvitePermission; π use ruma::events::push_rules::PushRulesEvent; π use ruma::events::room::member::MembershipState; π use ruma::events::room::member::RoomMemberEventContent; π use ruma::push; π use ruma::serde::JsonObject; π use ruma::serde::Raw; π use serde::Deserialize; π use serde::Deserialize; π use tuwunel_core::Err; π use tuwunel_core::Result; π use tuwunel_core::debug_warn; π use tuwunel_core::err; π use tuwunel_core::utils; π use tuwunel_core::utils::hash::sha256; π use tuwunel_matrix::Event; π use tuwunel_matrix::PduCount; π use tuwunel_matrix::PduEvent; π use tuwunel_matrix::event::gen_event_id; π use tuwunel_service::Services; π use tuwunel_service::membership::StrippedCreateVerdict; π use tuwunel_service::membership::dedup_stripped_state; π use tuwunel_service::membership::enforce_stripped_create; π use tuwunel_service::membership::into_client_stripped; π use tuwunel_service::membership::v12_room_ids; π use tuwunel_service::membership::without_member; π use tuwunel_service::rooms::state_cache::MembershipUpdate; π use crate::ClientIp; π use crate::Ruma; π
- ExtractIsDirect π
- The one membership field the invite acceptance policy reads.
- LocalInvite π
- build_pdu π
- check_invite_permitted π
- create_invite_route π
PUT /_matrix/federation/v2/invite/{roomId}/{eventId}- enforce_stripped_state π
- Validate the create event in the inviteβs stripped state (MSC4311) and
reject the invite when the operatorβs policy requires it.
- notify_pushers π
- parse_and_validate_event π
- record_local_invite π
- Record an invite for a room we are not currently in.
- sign_event π
- validate_origins π
- validate_request π