1 use crate::apub::make_apub_endpoint;
2 use crate::db::post::Post;
3 use crate::to_datetime_utc;
4 use activitypub::{context, object::Page};
7 pub fn as_page(&self) -> Page {
8 let base_url = make_apub_endpoint("post", self.id);
9 let mut page = Page::default();
11 page.object_props.set_context_object(context()).ok();
12 page.object_props.set_id_string(base_url).ok();
13 page.object_props.set_name_string(self.name.to_owned()).ok();
15 if let Some(body) = &self.body {
16 page.object_props.set_content_string(body.to_owned()).ok();
19 if let Some(url) = &self.url {
20 page.object_props.set_url_string(url.to_owned()).ok();
23 //page.object_props.set_attributed_to_string
27 .set_published_utctime(to_datetime_utc(self.published))
29 if let Some(updated) = self.updated {
32 .set_updated_utctime(to_datetime_utc(updated))