tuwunel_service/membership/
mod.rs1mod ban;
2mod invite;
3mod join;
4mod kick;
5mod knock;
6mod leave;
7mod stripped_state;
8mod unban;
9
10use std::sync::Arc;
11
12use tuwunel_core::Result;
13
14pub use self::stripped_state::{
15 StrippedCreateVerdict, enforce_stripped_create, into_client_stripped, v12_room_ids,
16};
17
18pub struct Service {
19 services: Arc<crate::services::OnceServices>,
20}
21
22impl crate::Service for Service {
23 fn build(args: &crate::Args<'_>) -> Result<Arc<Self>> {
24 Ok(Arc::new(Self { services: args.services.clone() }))
25 }
26
27 fn name(&self) -> &str { crate::service::make_name(std::module_path!()) }
28}