|
|
|
@ -27,7 +27,7 @@ use crate::{
|
|
|
|
|
objects::page::Page,
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
use activitypub_federation::{deser::context::WithContext, traits::activity_handler};
|
|
|
|
|
use activitypub_federation::{data::Data, deser::context::WithContext, traits::ActivityHandler};
|
|
|
|
|
use lemmy_utils::error::LemmyError;
|
|
|
|
|
use lemmy_websocket::LemmyContext;
|
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
@ -35,7 +35,7 @@ use url::Url;
|
|
|
|
|
|
|
|
|
|
#[derive(Debug, Deserialize, Serialize)]
|
|
|
|
|
#[serde(untagged)]
|
|
|
|
|
#[activity_handler(LemmyContext, LemmyError)]
|
|
|
|
|
#[enum_delegate::implement(ActivityHandler)]
|
|
|
|
|
pub enum SharedInboxActivities {
|
|
|
|
|
PersonInboxActivities(Box<WithContext<PersonInboxActivities>>),
|
|
|
|
|
GroupInboxActivities(Box<WithContext<GroupInboxActivities>>),
|
|
|
|
@ -43,7 +43,7 @@ pub enum SharedInboxActivities {
|
|
|
|
|
|
|
|
|
|
#[derive(Debug, Deserialize, Serialize)]
|
|
|
|
|
#[serde(untagged)]
|
|
|
|
|
#[activity_handler(LemmyContext, LemmyError)]
|
|
|
|
|
#[enum_delegate::implement(ActivityHandler)]
|
|
|
|
|
pub enum GroupInboxActivities {
|
|
|
|
|
FollowCommunity(FollowCommunity),
|
|
|
|
|
UndoFollowCommunity(UndoFollowCommunity),
|
|
|
|
@ -54,7 +54,7 @@ pub enum GroupInboxActivities {
|
|
|
|
|
|
|
|
|
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
|
|
|
|
#[serde(untagged)]
|
|
|
|
|
#[activity_handler(LemmyContext, LemmyError)]
|
|
|
|
|
#[enum_delegate::implement(ActivityHandler)]
|
|
|
|
|
pub enum PersonInboxActivities {
|
|
|
|
|
AcceptFollowCommunity(AcceptFollowCommunity),
|
|
|
|
|
CreateOrUpdatePrivateMessage(CreateOrUpdatePrivateMessage),
|
|
|
|
@ -68,18 +68,18 @@ pub enum PersonInboxActivities {
|
|
|
|
|
/// inbox can fall through to be parsed as GroupInboxActivities::AnnouncableActivities.
|
|
|
|
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
|
|
|
|
#[serde(untagged)]
|
|
|
|
|
#[activity_handler(LemmyContext, LemmyError)]
|
|
|
|
|
#[enum_delegate::implement(ActivityHandler)]
|
|
|
|
|
pub enum PersonInboxActivitiesWithAnnouncable {
|
|
|
|
|
PersonInboxActivities(PersonInboxActivities),
|
|
|
|
|
AnnouncableActivities(AnnouncableActivities),
|
|
|
|
|
PersonInboxActivities(Box<PersonInboxActivities>),
|
|
|
|
|
AnnouncableActivities(Box<AnnouncableActivities>),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
|
|
|
|
#[serde(untagged)]
|
|
|
|
|
#[activity_handler(LemmyContext, LemmyError)]
|
|
|
|
|
#[enum_delegate::implement(ActivityHandler)]
|
|
|
|
|
pub enum AnnouncableActivities {
|
|
|
|
|
CreateOrUpdateComment(CreateOrUpdateComment),
|
|
|
|
|
CreateOrUpdatePost(Box<CreateOrUpdatePost>),
|
|
|
|
|
CreateOrUpdatePost(CreateOrUpdatePost),
|
|
|
|
|
Vote(Vote),
|
|
|
|
|
UndoVote(UndoVote),
|
|
|
|
|
Delete(Delete),
|
|
|
|
@ -95,7 +95,7 @@ pub enum AnnouncableActivities {
|
|
|
|
|
|
|
|
|
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
|
|
|
|
#[serde(untagged)]
|
|
|
|
|
#[activity_handler(LemmyContext, LemmyError)]
|
|
|
|
|
#[enum_delegate::implement(ActivityHandler)]
|
|
|
|
|
#[allow(clippy::enum_variant_names)]
|
|
|
|
|
pub enum SiteInboxActivities {
|
|
|
|
|
BlockUser(BlockUser),
|
|
|
|
|