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::{
15 join::Join,
16 stripped_state::{
17 StrippedCreateVerdict, enforce_stripped_create, into_client_stripped, v12_room_ids,
18 },
19};
20
21pub struct Service {
22 services: Arc<crate::services::OnceServices>,
23}
24
25impl crate::Service for Service {
26 fn build(args: &crate::Args<'_>) -> Result<Arc<Self>> {
27 Ok(Arc::new(Self { services: args.services.clone() }))
28 }
29
30 fn name(&self) -> &str { crate::service::make_name(std::module_path!()) }
31}