- GroupInboxActivities::FollowCommunity(a) => a.id(),
- GroupInboxActivities::UndoFollowCommunity(a) => a.id(),
- GroupInboxActivities::AnnouncableActivities(a) => a.object_id(),
- GroupInboxActivities::Report(a) => a.id(),
- }
- }
-
- fn actor(&self) -> &Url {
- match self {
- GroupInboxActivities::FollowCommunity(a) => a.actor(),
- GroupInboxActivities::UndoFollowCommunity(a) => a.actor(),
- GroupInboxActivities::AnnouncableActivities(a) => a.actor(),
- GroupInboxActivities::Report(a) => a.actor(),
- }
- }
-
- async fn verify(
- &self,
- data: &Data<Self::DataType>,
- request_counter: &mut i32,
- ) -> Result<(), LemmyError> {
- match self {
- GroupInboxActivities::FollowCommunity(a) => a.verify(data, request_counter).await,
- GroupInboxActivities::UndoFollowCommunity(a) => a.verify(data, request_counter).await,
- GroupInboxActivities::AnnouncableActivities(a) => a.verify(data, request_counter).await,
- GroupInboxActivities::Report(a) => a.verify(data, request_counter).await,
- }
- }
-
- async fn receive(
- self,
- data: &Data<Self::DataType>,
- request_counter: &mut i32,
- ) -> Result<(), LemmyError> {
- match self {
- GroupInboxActivities::FollowCommunity(a) => a.receive(data, request_counter).await,
- GroupInboxActivities::UndoFollowCommunity(a) => a.receive(data, request_counter).await,
- GroupInboxActivities::AnnouncableActivities(activity) => {
- activity.clone().receive(data, request_counter).await?;
-
- // Ignore failures in get_community(). those happen because Delete/PrivateMessage is not in a
- // community, but looks identical to Delete/Post or Delete/Comment which are in a community.
- let community = activity.get_community(data, &mut 0).await;
- if let Ok(community) = community {
- if community.local {
- let actor_id = ObjectId::new(activity.actor().clone());
- verify_person_in_community(&actor_id, &community, data, &mut 0).await?;
- AnnounceActivity::send(*activity, &community, data).await?;
- }
- }
- Ok(())
- }
- GroupInboxActivities::Report(a) => a.receive(data, request_counter).await,
+ CreateOrUpdateComment(a) => a.community(context).await,
+ CreateOrUpdatePost(a) => a.community(context).await,
+ Vote(a) => a.community(context).await,
+ UndoVote(a) => a.community(context).await,
+ Delete(a) => a.community(context).await,
+ UndoDelete(a) => a.community(context).await,
+ UpdateCommunity(a) => a.community(context).await,
+ BlockUser(a) => a.community(context).await,
+ UndoBlockUser(a) => a.community(context).await,
+ CollectionAdd(a) => a.community(context).await,
+ CollectionRemove(a) => a.community(context).await,
+ LockPost(a) => a.community(context).await,
+ UndoLockPost(a) => a.community(context).await,
+ Page(_) => unimplemented!(),