-/// This is very confusing, because there are four distinct cases to handle:
-/// - user deletes their post
-/// - user deletes their comment
-/// - remote community mod deletes local community
-/// - remote community deletes itself (triggered by a mod)
-///
-/// TODO: we should probably change how community deletions work to simplify this. Probably by
-/// wrapping it in an announce just like other activities, instead of having the community send it.
-#[skip_serializing_none]
-#[derive(Clone, Debug, Deserialize, Serialize, ActivityFields)]
-#[serde(rename_all = "camelCase")]
-pub struct Delete {
- actor: ObjectId<Person>,
- to: [PublicUrl; 1],
- pub(in crate::activities::deletion) object: Url,
- pub(in crate::activities::deletion) cc: [ObjectId<Community>; 1],
- #[serde(rename = "type")]
- kind: DeleteType,
- /// If summary is present, this is a mod action (Remove in Lemmy terms). Otherwise, its a user
- /// deleting their own content.
- pub(in crate::activities::deletion) summary: Option<String>,
- id: Url,
- #[serde(rename = "@context")]
- context: OneOrMany<AnyBase>,
- #[serde(flatten)]
- unparsed: Unparsed,
-}
-
-#[async_trait::async_trait(?Send)]