]> Untitled Git - lemmy.git/blobdiff - crates/apub/src/objects/person.rs
Making public key required. Fixes #1934
[lemmy.git] / crates / apub / src / objects / person.rs
index e3fcdd2eeb010f308220ae6002ab0d90d1d6637b..8c0587ddb54b50c1a632350a7a0e03049b5dbf9c 100644 (file)
@@ -11,7 +11,6 @@ use crate::{
     Source,
   },
 };
-use activitystreams::object::kind::ImageType;
 use chrono::NaiveDateTime;
 use lemmy_api_common::blocking;
 use lemmy_apub_lib::{
@@ -89,14 +88,8 @@ impl ApubObject for ApubPerson {
       content: bio,
       media_type: MediaTypeMarkdown::Markdown,
     });
-    let icon = self.avatar.clone().map(|url| ImageObject {
-      kind: ImageType::Image,
-      url: url.into(),
-    });
-    let image = self.banner.clone().map(|url| ImageObject {
-      kind: ImageType::Image,
-      url: url.into(),
-    });
+    let icon = self.avatar.clone().map(ImageObject::new);
+    let image = self.banner.clone().map(ImageObject::new);
 
     let person = Person {
       kind,
@@ -165,7 +158,7 @@ impl ApubObject for ApubPerson {
       admin: Some(false),
       bot_account: Some(person.kind == UserTypes::Service),
       private_key: None,
-      public_key: Some(Some(person.public_key.public_key_pem)),
+      public_key: person.public_key.public_key_pem,
       last_refreshed_at: Some(naive_now()),
       inbox_url: Some(person.inbox.into()),
       shared_inbox_url: Some(person.endpoints.shared_inbox.map(|s| s.into())),
@@ -184,7 +177,7 @@ impl ActorType for ApubPerson {
     self.actor_id.to_owned().into()
   }
 
-  fn public_key(&self) -> Option<String> {
+  fn public_key(&self) -> String {
     self.public_key.to_owned()
   }
 
@@ -229,7 +222,6 @@ pub(crate) mod tests {
     let person = parse_lemmy_person(&context).await;
 
     assert_eq!(person.display_name, Some("Jean-Luc Picard".to_string()));
-    assert!(person.public_key.is_some());
     assert!(!person.local);
     assert_eq!(person.bio.as_ref().unwrap().len(), 39);
 
@@ -252,7 +244,6 @@ pub(crate) mod tests {
 
     assert_eq!(person.actor_id, url.into());
     assert_eq!(person.name, "lanodan");
-    assert!(person.public_key.is_some());
     assert!(!person.local);
     assert_eq!(request_counter, 0);
     assert_eq!(person.bio.as_ref().unwrap().len(), 873);