From c16458b728396970fd5727566ed43d866dd04ee5 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Fri, 3 Apr 2020 11:00:24 +0200 Subject: Avoid using database views in federation code --- server/src/apub/post.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'server/src/apub/post.rs') diff --git a/server/src/apub/post.rs b/server/src/apub/post.rs index a9b50013..94f3b00e 100644 --- a/server/src/apub/post.rs +++ b/server/src/apub/post.rs @@ -1,4 +1,5 @@ use crate::apub::{create_apub_response, make_apub_endpoint, EndpointType}; +use crate::db::post::Post; use crate::db::post_view::PostView; use crate::{convert_datetime, naive_now}; use activitystreams::{object::properties::ObjectProperties, object::Page}; @@ -20,12 +21,11 @@ pub async fn get_apub_post( db: web::Data>>, ) -> Result, Error> { let id = info.post_id.parse::()?; - // TODO: shows error: missing field `user_name` - let post = PostView::read(&&db.get()?, id, None)?; + let post = Post::read(&&db.get()?, id)?; Ok(create_apub_response(&post.as_page()?)) } -impl PostView { +impl Post { pub fn as_page(&self) -> Result { let base_url = make_apub_endpoint(EndpointType::Post, &self.id.to_string()); let mut page = Page::default(); @@ -59,7 +59,9 @@ impl PostView { Ok(page) } +} +impl PostView { pub fn from_page(page: &Page) -> Result { let oprops = &page.object_props; Ok(PostView { -- cgit v1.2.3