]> Untitled Git - lemmy.git/blob - crates/apub/src/protocol/activities/following/accept.rs
09e2cfda96da87e13109f59f0c736e2bb5f4afb3
[lemmy.git] / crates / apub / src / protocol / activities / following / accept.rs
1 use crate::{
2   objects::{community::ApubCommunity, person::ApubPerson},
3   protocol::activities::following::follow::Follow,
4 };
5 use activitypub_federation::{fetch::object_id::ObjectId, kinds::activity::AcceptType};
6 use serde::{Deserialize, Serialize};
7 use url::Url;
8
9 #[derive(Clone, Debug, Deserialize, Serialize)]
10 #[serde(rename_all = "camelCase")]
11 pub struct AcceptFollow {
12   pub(crate) actor: ObjectId<ApubCommunity>,
13   /// Optional, for compatibility with platforms that always expect recipient field
14   pub(crate) to: Option<[ObjectId<ApubPerson>; 1]>,
15   pub(crate) object: Follow,
16   #[serde(rename = "type")]
17   pub(crate) kind: AcceptType,
18   pub(crate) id: Url,
19 }