Skip to main content

Module invite

Module invite 

Source

Re-exportsΒ§

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; πŸ”’

StructsΒ§

ExtractIsDirect πŸ”’
The one membership field the invite acceptance policy reads.
LocalInvite πŸ”’

FunctionsΒ§

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 πŸ”’