X-Git-Url: http://these/git/?a=blobdiff_plain;f=server%2Fsrc%2Fapub%2Fcommunity.rs;h=8b522b447a6dcd6bd20e66a84c96f74fff27d0c9;hb=0cc49e6ca985f06792712c00d9be50b0d7c7eacd;hp=3773b8fb4d5ab59faeb47961fa84ddfb75e0e4ce;hpb=9b7be1afb6390f2fbee4ce99ed3b218f4d2e7547;p=lemmy.git diff --git a/server/src/apub/community.rs b/server/src/apub/community.rs index 3773b8fb..8b522b44 100644 --- a/server/src/apub/community.rs +++ b/server/src/apub/community.rs @@ -34,7 +34,7 @@ use activitystreams::{ base::{AnyBase, BaseExt}, collection::{OrderedCollection, UnorderedCollection}, context, - object::Tombstone, + object::{Image, Tombstone}, prelude::*, public, }; @@ -361,6 +361,32 @@ impl FromApub for CommunityForm { check_slurs(&title)?; check_slurs_opt(&description)?; + let icon = match group.icon() { + Some(any_image) => Some( + Image::from_any_base(any_image.as_one().unwrap().clone()) + .unwrap() + .unwrap() + .url() + .unwrap() + .as_single_xsd_any_uri() + .map(|u| u.to_string()), + ), + None => None, + }; + + let banner = match group.image() { + Some(any_image) => Some( + Image::from_any_base(any_image.as_one().unwrap().clone()) + .unwrap() + .unwrap() + .url() + .unwrap() + .as_single_xsd_any_uri() + .map(|u| u.to_string()), + ), + None => None, + }; + Ok(CommunityForm { name, title, @@ -377,6 +403,8 @@ impl FromApub for CommunityForm { private_key: None, public_key: Some(group.ext_two.to_owned().public_key.public_key_pem), last_refreshed_at: Some(naive_now()), + icon, + banner, }) } }