pub struct Community<'a> { /* private fields */ }Implementations§
Source§impl<'a> Community<'a>
impl<'a> Community<'a>
Sourcepub async fn create(
&self,
options: CreateCommunityOptions,
) -> Result<CreateCommunityResult, CommunityError>
pub async fn create( &self, options: CreateCommunityOptions, ) -> Result<CreateCommunityResult, CommunityError>
Create a new community.
If a description is provided, it is set via a follow-up IQ after creation (the group create stanza does not support inline descriptions for communities).
Sourcepub async fn create_subgroup(
&self,
name: impl Into<String>,
participants: &[Jid],
parent_jid: impl Into<Jid>,
) -> Result<CreateCommunityResult, CommunityError>
pub async fn create_subgroup( &self, name: impl Into<String>, participants: &[Jid], parent_jid: impl Into<Jid>, ) -> Result<CreateCommunityResult, CommunityError>
Create a subgroup already linked to a parent group.
Sourcepub async fn deactivate(
&self,
community_jid: impl Into<Jid>,
) -> Result<(), CommunityError>
pub async fn deactivate( &self, community_jid: impl Into<Jid>, ) -> Result<(), CommunityError>
Deactivate (delete) a community. Subgroups are unlinked but not deleted.
Sourcepub async fn remove_participants(
&self,
community_jid: impl Into<Jid>,
participants: &[Jid],
) -> Result<Vec<ParticipantChangeResponse>, CommunityError>
pub async fn remove_participants( &self, community_jid: impl Into<Jid>, participants: &[Jid], ) -> Result<Vec<ParticipantChangeResponse>, CommunityError>
Remove participants from the parent and all linked groups.
Sourcepub async fn link_subgroups(
&self,
community_jid: impl Into<Jid>,
subgroup_jids: &[Jid],
) -> Result<LinkSubgroupsResult, CommunityError>
pub async fn link_subgroups( &self, community_jid: impl Into<Jid>, subgroup_jids: &[Jid], ) -> Result<LinkSubgroupsResult, CommunityError>
Link existing groups as subgroups of a community.
Sourcepub async fn unlink_subgroups(
&self,
community_jid: impl Into<Jid>,
subgroup_jids: &[Jid],
remove_orphan_members: bool,
) -> Result<UnlinkSubgroupsResult, CommunityError>
pub async fn unlink_subgroups( &self, community_jid: impl Into<Jid>, subgroup_jids: &[Jid], remove_orphan_members: bool, ) -> Result<UnlinkSubgroupsResult, CommunityError>
Unlink subgroups from a community.
Sourcepub async fn get_subgroups(
&self,
community_jid: &Jid,
) -> Result<Vec<CommunitySubgroup>, CommunityError>
pub async fn get_subgroups( &self, community_jid: &Jid, ) -> Result<Vec<CommunitySubgroup>, CommunityError>
Fetch all subgroups of a community via MEX (GraphQL).
Sourcepub async fn get_participating(
&self,
) -> Result<HashMap<Jid, GroupMetadata>, CommunityError>
pub async fn get_participating( &self, ) -> Result<HashMap<Jid, GroupMetadata>, CommunityError>
Fetch all parent groups the account currently participates in.
Sourcepub async fn get_subgroup_participant_counts(
&self,
community_jid: &Jid,
) -> Result<Vec<(Jid, u32)>, CommunityError>
pub async fn get_subgroup_participant_counts( &self, community_jid: &Jid, ) -> Result<Vec<(Jid, u32)>, CommunityError>
Fetch participant counts per subgroup via MEX (GraphQL).
Sourcepub async fn query_linked_group(
&self,
community_jid: impl Into<Jid>,
subgroup_jid: impl Into<Jid>,
) -> Result<GroupMetadata, CommunityError>
pub async fn query_linked_group( &self, community_jid: impl Into<Jid>, subgroup_jid: impl Into<Jid>, ) -> Result<GroupMetadata, CommunityError>
Query a linked subgroup’s metadata from the parent community.
Sourcepub async fn join_subgroup(
&self,
community_jid: impl Into<Jid>,
subgroup_jid: impl Into<Jid>,
) -> Result<GroupMetadata, CommunityError>
pub async fn join_subgroup( &self, community_jid: impl Into<Jid>, subgroup_jid: impl Into<Jid>, ) -> Result<GroupMetadata, CommunityError>
Join a linked subgroup via the parent community.
Sourcepub async fn get_linked_groups_participants(
&self,
community_jid: impl Into<Jid>,
) -> Result<Vec<GroupParticipant>, CommunityError>
pub async fn get_linked_groups_participants( &self, community_jid: impl Into<Jid>, ) -> Result<Vec<GroupParticipant>, CommunityError>
Get all participants across all linked groups of a community.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for Community<'a>
impl<'a> !UnwindSafe for Community<'a>
impl<'a> Freeze for Community<'a>
impl<'a> Send for Community<'a>
impl<'a> Sync for Community<'a>
impl<'a> Unpin for Community<'a>
impl<'a> UnsafeUnpin for Community<'a>
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
&self to an expression for Diesel’s query builder. Read more