]> Untitled Git - lemmy.git/blobdiff - crates/apub_lib/src/lib.rs
Rewrite remaining activities (#1712)
[lemmy.git] / crates / apub_lib / src / lib.rs
index df73d5e8f0f2d1f72d2e3f116042bb8105043f4c..cc88b79c96d7aa528b6b3331464812a611b15552 100644 (file)
@@ -1,33 +1,15 @@
 pub mod values;
 
-use activitystreams::{
-  base::AnyBase,
-  error::DomainError,
-  primitives::OneOrMany,
-  unparsed::Unparsed,
-};
+use activitystreams::error::DomainError;
 pub use lemmy_apub_lib_derive::*;
 use lemmy_utils::LemmyError;
 use lemmy_websocket::LemmyContext;
 use url::Url;
 
-#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
-#[serde(rename_all = "camelCase")]
-pub struct ActivityCommonFields {
-  #[serde(rename = "@context")]
-  pub context: OneOrMany<AnyBase>,
-  pub id: Url,
-  pub actor: Url,
-
-  // unparsed fields
-  #[serde(flatten)]
-  pub unparsed: Unparsed,
-}
-
-impl ActivityCommonFields {
-  pub fn id_unchecked(&self) -> &Url {
-    &self.id
-  }
+pub trait ActivityFields {
+  fn id_unchecked(&self) -> &Url;
+  fn actor(&self) -> &Url;
+  fn cc(&self) -> Vec<Url>;
 }
 
 #[async_trait::async_trait(?Send)]
@@ -43,7 +25,6 @@ pub trait ActivityHandler {
     context: &LemmyContext,
     request_counter: &mut i32,
   ) -> Result<(), LemmyError>;
-  fn common(&self) -> &ActivityCommonFields;
 }
 
 pub fn verify_domains_match(a: &Url, b: &Url) -> Result<(), LemmyError> {
@@ -53,13 +34,6 @@ pub fn verify_domains_match(a: &Url, b: &Url) -> Result<(), LemmyError> {
   Ok(())
 }
 
-pub fn verify_domains_match_opt(a: &Url, b: Option<&Url>) -> Result<(), LemmyError> {
-  if let Some(b2) = b {
-    return verify_domains_match(a, b2);
-  }
-  Ok(())
-}
-
 pub fn verify_urls_match(a: &Url, b: &Url) -> Result<(), LemmyError> {
   if a != b {
     return Err(DomainError.into());