diff --git a/plume-models/src/posts.rs b/plume-models/src/posts.rs index 16014e62..7ed756f1 100644 --- a/plume-models/src/posts.rs +++ b/plume-models/src/posts.rs @@ -45,6 +45,7 @@ pub struct NewPost { pub content: SafeString, pub published: bool, pub license: String, + pub creation_date: Option, pub ap_url: String } @@ -248,7 +249,8 @@ impl FromActivity for Post { published: true, license: String::from("CC-0"), // TODO // FIXME: This is wrong: with this logic, we may use the display URL as the AP ID. We need two different fields - ap_url: article.object_props.url_string().unwrap_or(article.object_props.id_string().expect("Post::from_activity: url + id error")) + ap_url: article.object_props.url_string().unwrap_or(article.object_props.id_string().expect("Post::from_activity: url + id error")), + creation_date: Some(article.object_props.published_utctime().expect("Post::from_activity: published error").naive_utc()) }); for author in authors.into_iter() { diff --git a/src/routes/posts.rs b/src/routes/posts.rs index 43bff378..24e44706 100644 --- a/src/routes/posts.rs +++ b/src/routes/posts.rs @@ -142,7 +142,8 @@ fn create(blog_name: String, data: LenientForm, user: User, conn: D content: SafeString::new(&content), published: true, license: form.license.to_string(), - ap_url: "".to_string() + ap_url: "".to_string(), + creation_date: None }); let post = post.update_ap_url(&*conn); PostAuthor::insert(&*conn, NewPostAuthor {